March 2024
Intermediate to advanced
408 pages
5h 16m
Japanese
PHPの初期のバージョンでは、クラス定義やオブジェクト指向がサポートされていませんでした。オブジェクトインターフェイスへの最初の本格的な試みはPHP 4からです†1。しかし、開発者が今日のような複雑なオブジェクトインターフェイスを使えるようになったのは、PHP 5からです。
[†1] PHP 3は基本的なオブジェクト機能をいくつか備えていましたが、PHP 4.0のリリースまでは、PHPが実際にオブジェクト指向だと考える開発者はほとんどいませんでした。
クラスは、classキーワードにより定義されます。クラス名の後に、そのクラスが継承する定数、プロパティ、メソッドに関する詳細な定義が続きます。例8-1では、PHPの基本的なクラスの構造を紹介します。このFooクラスはスコープ付き定数値、プロパティ、呼び出し可能なメソッドを提供します。
例8-1 プロパティとメソッドのある基本的なPHPクラス
class Foo
{
const SOME_CONSTANT = 42;
public string $hello = 'hello';
public function __construct(public string $world = 'world') {}
public function greet(): void
{
echo sprintf('%s %s', $this->hello, $this->world);
}
}
オブジェクトは、newキーワードとクラス名でインスタンス化できます。このインスタンス化は、関数呼び出しのようにも見えます。このインスタンス化の際に渡される任意の引数は、透過的にクラスのコンストラクタ(__construct()メソッド)に渡され、オブジェクトの初期状態を定義します。 ...