PHPエイリアシング/名前空間のインポート
はじめに
名前空間の重要な機能は、エイリアスを使用して外部の完全修飾名を参照する機能、またはインポートする機能です。 PHP名前空間は、次の種類のエイリアシングまたはインポートをサポートします-
- クラス名のエイリアシング
- インターフェース名のエイリアシング
- 名前空間名のエイリアス
- 関数名と定数名のエイリアスまたはインポート。
PHPでは、エイリアシングはuse演算子を使用して実行されます。
演算子を使用
例
#test1.php
<?php
namespace mynamespace;
function sayhello(){
echo "Hello from mynamespace\n";
}
sayhello();
namespace mynewspace;
function sayhello(){
echo "Hello from my new space\n";
}
sayhello();
use \mynewspace\sayhello as hello;
?> 出力
Hello from mynamespace Hello from my new space
複数の使用ステートメントの組み合わせ
例
<?php
namespace mynamespace;
class myclass{
function test() { echo "myclass in mynamespace\n"; }
}
class testclass{
static function test() { echo "testclass in mynamespace\n"; }
}
use \mynamespace\myclass as myclass, \mynamespace\testclass;
$a=new myclass();
$a->test();
$b=new \mynamespace\testclass();
$b->test();
?> 出力
myclass in mynamespace testclass in mynamespace
名前のインポートと動的
インポートされたクラスの名前を動的に置き換える
例
<?php
namespace mynamespace;
class myclass{
function test() { echo "myclass in mynamespace\n"; }
}
class testclass{
static function test() { echo "testclass in mynamespace\n"; }
}
use \mynamespace\myclass as myclass;
$a=new myclass;
$b='myclass';
$c=new $b;
?> useキーワードは、最も外側またはグローバルスコープで宣言するか、名前空間宣言の内側で宣言する必要があります。インポートのプロセスは、実行時ではなくコンパイル時に行われます。したがって、ブロックスコープを設定することはできません。以下の使用は違法になります
例
<?php
function myfunction(){
use myspace\myclass;
//
//
}
?> インクルードされたファイルは、ファイルごとであるため、親ファイルのインポートルールを継承しません
-
PHP log()関数
定義と使用法 ログ ()関数は、数値の自然対数を計算します。 対数は、対数の逆数です。 10 2の場合 =100、それはlog 10を意味します 100=2。自然対数はオイラー数eで計算されます ベースとして。 PHPでは、事前定義された定数 M_E 2.7182818284590452354であるeの値を与える たとえば、exp(4.60517018599)=100(e 4.60517018599 とも同じです) =100)。したがって、log e 100 =4.60517018599 PHPでは、 log e log()で表されます 関数 構文 log ( f
-
PHP lcg_value()関数
定義と使用法 lcg_value() 関数は0から1までの乱数を生成します。 LCGは、線形合同法の略です。このジェネレーターは、不連続な区分的線形方程式で計算された一連の疑似ランダム化された数値を生成します。これは、最も古い疑似乱数生成アルゴリズムの1つです 構文 lcg_value ( void ) : float パラメータ 戻り値 PHP lcg_value()関数は、0.0から1.0までの疑似ランダム浮動小数点値を返します。 PHPバージョン この関数は、PHPバージョン4.x、PHP 5.x、およびPHP7.xで使用できます。 例 以下は、lcg_value()関数の使