CakePHP3でComponentを使う方法+α

のえる のえる
2016.10.17

どうも、のえるです。
 
長らく更新できなかったのですが、地味にいろいろありました。
その中でも実際に使用した、CakePHP3でのComponentの継承をご紹介します。
 

Componentファイルの作り方

 
Componentファイルは/src/Controller/Componentディレクトリに格納します(デフォルト設定の場合)
直接ファイルを作っても良いですが、ここはComposerがありますので、bakeしてみましょう。

/src/Controller/Component/VehicleComponentファイルができましたか?
この調子で「CarComponent」「BikeComponent」ファイルを作りましょう。
 

Componentファイルの編集(Vehicle)

VehicleComponentはCarComponentとBikeComponentの親となるComponentファイルにします。
ですので、下記のように編集してみましょう。

 
次に「CarComponent」ファイルを編集します。

これでタイヤの数が4になりましたね。
CarComponent同様に、BikeComponentを編集しましょう。
タイヤの数は 2 です。
 

ControllerからComponentを使用する

作成したComponentファイルをControllerから使用してみましょう。
ControllerもComponent同様、bakeしましょう。

GarageControllerが作成されましたか?
このGarageControllerからCarComponentとBikeComponentファイルを呼び出します。
下記のように、大幅に修正します。

これでそれぞれのタイヤの数が数えられます。
checkCarTireとcheckBikeTireのアクションにアクセスしてみましょう。
それぞれ4と2が出れば成功です。
 

さいごに

いかがでしたか?
継承に関してはなかなか難しいところもありますが、慣れるとコードの記述量が減り、スムーズな開発ができますね。
 
ではではー♪

スポンサーリンク

POPULAR

のえる

のえる

Full-stack Developer