Top > Cake PHP

Tag: PHP  Wikipedia:CakePHP

Vistaのあまりの遅さに、いやになっている今日この頃だが、新しく買ったVaioが遅いのかもしれない。ボーナスもらったからといって、高ビーなものを買ったからやはりだめだった。
ノートパソコンならやはり使い慣れたLetsNoteにするべきだった。
VIAOを買ったのは、Felica内臓だからだったが、しかし中国にいる今、Edyを使うことは略皆無となり、まったくの意図違いとなった。

CakePHPPHPのフレームワークのひとつ。
チュートリアルが充実しており、DB構築のべたうちにも飽きてきたのと、Ajax系のツールを作りたいと考え、勉強を開始することにした。
いずれはこうしたプログラミングも大使技術がいらなくなるのかもしれないと重い、しかし言語の習得という意味であるならば、まず中国語をマスターすることのほうが優先順位が高いような気がするが、しかしだ。

まずVIAOがいやになったのは、電源が独自企画なことだ。
このご時勢で、Sonyスタイルを貫くのはいかがなものかと思う。中国の電機メーカーが発展してきた原因のひとつとして、スタンダード部品を安く使っていることにあると思うが、Sonyさんはそれを見習わないのか?

MVCモデルとは・・・

Model-View-Controllerという3つの要素に分類して、開発者は、M,V,Cのそれぞれの要素をあらかじめ指定された形で記述していけばいいというもの、

  • Controller
    CakePHPの場合は、指定されたURLにアクセスされた際に実行する処理を制御する、機能をここに分類している。
    何となく、Controllerのイメージがわくだろうか??
    CakePHPでは、「アクセスされたURL」に基づいて、自動的にControllerが読み込まれ、実行されるように設計されている。
    そして、Controllerが読み込まれた後、他のMVCが呼び出されたりして、より複雑な作業を行っていくことになるが、その際に、このControllerの基礎となっているClassを継承したClassとして処理を記述することになっている。
    これもルールになっていて、Controllerでは、Controllerで指定すべきClassを定義する必要がある。
  • View
    表示・User Interfaceを制御する部分。
    Classとして定義せず、拡張子(.cpt)のレイアウトテンプレートとして制御される。
    このCTPファイルは、HTMLの記述方式をとっているので、HTMLのデザインツールを使うことも可能。
    CakePHPでは、ViewTemplate、Layoutという二つの組み合わせでより複雑な表現ができ、またCSSも利用することができる。
  • Model
    データベースのアクセスに関連する部分。
    • データベースへのアクセス、SQLコマンドの送信、必要なレコードの取得と管理などをすべてModelで行っている。
    • Classとして定義。
    • Modelで必要なものは、使用するデータベースの構造を記述しておくこと。
      CakePHPではこのテーブルにアクセスして、このレコードをとってくるといった処理を書く必要はない。)

MVCと命名規則

「予め指定されたディレクトリに、予め指定した命名規則に従ってファイルを用意する」CakePHPでは、設定ファイルではなく、指定したディレクトリ構成に、指定したルールに基づいた名前のファイルを配置すれば、自動的にそれらを認識するようになっている。

基本的な命名規則

  • MVCは、app内フォルダに保管する。
    • その他のHTMLファイル等は、webrootフォルダの中に用意しておく。
  • 「アンダースコア記法」が基本
    Controller「名前」_Controller.php
    ViewTemplate「名前」フォルダ/ファイル名.ctp
    ViewLayoutslayouts/「名前」.ctp
    Model「テーブル名」.ctp
  • Classはキャメル記法
    Classは大文字で始まり、Methodは小文字で始まる。
Class
単語の最初の文字を大文字に、それ以降を小文字にする。つまり、APPLEとGingerという名前をつなげてClass名を作る場合は、AppleGingerといった形にする。
Method
単語の最初の文字は小文字にする。つまり、appleGingerといった形になる。

Cake PHPの中身

Controllerの基本

AmazonWebサービスPHPで使う。


リロード     ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Sat, 04 Dec 2010 22:49:07 JST (2487d)