CakePHP3ってどんな感じ?初心者(カシワ)の習得方法と感想

  • 2018.12.16
  • PHP
CakePHP3ってどんな感じ?初心者(カシワ)の習得方法と感想

IT系WEB関連業務をしている20代半ばのカシワです!

 

今、マイペースに勉強中のCakePHP3についてです。

これから、フリーランスとして、仕事していくための新たな武器として、習得中のCakePHP3。(カシワの今の武器はPHPと使いこなせていたかは不明のsymfony!心許ない・・・)

まだ、勉強し始めて1か月も経っていませんが、CakePHP3初心者としての感想を記事にしていきます。

 

CakePHP3とは、 どんな感じのフレームワークなのか?、レベル感(完全個人目線です)と習得に必要な知識、カシワはこんな感じで覚えているよや、触れてみての感想 を紹介していこうと思います。

 

まず、CakePHPとは?

CakePHP3とは、一言でいうと、 PHPのフレームワーク です。

PHP自体、自由度の高いプログラミング言語で、初めてプログラムを覚える人にも、やさしいと言われる言語です。

その自由度が高いということで、「開発者の個性たっぷりのソース」が出来上がったりします。

そこが、PHPが嫌われているとこの大部分の気がします・・・

まあ、開発者がみんな高い技術力、しっかりとしたコード規約、開発者全員が個性を殺し、そのコード規約に逆らわなければ、きちっとしたものが出来上がるかもしれません。

あり得ないでしょうけど。

 

そこで、PHPフレームワークというものがあるのです。

フレームワークを使うことのメリットとして、ある程度、フレームワークの決まり事に沿わないとエラーになったり、思った通りの動きをしてくれませんので、前述した 開発者の個性のギャップを吸収してくれます。 

結果として、保守性の高いものが出来上がります。(しかし、それはフレームワークを理解している人に限っての話し!)

他のメリットとして、フレームワークに一般的に誰もが使用する機能(例えば、DBへの接続!)があらかじめ用意してあるため、フレームワーク特有の設定ファイルなどに書き込むだけで簡単に使うことができます。

そのため、 コードの記載量が少なく済み、開発スピードが段違いに早くなります。 

 

では、そのPHPフレームワークの中でも、CakePHPについてですが、 PHPの自由度の高さをカバーするためか、けっこうな制限・制約がある気がします・・・ 

カシワはsymfonyという違うPHPフレームワークを使ったことがありましたが、それよりも制約があるように感じます。

例えば、DBのテーブル名に合わせたコントローラークラスや、モデル(テーブルクラスとエンティティクラス)、テンプレートのファイル名もきっちりそれぞれのクラスの命名規則に合わせなければ、即刻エラーを返してきます。。。

 

テーブル作ったけど、命名規則を揃えてファイル作っていくの面倒だと思う方もいるはずです!(そう!カシワがそうです)

CakePHPには bake というコマンドが用意されており、このコマンドを実行することで作ったテーブルに合わせたコントローラー、モデル、テンプレートのファイルを所定の場所に作成してくれるのです。(便利!)

cake(=ケーキ)を、bake(=焼く)で出来上がるのが、このフレームワークで使用するクラスですから、なんかユーモアがあって面白いですよね。

 

CakePHP3のレベルは?覚えるために必要なこと

CakePHP3を習得するのに必要なレベル感は、 PHPフレームワークなしで、PHPを使用して機能を開発完成するまで、自分一人で調べてできる のであれば、十分覚えられると思います。

全くの未経験者は、まずは前述のレベルまで勉強してから、CakePHP3の勉強をした方が良いです。

フレームワークなしのPHPを習得してから、フレームワークを勉強することで、「本来なら、こんなに記述しないといけないけど、フレームワークを使えばこれだけでいいんだ」など、 フレームワークの便利さを体験することができる でしょう。

いきなり、フレームワークから習得してしまうと、「こうに書いておけば、いいんでしょう」とだけで、PHP本来の処理を覚えないままです。

それだと、習得まで時間が無駄にかかってしまうだろうし、基礎の部分がわからず、フレームワークだけ覚えていても、どうなの?って思ってしまいます。

 PHPの基礎があってのフレームワーク だとカシワは思います。

 

そのため、CakePHP3を覚えるために必要なことは、「PHPの基礎(フレームワークなしである程度の機能開発を一人でできるレベル)」、「気持ち」です。

例え、PHPの基礎があったとしても、「PHPがわかっているから、余裕でしょ」と思っている人は少し甘いと思います。

フレームワークはフレームワークで、覚えること(MVCとか設定や制約など)がたくさんあり、 「自分のスキルアップのために」、「業務で使っていくから覚えないと」など、ちゃんと気持ち・目的を持つことが必要 だと思います。

気持ちがないと、なんでも途中で投げ出してしまいますからね。

 

カシワのCakePHP3習得方法

カシワはCakePHP3を覚えるために、 参考書を買い、それを読みながら、自分PCに開発環境を作って、コードを書いて実際に動かし、覚えています。 

買った参考書は「CakePHP3入門」です。

 

この参考書は、自分のPCに開発環境を作るところ(xamppの設定)から、composerのダウンロードからCakePHP3のインストール手順もあります。(知っているよ!という人は飛ばしても問題なしです。)

環境作りも丁寧に説明があるので、始めてのPHPフレームワークを使ってみるという人にもわかりやすいです。

CakePHP3の機能の説明、制約の説明もしっかりとあり、テストコードもあるので、参考にしながら、書いて動かし覚えていくことができます。

 

まだ、覚えている途中ですが、「こんな書き方ができないか?」や、「データの中身はどうなっているのか?」と確認しながら、覚えています。

けっこうマイペースにやっているので、のんびり習得中です。

 

ただ、 インプットするだけじゃ、使い物にならないので、一通り、参考書を覚えたら、アウトプットとして、何か機能を作ってみたいと思います。 

まだ、何を作るかは決まっていませんが、実際にインターネットに公開できたり、何かに使えそうなものを作りたいなと思っています。

CakePHP3の感想・まとめ

CakePHP3はPHPのフレームワークです。

CakePHP3は、制約がきっちりとしていたり、CakePHP3固有の機能もたくさんあり、今、せっせと覚えています。(ヘルパーとか、プラグインとか何のことかまださっぱり!)

習得するまで、まだまだ、時間がかかると思います。(難しい・・・)

使っていて、構文間違いとかでよくエラーを頻発していますが、 エラー画面がわかりやすくデバッグしやすい です。

インプット段階で、CakePHP3はまだ氷山の一角しか見えていませんが、今のところ、 便利だなと感じていて、使いこなせれば、大幅なコスト削減ができるなと思います。 

難易度も、めちゃくちゃ高いわけでもなく、 最初にPHPフレームワークを習得するには良いと思いました。 

カシワは最初、symfonyを仕事で使っていて、覚えるのにかなり苦労しました。。。

 

CakePHP3を習得したい人は、まず、 フレームワークなしでPHPでの開発ができるくらいのレベルがないと難しいと思います。 

例えば、いきなり、クロールの泳ぎ方も知らないのに、50mを泳ぎ切ってと言われても、難しいですよね。

泳いでいる人のクロールを見よう見まねで、端から見ると溺れているように見えるが泳ぎ切ることは可能かもしれません。

それだと、仕事で使っていくにはあまりにも雑ですし、不安だと思います。

まずは、しっかりとPHPの基礎(クロールの泳ぎ方)を固めてから、フレームワークの勉強をしていくべきだとカシワは思います。

 

どこに行っても、業務で使っていけるようにCakePHP3を自分のものにしていきます!

PHPカテゴリの最新記事