PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHP名前空間キーワードと__NAMESPACE__定数


はじめに

PHPでは、namespaceキーワードを使用して名前空間を定義します。また、現在の名前空間内の特定の要素へのアクセスを要求するための演算子としても使用されます。 __NAMESPACE __ 定数は現在の名前空間の名前を返します

__NAMESPACE定数

名前付き名前空間から、__ NAMESPACE__はその名前を返し、グローバルで名前のない名前空間の場合は、空の文字列を返します

#test1.php
<?php
echo "name of global namespace : " . __NAMESPACE__ . "\n";
?>

出力

空の文字列が返されます

name of global namespace :

名前空間の場合、その名前が返されます

<?php
namespace myspace;
echo "name of current namespace : " . __NAMESPACE__ . "\n";
?>

出力

name of current namespace : myspace

動的な名前の構築

__NAMESPACE__は、名前を動的に作成するのに役立ちます

<?php
namespace MyProject;
class myclass {
   function hello(){echo "hello world";}
};
$cls="myclass";
function get($cls){
   $a = __NAMESPACE__ . '\\' . $cls;
   return new $a;
}
get($cls)->hello();
?>
を返します

出力

上記のコードは次の出力を示しています

hello World

名前空間演算子

namespaceキーワードは、 selfと同等のものとして使用できます。 現在の名前空間またはサブ名前空間から要素を明示的に要求するクラスの演算子。

<?php
namespace Myspace;
class myclass {
   function hello(){echo "hello Myspace";}
}
$a = new namespace\myclass();
$a->hello();
?>

出力

上記のコードは次の出力を示しています

hello Myspace

グローバル名前空間から、名前空間演算子は、グローバル名前空間である現在の名前空間の関数/クラスを参照します

<?php
class myclass {
   function hello(){echo "hello global space";}
}
$a = new namespace\myclass();
$a->hello();
?>

出力

上記のコードは次の出力を示しています

hello global space

  1. PHPのFILTER_SANITIZE_NUMBER_FLOAT定数

    FILTER_SANITIZE_NUMBER_FLOAT定数は、浮動小数点数からすべての不正な文字を削除します。 フラグ FILTER_FLAG_ALLOW_FRACTION −分数セパレータを許可します FILTER_FLAG_ALLOW_THOUSAND −千単位の区切り文字を許可 FILTER_FLAG_ALLOW_SCIENTIFIC −科学的記数法を許可します 戻る FILTER_SANITIZE_NUMBER_FLOAT定数は何も返しません。 例 以下は、FILTER_FLAG_ALLOW_FRACTIONフラグを使用する例です。 <?p

  2. PHPのFILTER_VALIDATE_FLOAT定数

    FILTER_VALIDATE_FLOAT定数は、値を浮動小数点数として検証します。 戻る FILTER_VALIDATE_FLOAT定数は何も返しません。 例 <?php    $var = 291.9;    var_dump(filter_var($var, FILTER_VALIDATE_FLOAT)); ?> 出力 以下は出力です。 float(291.9)