ユーザ用ツール

サイト用ツール


サイドバー



最近の更新



Tag Cloud

タグ#
8
10
1
3
1
2
17
7
1
1
4
13
4
1
2
279
1
8
2
7
17
5
1
30
3
3
1
6
1
1
44
1
3
3
1
1
1
1
1
1
32
46
7
9
10
7
10
3
3
2
9
2
2
6
6
1
1
5
10
4
3
3
2
1
8
2
4
1
6
30
2
12
2
3
1
1
2
3
1
1
2
4
3
2
4
2
2
1
1
2
1
2
1
2
1
27
2
1
2
2
2
1
1
2
3
15
5
8
1
1
2
14
2
6
1
2
12
1
2
1
1
4
10
1
6
2
1
6
1
3
3
11
1
2
1
1
10
3
1
14
1
1
4
1
2
1
2
9
2
2
3
1
1
3
1
2
1
2
2
2
1
2
3
1
4
3
4
1
3
1
3
3
2
1
1
30
1
3
3
1
1
1
3
5
1
35
2
3
2
1
2
2
3
1
1
1
4
1
2
1
3
1
1
1
2
5
2
5
2
1
1
1
5
3
2
4
2
1
2
1
19
1
1
3
4
1
1
2
1
1
2
1
1
1
1
2
1
1
1
1
1
9
6
1
3
1
1
3
1
1
1
1
2
1
1
1
1
1
1
2
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 · 最終更新: 2021/07/15 14:12 by matsui

Yesterday:1310 Today:146 Total:145820