クラス
クラスの書き方 ▲
/**
* 犬用のクラス
*/
class Dog
{
//==============================================//
/** @var string 名前 */
private $name = 'Will';
//==============================================//
//==============================================//
/**
* 挨拶をする
*
* @return void
*/
public function greet()
{
echo "こんにちワン、私は犬の{$this->name}だワン";
}
//==============================================//
}
// 犬のインスタンスを作成して挨拶をする
$dog = new Dog();
$dog->greet(); //!< 出力:こんにちワン、私は犬のWillだワン
クラス名はパスカルケース(アッパーキャメルケース)で記述する
変数や関数には public, private, protected のアクセス修飾子をつける
アクセス修飾子が省略されている場合は public になるので注意
言語によって省略されたときのデフォルトが違うので基本省略せず書くようにしといたほうが良い
コンストラクタ ▲
PHPではクラスのコンストラクタは以下のように記述する
(前略)
//==============================================//
/**
* コンストラクタ
*
* @param string $name 動物の名前
*/
public function __construct( $name )
{
$this->name = $name;
}
//==============================================//
(後略)
このように関数名の最初が __ から始まるメソッドのことをマジックメソッドという
コンストラクタに引数を設定することで、new でインスタンスを作る際に変数を渡すことができる
$thisについて ▲
既に何度か $this がコード上に出てきているが、この $this はインスタンス化された際の自身のオブジェクトを指している
クラス内で自身のメソッドや変数にアクセスする際は基本的に $this を通してアクセスする必要がある
例外として static や const の修飾子がついたものなどがあるが、それぞれ別ページにて説明するので割愛
目次