ホームページ >バックエンド開発 >PHPチュートリアル >phpマニュアル2015-03-19版、php2015-03-19_PHPチュートリアルを読んだ後のメモ
クラスとオブジェクト -> 基本概念:
1、############### # #############
::class
PHP 5.5 以降、キーワード class はクラス名の解決にも使用できます。 ClassName::class を使用すると、クラス ClassName の完全修飾名を含む文字列を取得できます。これは、名前空間を使用するクラスに特に役立ちます。
例 #7 ドキュメントに記載されているクラス名の解析は次のとおりです:
namespace NS {
class ClassName {
}
echo ClassName::class;
}
?>
上記のルーチンは次のように出力します。 NSClassName
2,###############################
念のために言っておきますが、前述のとおり、クラス名を検証する正しい方法です。ドキュメントの内容は次のとおりです:
$valid = preg_match('/^[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*$/', $className);
3,# ## ########################
属性内の変数は初期化できますが、初期化された値は定数である必要があります。ここでの定数は PHP を指します。スクリプトの値はコンパイル段階で取得でき、ランタイム情報に依存せずに評価できます。
PHP 5.3.0 では、変数を含まないヒアドキュメントの宣言も可能です。変数を含めるのは間違っています。
new static() は継承関係に従います、new はサブクラスです
new self() は継承されません、new は単語 self が配置されているクラスです
###
PHP 5.6 以降では、次のことができます最後に、次のように数式を使用して定数を設定します:
、名前空間では、クラス名と同じ名前のメソッドはコンストラクターではなくなります。この変更は、名前空間にないクラスには影響しません。
namespace Foo;
class Bar {
Public $a;
public function Bar() {
$this->a = 'ここまで';
}
public function getA(){
Return $ this->a;
}
}
$bar = new Bar();
echo $bar->getA(); // 名前空間を削除してここに出力します;
###
PHP 5.3.0 以降、値がキーワード (self、parent、static など) にできない変数を通じてクラスを参照できるようになりました。
組織の場合:
自分、親、静的
public (パブリック)、protected (保護された)、または private (プライベート)
http://www.bkjia.com/PHPjc/1009709.html
www.bkjia.com
true
技術記事