質問
PHP関数名がアンダースコアで始まるとはどういう意味ですか?
例: __ construct()
コンストラクトの意味は知っていますが、関数がアンダースコアまたはダブルアンダースコアで始まる他の場所を見たことがありますが、その意味はわかりません。
解決
他のヒント
PHPでは、2つのアンダースコアで始まる関数は通常特別な意味を持ちます。マニュアルから:
PHPはすべての関数名を予約します 魔法のように__で始まる。それは 使用しないことをお勧めします PHPで__を含む関数名 文書化された魔法が欲しい 機能。
たとえば、__ construct()はオブジェクトの初期化中に自動的に呼び出される特別なメソッドです。
一般的な命名" coding style"もあります。最初のアンダースコアを1つ使用して、メソッドまたはプロパティがプライベート/保護されていることを示します。かなり普及していると思います。
他の回答で述べたように、二重のアンダースコアは「魔法」に使用されます。メソッド。ユーザーがメソッド名に2つのアンダースコアを意図的に使用しないため、衝突のリスクはほとんどありません。単一のアンダースコアではない理由は、単一のアンダースコアは、OOプライベートネスを強制するために「private」キーワードが登場する前の、悪い(der)昔のプライベートメソッドの一般的な慣習だったからだと思います。
codeigniterでは、アンダースコアを使用してコントローラーのメソッドを開始すると、ルーターはURLからアクセスできないようにします。
所属していません StackOverflow