PHPコーディング

変数の参照

2010年11月12日
PHPでオブジェクト指向を勉強し始めましたが、やっぱり自分でやってみないと実感がわきません。
理屈は書かれていることを読めばわかります。オブジェクト指向の利点がいくつか書かれていますが、実際どうやって使ったら便利がいいのか、どう手間が省けるのかがさっぱり・・・

ということで、とにかく書いて書いて書いてみることにしました。

まずは、htmlのヘッダや左メニューなど、各ページで共通なhtmlを関数化して使っていたのですが、これをいじることに。
今まではオブジェクトのようで不完全なオブジェクトもどきだったので、もうちょっとちゃんとしたオブジェクトにすることに挑戦です。

左メニューはDBに登録されています。
まずはDBから必要なデータを取得して、階層メニューに編集します。

DBからデータを引っ張る部分は今まで手続き型の関数でした。
これをクラスのメソッドに変更。
DBのデータはクラス内の変数(言い方があるのだけど、何だっけ)に格納しておきます。

同じように階層メニューも手続き型関数だったのをメソッドに変更。

手続き型の関数では、変数を引数でやり取りするか、global宣言しないといけませんでしたが、オブジェクト指向でコーディングするとそんな必要はなく、クラス内で変数は保持されています。

これが、手続き型関数では長々と引数を設定しなければいけない地獄だ、ということなんでしょうか。
確かに楽なのかな。
手続き型に慣れている私としては、ちょっと不安に感じてしまいます。
データはどこだ!!?って感じです。

とりあえずコーディングしてみたので、まだまだ便利に組めてないのでしょうけれど、ちょっとやっただけでも違いがわかりました。