2011年1月13日木曜日

CakePHPフレームワークってどんなもんだろ?②

前回表示したCakePHPのトップページですが、
プロジェクトのルートディレクトリのindex.phpが表示されているのではなく、
appフォルダの中のindex.phpが表示されています。*注意しましょう、

■コントローラ
送られてきたアドレスから実行する処理、

■ビュー
テンプレートをとおして表示されます。拡張子はhtmlです。

■モデル
データベースへのアクセスやSQLコマンド等の処理を行います

~~~~~~~~~~~CakePHPは命名規則が命~~~~~~~~~~~~~~~~
CakePHPは設定ファイルに色々こまごま書くのではなく、
指定ディレクトリに指定されたファイルを用意する形となります。


~~~~~~~~~~~MVCの配置ディレクトリ~~~~~~~~~~~~~~~~
appフォルダの中にMVC各おのおののフォルダがあるのでそこに置きましょう、
①コントローラのファイル名は、 「名前」_controll.phpとアンダーバーを付けます。
②モデルは、「テーブル名」.php
③ビューテンプレートは、「名前」フォルダ/ファイル名.ctp
④ビューテンレイアウトは、layouts/「名前」.ctp

■クラス
クラスは「名前」Controller
「名前」Modelと単語の最初を大文字にし、行こうを小文字にします。
*この方法を「キャメル記法」といいます。

■HTMLファイル
HTMLファイルはappフォルダのwebrootに置きましょう、
テストで置いてみてください、文字コードはUTF-8です。
HTMLファイルはMVCに関係なく置けます。


■コントローラを記述してみよう
をappフォルダのcontrollesフォルダに配置、
http://localhost/cake1/sample/hello等で見てみて表示されていればOK、

■controllesの設定内容
①$nameはコントロール名
②$usesはコントロールで仕様するモデル名
③$autoRenderはページのレンダリング設定、OFFだとページの表示はすべて自分で行います。
④indexメソッドはデフォルトページの処理、CakePHPではindexがデフォルト表示とないります。



■ビューを記述を記述してみよう
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<p>Sample</p>
<p>CakePHPSample</p>
</body>
</html>でappフォルダのviewsフォルダにhelloフォルダを作りそこにindex.tcpとして配置、
表示されればOK、

■viwesの設定内容
$autoLayout = falese;は自動レイアウトの無効にする、trueにするとCakePHPのヘッダ・フッターが表示されます。
$autoRender = true;はレンダリングを自動、helloにアクセスした時「hello」フォルダに中にあるテンプレートを読み込んで表示する、





次回はレイアウトを記述してみよう!!

0 件のコメント:

コメントを投稿