クラスのメソッド名として使用できますか?
これは関数のようです:httpdie
://www.php.net/manual/en/ref.misc.phpしかし、や
のようないくつかの言語構造もリストされているのがわかりますexit
。
<?php
class Test {
function defined() {
return "Yes you can";
}
}
$x = new Test();
echo $x->defined();
はい、できます。いいえ、すべきではありません。組み込み関数と同じ名前を使用することは決して良い考えではありません。この単語defined
はPHPで確立された意味を持っており、特定のコンテキストでクラスがこの単語をどのように使用(または悪用)しているかを理解するのに苦労する必要はありません。
できるとき...できるとき、できないとき...あなたは知っているでしょう:)
http://php.net/manual/en/reserved.phpで予約語のリストを参照し、それらを避けてください。メソッドに不正な名前を付けようとすると、優れたPHPIDEは警告を発します。
別の問題があります。$ this-> Method()を忘れて、クラスでMethod()を使用するだけの場合は、関数として定義されているとおりに機能します。これは、異常で見つけにくいバグにつながります。