ユーザ用ツール

サイト用ツール


サイドバー



最近の更新



Tag Cloud

タグ#
6
10
1
3
1
2
17
7
1
1
6
9
4
1
2
181
1
4
2
7
13
5
1
25
2
3
1
6
1
1
33
1
3
3
1
1
1
1
1
1
13
45
7
9
10
5
10
3
2
2
8
2
2
6
3
1
1
4
7
4
2
2
2
1
7
2
4
1
2
23
2
12
2
3
1
1
2
2
1
1
1
4
2
2
4
2
2
1
1
2
1
1
1
2
1
26
2
1
2
2
2
1
1
2
3
12
4
7
1
1
2
9
1
3
1
1
7
1
1
1
1
1
8
1
4
2
1
1
1
3
3
4
1
2
1
1
7
3
1
10
1
1
4
1
2
1
2
7
2
1
3
1
1
3
1
2
1
2
2
2
1
2
3
1
1
3
2
1
3
1
1
3
2
1
1
7
1
3
3
1
1
1
1
5
1
27
2
1
2
1
2
2
3
1
1
1
2
1
2
1
1
1
1
1
1
1
2
2
2
1

11_php:03_magic_constants

03 自動で定義済みの定数

自動的に定義される定数(マジカル定数)が 8 つあります。

名前 説明
__LINE__
ファイル上の現在の行番号。
__FILE__
ファイルのフルパスとファイル名 (シンボリックリンクを解決した後のもの)。
インクルードされるファイルの中で使用された場合、インクルードされるファイルの名前が返されます。
__DIR__
そのファイルの存在するディレクトリ。
include の中で使用すると、 インクルードされるファイルの存在するディレクトリを返します。
つまり、これは dirname(FILE) と同じ意味です。
ルートディレクトリである場合を除き、ディレクトリ名の末尾にスラッシュはつきません。
__FUNCTION__
関数名。
__CLASS__
クラス名。
クラス名には、そのクラスが宣言されている名前空間も含みます (例 Foo\Bar)。 PHP 5.4 以降では、CLASS がトレイトでも使えることに注意しましょう。トレイトのメソッド内で CLASS を使うと、そのトレイトを use しているクラスの名前を返します。
__TRAIT__
トレイト名 トレイト名には、宣言された名前空間も含みます (例 Foo\Bar)。
__METHOD__
クラスのメソッド名。
__NAMESPACE__
現在の名前空間の名前

自動で定義済みの定数

例1.

<?php //test_01.php

echo "__LINE__ -> ".__LINE__."\n";
echo "__FILE__ -> ".__FILE__."\n";
echo "__DIR__ -> ".__DIR__."\n";
echo test_function();

function test_function(){
	$res = '';
	$res .= "__FUNCTION__ -> ".__FUNCTION__."\n";
	return $res;
}
?>
$ php test_01.php 
__LINE__ -> 3
__FILE__ -> /home/matsui/test.php
__DIR__ -> /home/matsui
__FUNCTION__ -> test_function

例2.

<?php //test_02.php

namespace My\Space;

$class = new TestClass;

$class->test_mess_01();
$class->test_mess_02();
$class->test_mess_03();

class TestClass {
 
  function test_mess_01() {
	echo "__CLASS__ -> ".__CLASS__."\n";
  }
  function test_mess_02() {
	echo "__METHOD__ -> ".__METHOD__."\n";
  }
  function test_mess_03() {
	echo "__NAMESPACE__ -> ".__NAMESPACE__."\n";
  }
}
$ php test_02.php 
__CLASS__ -> My\Space\TestClass
__METHOD__ -> My\Space\TestClass::test_mess_02
__NAMESPACE__ -> My\Space
11_php/03_magic_constants.txt · 最終更新: 2014/12/15 16:00 by matsui

Yesterday:202 Today:138 Total:01479