このコードは実際には実行できますが、クラッシュします
PHP コード
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->class Foo
{
const foo='bar';
public $foo='foobar';
const bar='foo';
static $bar='foobar';
}
var_dump(foo::$bar); // static property
var_dump(foo::bar); // class constant
$bar = new Foo();
var_dump($bar->foo); // object property
var_dump(bar::foo); // class constant
ログイン後にコピー
非常に奇妙に感じられ、非常に混乱しています。なぜ出力したのでしょうか? ?
-----解決策--------------------------------なぜでしょうか。
------解決策---------なぜダメなのか。
------解決策-----var_dump(bar::foo); を除くclass constant は、bar クラスが未定義であるように表示され、残りは正常です。どう思いますか?
------解決策---------とにかく実行されています
------解決策------1. 変数名は大文字と小文字が区別されます
1
2 $abc = 'abcd';
3 echo $abc; //出力 'abcd'
4 echo $aBc; //出力なし
5 echo $ABC; //出力なし
2. 定数名はデフォルトで大文字と小文字が区別され、通常は大文字の
で記述されます。このデフォルトの設定項目を変更する方法を見つけました。解決策)
3. 関数名、メソッド名、クラス名は大文字と小文字が区別されません
が、定義時と同じ名前を使用することをお勧めします。
1
2 function show(){
3 echo "Hello World";
4 }
5 show(); //Hello World を出力する場合の推奨記述方法
6 SHOW() //Hello World を出力する
class cls{
static function func(); {
echo "hello world";
}
}
8 Cls::FunC() //hello world を出力
4. マジック定数は大文字と小文字を区別しません。大文字の使用が推奨されます。
次のものが含まれます: __LINE__、__FILE__、__DIR__、__FUNCTION__、__CLASS__、__METHOD__、__NAMESPACE__。
5. NULL、TRUE、FALSE は大文字と小文字を区別しません