質問

PHP関数名がアンダースコアで始まるとはどういう意味ですか?

例: __ construct()

コンストラクトの意味は知っていますが、関数がアンダースコアまたはダブルアンダースコアで始まる他の場所を見たことがありますが、その意味はわかりません。

役に立ちましたか?

解決

これは、PHPが暗黙的に呼び出すことを意味します。

「マジックメソッド」と呼ばれます

また、1つではなく2つのアンダースコアです。

詳細: PHPマジックメソッド

他のヒント

PHPでは、2つのアンダースコアで始まる関数は通常特別な意味を持ちます。マニュアルから:

  

PHPはすべての関数名を予約します   魔法のように__で始まる。それは   使用しないことをお勧めします   PHPで__を含む関数名   文書化された魔法が欲しい   機能。

たとえば、__ construct()はオブジェクトの初期化中に自動的に呼び出される特別なメソッドです。

Se: http://php.net/manual/en/ language.oop5.magic.php

一般的な命名" coding style"もあります。最初のアンダースコアを1つ使用して、メソッドまたはプロパティがプライベート/保護されていることを示します。かなり普及していると思います。

他の回答で述べたように、二重のアンダースコアは「魔法」に使用されます。メソッド。ユーザーがメソッド名に2つのアンダースコアを意図的に使用しないため、衝突のリスクはほとんどありません。単一のアンダースコアではない理由は、単一のアンダースコアは、OOプライベートネスを強制するために「private」キーワードが登場する前の、悪い(der)昔のプライベートメソッドの一般的な慣習だったからだと思います。

codeigniterでは、アンダースコアを使用してコントローラーのメソッドを開始すると、ルーターはURLからアクセスできないようにします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top