PHP定数
はじめに
定数は、$ x=10や$name="XYZ"などの代入式で文字通り表されます。ここで、10とXYZは、変数に割り当てられた数値定数と文字列定数です。 PHPでは、define()関数を使用してユーザー定義の識別子を使用して定数を定義することができます
構文
define ( string $name , mixed $value [, bool $case_insensitive = FALSE ] ) : bool
パラメータ
| Sr.No | |
|---|---|
| 1 | 名前 定数の名前。 |
| 2 | 値 定数の値は、任意のスカラー値(整数、浮動小数点、文字列など)または配列です。 |
| 3 | case_insensitive デフォルトでは、定数識別子では大文字と小文字が区別されます。このパラメーターがtrueに設定されている場合、nameとNAMEは同様に扱われます |
戻り値
定義が成功した場合、関数はTRUEを返し、そうでない場合はFALSEが返されます
例
次の例は、define()関数を使用して定数を定義する方法を示しています
<?php
define("maxmarks",300);
define("pi", 3.142);
define("subjects",["phy", "che", "maths"]);
?> マジック定数
PHPには多数の事前定義された定数がありますが、対応する拡張機能がインストールされている場合、それらのほとんどは有効になります。ただし、次の定数(マジック定数と呼ばれます)は常に使用できます
| 名前 | 説明 |
| __ LINE __ | ファイルの現在の行番号。 |
| __ FILE __ | ファイルのフルパスとファイル名 |
| __ DIR __ | ファイルのディレクトリ。 |
| __ FUNCTION__ | 関数名、または無名関数の場合は{closure}。 |
| __ CLASS __ | クラス名。クラス名には、宣言された名前空間が含まれます(Foo \ Barなど)。 PHP 5.4以降、__CLASS__はトレイトでも機能することに注意してください。トレイトメソッドで使用される場合、__CLASS__はトレイトが使用されるクラスの名前です。 |
| __ TRAIT __ | 特性名。トレイト名には、宣言された名前空間が含まれます(例:Foo \ Bar)。 |
| __ METHOD __ | クラスメソッド名。 |
| __ NAMESPACE __ | 現在の名前空間の名前。 |
次の例は、いくつかの魔法の定数を示しています
例
<?php
echo "Line no: " . __LINE__ . "\n";
echo "file name : " . __FILE__ . "\n";
echo "directory name: " . __DIR__ . "\n";
function myfunction(){
echo "function name: " . __FUNCTION__ . "\n";
}
class myclass{
public function __construct() {
echo __CLASS__ . "\n";
}
public function mymethod(){
echo __METHOD__;
}
}
$obj=new myclass();
$obj->mymethod();
?> 出力
以下の結果が表示されます
Line no: 2 file name : C:\xampp\php\testscript.php directory name: C:\xampp\php myclass myclass::mymethod
-
PHPでドメイン名を検証する方法は?
ドメイン名は、PHPで以下のコードを使用して検証できます- 例 <?php function is_valid_domain_name($domain_name) { return (preg_match("/^([a-zd](-*[a-zd])*)(.([a-zd](-*[a-zd])*))*$/i", $domain_name) //valid characters check && preg_match("/^.{1,253}$/", $domain_name) //over
-
PHPのzip_entry_name()関数
zip_entry_name()関数は、zipアーカイブファイルの名前を返します。 構文 zip_entry_name(zip_entry) パラメータ zip_entry − zip_open()で開いたzipファイルをここに記載します。 戻る zip_entry_name()関数は、zipアーカイブファイルの名前を返します。 以下は例です。 zipアーカイブ「new.zip」に5つのファイルがあるとします。 例 <?php $zip = zip_open("new.zip"); if ($zip)