亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

PHP マジック変數(shù)

PHP は、実行するスクリプトに多數(shù)の事前定義された定數(shù)を提供します。

ただし、多くの定數(shù)はさまざまな拡張ライブラリによって定義されており、これらの拡張ライブラリがロードされるとき、動(dòng)的ロード後、またはコンパイル中に組み込まれた場(chǎng)合にのみ表示されます。

コード內(nèi)の位置に応じて値が変化する魔法の定數(shù)が 8 つあります。

たとえば、__LINE__ の値は、スクリプト內(nèi)のどの行にあるかによって異なります。これらの特別な定數(shù)は大文字と小文字が區(qū)別されず、次のとおりです:

__LINE__

ファイル內(nèi)の現(xiàn)在の行番號(hào)。

例:

<?php
echo 'This is the " ' . __LINE__ . ' " line';
?>

上記の例の出力結(jié)果は次のようになります:

これは「2」行


__FILE__

ファイルのフルパスとファイル名。インクルードされたファイル內(nèi)で使用された場(chǎng)合、インクルードされたファイルの名前を返します。

PHP 4.0.2 以降、__FILE__ には常に絶対パス (シンボリック リンクの場(chǎng)合は解決された絶対パス) が含まれますが、以前のバージョンには相対パスが含まれる場(chǎng)合がありました。

例:

<?php
echo echo 'ファイルは " ' . __FILE__ . ' " ';
?>

上記の例の出力結(jié)果は次のようになります。ファイルは「 E:wampwwwtestindex .php 」にあります

//ファイルの絶対パスです


__DIR__

ファイルが配置されているディレクトリです。インクルードされたファイル內(nèi)で使用された場(chǎng)合、インクルードされたファイルが配置されているディレクトリを返します。

dirname(__FILE__) と同等です。ルート ディレクトリでない限り、ディレクトリ名には末尾のスラッシュは含まれません。 (PHP 5.3.0 の新機(jī)能)

例:

<?php

echo echo 'ファイルは " ' . __DIR__ . ' " ' にあります

?>



上記の例の出力結(jié)果

このファイルは "E:wampwwwtest" にあります


__FUNCTION__

現(xiàn)在のコードが配置されている関數(shù)名 (PHP 4.3.0 の新機(jī)能)。 PHP 5 以降、この定數(shù)は定義されたとおりの関數(shù)名を返します (大文字と小文字は區(qū)別されます)。 PHP 4 では、この値は常に小文字です。

例:

<?php
function test()
{ 
echo '函數(shù)名為:' . __FUNCTION__ ; 
} 
test(); 
?>

上記の例の出力結(jié)果は次のとおりです:

関數(shù)名: test


__CLASS__

現(xiàn)在のクラスの名前 (PHP 4.3.0 で新しく追加されました)。 PHP 5 以降、この定數(shù)は定義されたときのクラスの名前を返します (大文字と小文字は區(qū)別されます)。

PHP 4 では、この値は常に小文字です。クラス名には、それが宣言されているスコープが含まれます (例: FooBar)。 PHP 5.4 以降、__CLASS__ はトレイトに対しても機(jī)能することに注意してください。特性メソッド內(nèi)で使用される場(chǎng)合、__CLASS__ は特性メソッドを呼び出すクラスの名前になります。

<?php
class test 
{ 
   function print() 
   { 
    echo '類(lèi)名為:' . __CLASS__ . "<br>"; 
    echo '函數(shù)名為:' . __FUNCTION__ ; 
   } 
} 
$t = new test(); 
$t-> print(); 
?>

上記の例の出力結(jié)果は次のとおりです:

クラス名:test

関數(shù)名:print

class(クラス)についてはPHPオブジェクト指向で後ほど詳しく紹介します。


__TRAIT__

トレイト名 (PHP 5.4.0 の新機(jī)能)。 PHP 5.4.0 以降、PHP はトレイトと呼ばれるコード再利用の方法を?qū)g裝しています。

トレイト名には、それが宣言されるスコープが含まれます (例: FooBar)。

基本クラスから継承されたメンバーは、挿入された SayWorld トレイトの MyHelloWorld メソッドによってオーバーライドされます。その動(dòng)作は、MyHelloWorld クラスで定義されたメソッドと一致しています。 優(yōu)先順位としては、現(xiàn)在のクラスのメソッドが特性メソッドをオーバーライドし、特性メソッドが基本クラスのメソッドをオーバーライドします。

<?php
class Base 
{ 
    public function sayHello() 
    { 
    echo 'Hello'; 
    } 
} 
trait SayWorld
{ 
    public function sayHello() 
    { 
    parent::sayHello(); //parent:: 用于調(diào)用父類(lèi)的方法
    echo 'World!'; 
        } 
} 
class MyHelloWorld extends Base 
{               //extends 用來(lái)繼承一個(gè)類(lèi)
use SayWorld; 
} 
$o = new MyHelloWorld(); //使用 new 運(yùn)算符來(lái)實(shí)例化該類(lèi)的對(duì)象
$o->sayHello(); 
?>

上記の例の出力結(jié)果は次のとおりです:

Hello World!


__METHOD__

クラスのメソッド名 (PHP 5.0.0 で新しく追加されました)。定義されたとおりのメソッド名を返します (大文字と小文字が區(qū)別されます)。

例:

<?php
function test() 
{ 
echo '函數(shù)名為:' . __METHOD__ ; 
} 
test(); 
?>

上記の例の出力結(jié)果は次のとおりです:

関數(shù)名: test


__NAMESPACE__

現(xiàn)在の名前空間の名前 (大文字と小文字が區(qū)別されます)。この定數(shù)はコンパイル時(shí)に定義されます (PHP 5.3.0 の新機(jī)能)。

例:

<?php
namespace MyProject;
echo '名前空間は: "', __NAMESPACE__, '"' // 出力 "MyProject"
?>

上記の例の出力結(jié)果は次のようになります:

名前空間は: "MyProject"


學(xué)び続ける
||
<?php function test() { echo '函數(shù)名為:' . __FUNCTION__ ; } test(); ?>
提出するリセットコード