エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


CakePHPを学ぶ際にはオブジェクト指向を学ぼう

      2014/04/10

CakePHPはオブジェクト指向でできているのでオブジェクト指向を学ぼう

 

PHPのオブジェクト指向を学ぶためのサイト

 
私は、オブジェクト指向の言語を使ったことがなかったために、オブジェクト指向の仕組みについてほとんど理解がありませんでしたが、下記のサイトを見つけた時に、やはり一度オブジェクト指向についても勉強をしておく必要があるな、と思えました。
 http://www.objective-php.net/basic/
 
何せ PHP自体がオブジェクトの考え方をより強く取り込むようになってきていることや、CakePHPが MVCアーキテクチャを使っていて、オブジェクト指向の考え方の理解なしに CakePHPの本質を理解することができないからです。
 
また、上記のサイトは、丁寧にオブジェクト指向の考え方を説明してくれていて、非常に分かりやすく、すんなりと頭の中に入ってきてくれました。
 
このサイトで勉強したおかげで、そもそもの話として、関数とオブジェクトの違いを理解できましたし、クラスに対してデータのやり取りをする際に記述する「$this-> name」の意味とかも理解できて、これから CakePHPを理解していくスピードも速くなっていけると思いました。
 
 
また、このオブジェクトに関して勉強したことで、これまでよく分からなかった「クラス」ってこういう意味だったのか。関数とはこういうところが違ったのか。ということが理解できました。
インスタンス、コンストラクタ、アクセス修飾子....そんなクラスに関連する言葉も理解できましたし、アロー演算子(->)、スコープ定義演算子(::)といったなんとなくぼんやりとしか理解していなかった記号の意味も理解が進みました。
まだまだ「理解できました!」っていうほど理解してませんが....
 
 

オブジェクト指向を知らずに PHPのソースを読むと...

 
オブジェクト指向を知らずに PHPのソースを読んでいたりすると、分からない記号がいっぱい出てくる感じがします。
しかも、記号なので検索してもほしい情報になかなか行き当たらなかったりもします。
さらに、情報に行き当たったとしてもオブジェクト指向の仕組みを理解していないと、説明を読んでも全く意味が分かりません。
そんなネタ話を下記の記事で展開しています。
 「PHPのソースで見慣れない記号が出てきた・アロー演算子

 - CakePHP 3.x 4.x 5.x

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

CakePHPのバリデーションを入力値・項目の条件によって変える方法を解説
CakePHPのバリデーションを入力値・項目の条件によって変える方法を解説

入力された値によってバリデーション(入力チェック)の内容を切り替える。その処理をCakePHPで実装する方法を解説。条件ごとに unset関数を使ってバリデーションを削除する、という方法を採る。

CakePHP3にOGPをfetch、asignを利用してテンプレートごとに指定する方法を解説
CakePHP3にOGPをfetch、asignを利用してテンプレートごとに指定する方法を解説

CakePHP3でOGPを設定する方法を解説。fetch、assignを使用しレイアウトファイルに編集した変数にテンプレートファイルから値を指定する。これを利用してOGPを編集する。

CakePHP3で現在処理しているコントローラー名、アクション名を取得する方法
CakePHP3で現在処理しているコントローラー名、アクション名を取得する方法

CakePHP3で現在処理しているコントローラー名、アクション名を取得する方法を解説。複数の方法があるが、getParam()メソッドを使う方法が汎用性があって便利かも。

CakePHP3でassociatedを使って関連データをまとめて保存する方法(hasOne、hasMany、belongsTo)

CakePHP3で関連データをまとめて保存する方法。hasOne、hasMany、belongsTo等の関連データはassociatedを追加することでまとめて保存することができます。

CakePHP3でアソシエーション先のカラムでデータをソートして取得したい
CakePHP3でアソシエーション先のカラムでデータをソートして取得したい

アソシエーション先のテーブルのカラムをキーにソートをしたデータを取得したい!ときの記述方法を解説。「orderAsc()」ではなく「contain()」の中にSort条件を記述する。

CakePHPのFlashエラーは出るが入力項目ごとのメッセージが出ないエラーの原因
CakePHPのFlashエラーは出るが入力項目ごとのメッセージが出ないエラーの原因

Bakeして自動生成した入力フォーム処理を元に少し処理を追加したら、入力エラーがあってもエラーメッセージが表示されなくなった。原因はリダイレクトの処理にあった。

cakephp3 カスタムバリデーションを簡易的に実装する方法
cakephp3 カスタムバリデーションを簡易的に実装する方法

CakePHP3の独自のバリデーションをテーブルクラス内に簡単に記述する方法を解説。他のテーブルクラスでは使えないが、記述する量は少なく実装できるため、他で使わない処理を書くのには便利。

CakePHP 2.3 コマンドラインからPHPのシェル実行の方法解説

CakePHP 2.3でコマンドラインから CakePHPで記述した処理を実行する方法を解説します。

CakePHP3で他のテーブルのマスタテーブルからセレクトボックス(プルダウンリスト)を作る
CakePHP3で他のテーブルのマスタテーブルからセレクトボックス(プルダウンリスト)を作る

他のテーブルのマスタのレコードからプルダウンリストを作成し、選択できるようにするサンプルプログラムと解説。ORMの設定によりデータベースの値を取得し、配列を作成し optionsに与える。

CakePHP3チュートリアルで日付と時刻のDateTimeでエラーが出たときの対処方法
CakePHP3チュートリアルで日付と時刻のDateTimeでエラーが出たときの対処方法

CakePHP3のブックマークチュートリアルには記載ミスもあり、そのまま動かない個所もある。CakePHP3では namespaceを使うようになったので、classを呼び出すときに¥を追加する必要が!