ブロック ブロック

Blog

卒業生インタビュー

Hope for the best, but expect the worst.

無料PHPスクール⑭~4日目:関数とオブジェクト指向

   

  • ●要点 1.「関数」に抜き出す 2.「クラス」にまとめる:クラスに纏めて外に出す(共有) 3.「Model」に分ける 4.「View」に分ける:HTML/JavaScript部分をSmartyで抜き出す
  • ●オブジェクト(データの型) ・関連する複数の変数と関数、定数をひとまとめにして、部品(インスタンス)のように扱えるもの。「クラス」はその設計図(設計書)。 →データ(変数/定数)と処理(関数)を一括で扱うため、ソースコードが非常に読みやすくなる(可読性) →変更があった時に、クラス内を変更すればよいので、修正(保守性)が容易。 →使いまわすこともできる(再利用性) ・classの中に関数をまとめておき、変数 ->set 呼び出したい関数名(”引数”); で適時呼び出す。 ・まずは new クラス名 (“”); でクラスを作成する。 ・作成したクラスの定義を行う class クラス名 { public function __contruct( $hoge ){ ・public function set関数名 でクラス内の関数を作成 ・extends(継承)でクラスに関数を追加可能 class ① extends ② :②というクラスを引き継いで①を作るという意味 ・クラス内の関数の呼び出し方: $インスタンス名 -> set関数名( “引数” );
  • ●Smarty(PHPで使用するテンプレートエンジン) ・画面デザイン(コンテンツ)とプログラム(ロジック)部分を分けて、開発・保守することができます。htmlの中で、phpの開始タグを使わずに、使用することができます。 ・Smartyの活用とファイル分割(プログラムを分割)、DBのクラス化 ・MVCモデル:M(モデル)V(ビュー)C(コントローラー)の略で、オブジェクト指向でデータを扱う。 Model: データベースとのやりとり。例)config、DB View: 表示部分。例)tpl(HTMLファイル) Contoroller: Modelを呼び出し、Viewにデータを渡す。例)board5.php 1.board5で作成したクラスをDatabase.classで定義しpublic functionで関数を作成。 2.作成した関数をset関数名でboard5内で呼び出し、最終的には$smarty->assignから$smarty->display(”);でboard5.tplに表示できるように記述する。 3.configは定数をdefineで定義した外部ファイル ・require_onceで読み込みたいファイルを指定:格納場所をちゃんと指定しておかないと後々エラーの原因となるので注意! ・外部ファイルを読み込みにいくため、各データを正確に格納する必要がある。すべてhtdocs直下に置いておいたらダメ!MVCの構造を理解する。
  • ●Smartyのまとめ ・Smartyクラスのインスタンス: $smarty = new Smarty(); ・テンプレートディレクトリの指定 $smarty->template_dir = ‘テンプレートディレクトリの指定’; $smarty->compile_dir = ‘templates_cディレクトリの指定’; ※compile_dirは、smartyが自動生成するキャッシュファイルの保存先になるので、必ず指定する必要がある。Linuxの場合、書き込み制限なし(777)の状態にしておく必要がある。 ・テンプレートを出力する: $smarty->display( ‘テンプレート名’ ); ・テンプレートに変数をアサイン(定義・割り当て)する: $smarty->assign( ‘abc’, $def ); ※PHPプログラムの$defを、テンプレート側で{$abc}とすることで表示することができる。 ・コメントの書き方: {* コメントを記入 *} ・if,elseif,elseの書き方: {if}, {elseif}, {else}で、必ず{/if}とペアで利用する。条件演算子( === や !== )などは、PHPと同じものが利用できる。 ・foreachの使い方 PHPの場合: foreach $arr as $key => $value { } smartyの場合: {foreach from=$arr key=key item=value} {/foreach} $arr = array( ‘abc ‘ => ‘def’ )という配列で、def と表示させたい場合 PHPの場合: $arr[‘abc’]; smartyの場合: {$arr.abc} ・テンプレートでPHPの関数の利用: {php}{/php}タグを利用することで、PHPの記述をすることができる。また、|を使って、PHP関数を適応することができる。

 - 学習アドバイス

  関連記事

  おすすめ記事