const: 定数を定義します。通常、定義後に変更することはできません。
static: 静的、クラス名にアクセスできます。
public: グローバルを意味し、内部のサブクラスからアクセスできます。クラスの外; private
: プライベートを意味し、このクラス内でのみ使用できます;
protected: 保護されていることを意味し、このクラス、サブクラス、または親クラスによってのみアクセスできます;
定義された定数は次のとおりです。 「定義」「定義」も利用可能です。
定数を定義する場合の const と define の違いは次のとおりです:
1. const はクラス メンバー変数に使用され、一度定義すると変更できません。define はグローバル定数に使用され、変更できません。クラスのメンバー変数に使用されます。定義、
const はクラス内で使用できますが、define は使用できません。
2. const で定義された定数は大文字と小文字が区別され、define は 3 番目のパラメータ (大文字と小文字を区別しないことを示す TRUE) によって大文字と小文字を区別するかどうかを指定できます。
実行時に定数を定義します。 define('TXE',100,TRUE);
3. const は条件文で定数を定義できませんが、define 関数は定義できます。 if($a>10){define('LE','hello');}
class Demo { //定义常量【自php5.3后】,一个常量是属于一个类的,而不是某个对象的 //不可改变的 const EVENT = 'const'; static $event = 'static'; public $eventPublic = 'public'; private $eventPrivate = 'private'; protected $eventProtected = 'protected'; public function test() { //使用self访问类中定义的常量 echo self::EVENT.'<br/>'; //同常量一样使用self echo self::$event.'<br/>'; //公共变量,受保护的变量,私密的变量通过$this访问 echo $this->eventPublic.'<br/>'; //受保护的和私密的变量只能在当前类中访问 echo $this->eventPrivate.'<br/>'; echo $this->eventProtected.'<br/>'; } //魔术方法 public function __get($name) { return $this->$name; } } class One extends Demo { public function testOne() { //可继承父级使用parent访问 echo parent::EVENT.'<br/>'; echo parent::$event.'<br/>'; //也可通过父类直接访问 echo Demo::EVENT.'<br/>'; echo Demo::$event.'<br/>'; //继承父级中的成员变量后,只能访问公共变量 //私有变量和受保护的变量不能在子类中访问 echo $this->eventPublic; } } $obj_1 = new Demo; $obj_1->test(); echo "=================<br/>"; $obj = new One; $obj->testOne();実行結果:
#
const static public private protected ================= const static const static public
以上がPHPにおけるconst、static、public、private、protectedの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。