※ このページの解説は、PHP5を使用することを前提としています。PHP4以前では、クラスの実装が大きく異なっているため注意が必要です。
class MyClass
{
// プロパティ
public $property = 'property';
// 定数
const CONSTANT = 'constant'; // ※ 定数の名前には「$」は付かない
// メソッド
function Method()
{
// メソッド内からの、プロパティへのアクセス
echo $this->property;
// メソッド内からの、定数へのアクセス
echo self::CONSTANT;
}
}
// クラスインスタンスの作成 $myClass = new MyClass(); echo $myClass->property; // プロパティ echo $myClass->CONSTANT; // 定数 echo MyClass::CONSTANT; // 定数 $myClass->Method(); // メソッド
※ プロパティにアクセスする際は、名前の前の「$」は不要
class MyClass()
{
// コンストラクタ
function __construct()
{
}
// デストラクタ
function __destruct()
{
}
}
PHP: コンストラクタとデストラクタ - Manual
void __construct( [ mixed $args [ , $... ] ] )
new演算子によりインスタンスが生成されるときに呼び出されます。
void __destruct( void )
インスタンスへのすべての参照が削除された直後か、unset()関数などにより明示的にインスタンスが削除された直後に呼び出されます。
プロパティおよびメソッドについてアクセス権を設定できます。
| アクセス属性 | 可視性制御の内容 |
|---|---|
| private | 不可視 (外部に非公開) |
| protected | 派生クラスを除き不可視 |
| public | 可視 (外部に公開) |
アクセス権を明示しなかった場合は、既定でpublicとなります。なお、インスタンスプロパティはアクセス権の指定を省略できません。
Class MyClass
{
// 静的プロパティ
static $staticProperty = 'static property';
// 静的メソッド
static function StaticMethod()
{
// 静的メソッド内からの、静的プロパティへのアクセス
echo self::$staticProperty;
}
}
echo MyClass::$staticProperty; // 静的プロパティ echo MyClass::StaticMethod(); // 静的メソッド
※ 静的プロパティにアクセスする際は、名前の前に「$」が必要