ほとんどの開発者は、オブジェクト指向プログラミング (OOP) の考え方と PHP は相反するものだと考えていますが、実際には、開発者がアプリケーションで OOP テクノロジを使用できるすべての機能が PHP にカプセル化されています。これを証明するために、古典的な Vehicle の例を見てみましょう。その PHP クラスは次のとおりです。 class Vehicle { // Stuff gos here! } 新しい Vehicle クラスでは、メソッド (つまり、PHP 関数) を使用して連絡します。 アプリケーションの特性と車両クラス。各メソッドはアプリケーションに車両を記述するために使用され、そのメソッドを使用して特定の機能を実装します。次の例を考えてください (これは明らかに機能していません。つまり、関数本体が指定されていません)。 class Vehicle { function getWheels() { // ここで車輪の数をクエリするために論理的に使用されます return($wheels) } function getDoors() { // ここで車のドアの数をクエリするために論理的に使用されます。 return($wheels); } } ここでは、2 つの「ゲッター」関数が示されています。これに見覚えがあると思われる場合は、PHP の OOP が C や Java に非常に似ているためです。本当の課題は、OOP を柔軟に使用し、カプセル化を完全かつ効果的に使用することです。 車両をアプリケーションに統合する際に知っておくべきことを判断するには、車両を構成する基本要素を定義すると役立つ場合があります。たとえば、車両はドアの数や車輪の数によって編成できます。 車両に車輪がいくつあるかを知りたい場合は、この情報を返す関数が必要です。 PHP では、この関数の実装はコード リスト A に示すようになります。 Vehicle クラスには getWheels というメソッドが含まれるようになりました。このメソッドは、アプリケーションが車両タイプを渡すと車輪の数を返します。では、車両タイプ情報を Vehicle クラスに渡すにはどうすればよいでしょうか?この問題をよりよく理解するために、使用法を示し、クラスを実装し、その getWheels メソッドを呼び出して自動車タイプの車両の車輪の数を取得しましょう。 //車両タイプを設定 $vehicle = "car"; このようにして、作成する車両タイプを car として宣言しました。 PHP を使用しているため、この値は動的にすることができますが、すぐにハードコーディングされてしまいます。 このクラスを使用するには、まずアプリケーションでこのクラスのインスタンスを作成する必要があります。 // 車クラスの新しいインスタンスを作成します $myVehicle = &new Vehicle; myVehicle という名前の Vehicle クラスのインスタンスを作成しました。これは Vehicle クラスの唯一のインスタンスであり、Vehicle に含まれるすべてのデータ (メソッドとプロパティ) が含まれています。 次に、車に車輪がいくつあるかを確認します。 // getWheels メソッドに車両タイプを渡して車輪の数を取得します $numWheels = $myVehicle->getWheels($vehicle); ご覧のとおり、getWheel を呼び出しました。メソッドを使用して車両のタイプを渡します。すべてがうまくいけば、必要なデータを取得できます。 // 車輪の数を出力します print "$vehicle has $numWheelswheels."; ドアの数を取得したい場合は、数を確認する別のメソッドを記述する必要があります。ドアのコード(コード リスト B など)を示します。 プログラミングが簡単、管理が簡単 この簡単なデモからわかるように、PHP でのオブジェクト指向プログラミングの実装は難しくありません。 Vehicle クラスで行ったように OOP とクラスを使用すると、ショッピング カートを作成するのはそれほど難しいことではありません。オブジェクト指向プログラミングの考え方を採用しているため、コードの読み取り、保守、アップグレードが簡単です。 リスト C は、ここで説明する自動車分類アプリケーションの新しいバージョンのコードを示しています。 PHP のオブジェクト指向のパフォーマンスを十分に発揮します。