2006年10月12日

Scaffolding and Decorating your web app with CakePHP

(Shunro Dozono / http://www.cba-japan.com )

(1)You can download 'decorate.php' from
http://cakephp.jp/decorate.zip
http://cakeforge.org/projects/decorate/
copy it to cake/scripts

copy_it_to_scripts_folder.PNG


(2)Set your DB-table

set_your_database_table.PNG

(3)Start baking [decorating] by using Windows Command Prompt.

prompt> your_php_path\php.exe path\decorate.php

start_decorate_script.PNG

(4)Script will bake all the files for you.

baked(decorated)files.PNG

(5)Goto http://localhost/cake/TABLENAME

baked_application.PNG

(6)CRUD (Create, Read, Update, Delete) features

crud(create).PNG

(7)CakePHP can handle "table associations"!

table_associations.PNG

(8)Complex Sorting feature

sorting.PNG


(9)Filtering(Search) feature

search_filtering.PNG

(10)You can make your own "template" design files. or you can download from
http://cakephp.seesaa.net/article/20355864.html

If you just drop your template file to "layout", it will be...
templates.PNG

(11)If you want "login" feature, CakePHP has already various types of authentification.

http://manual.cakephp.org/appendix/simple_user_auth

or if you just need only one username and password, you can download sd_auth from
http://cakeforge.org/snippet/detail.php?type=package&id=20

just "drop" the sd_auth file to app/controllers/components, and thtml desing file to app/view/layouts/. then,

Add following lines to app_controller.php(Copy from /cake to /app).

class AppController extends Controller {

var $components = array('SdAuth');

function beforeFilter()
{
// Auth Check.
if($this->SdAuth->isloggedin() == FALSE){
$this->layout = "login";
} else {
$this->layout = "default";
};
}

}


login.PNG


posted by SDozono at 05:43| 東京 ☁| Comment(6) | TrackBack(2) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
昨日からCakePHP始めたのですが、なかなか良いですね。
RoRより良いかも、軽快だし。

decorate.phpですが、AssociationsでbelongsToを選択したら、Viewのindex.thtmlの<?php foreach ($itemss as $item): ?>でインバリッドアーギュメントとなりました。

それを修正した後、表示すると1ページ目が11件表示されます。
リミットは10件なのに、2ページ目以降は10件表示されます。

とりあえず、気づいたことを。
Posted by net_hal at 2006年10月12日 19:21
ありがとうございます。早速、確認してみます!
Posted by 管理人 at 2006年10月12日 21:05
う〜ん。うちではエラーが出ませんね。
1)二つのテーブルのDBスキーマはどうなっていますか?教えていただける範囲で……。
2)親は“has many”か"has one",子供は、“belongTo”を設定されているでしょうか……。また、子供のほうには、"親テーブル(単数形名)_id"がありますか?
Posted by 管理人 at 2006年10月12日 22:37
すいません、何も考えずにエンターしたからですね。
単独テーブルなのでassociationsでn指定してエラーなしです。
ただ、ページ毎の表示件数はやはり先頭ページ11件、2ページ以降は10件のままでした。
Posted by net_hal at 2006年10月13日 11:02
お騒がせしました。
件数の件は、見間違いでした。
idが1つ削除でなくなっていたので、1ページの最後がid=11と表示されていたので勘違いしました。
すみませんでした。
Posted by net_hal at 2006年10月13日 11:06
うまく動いているようでしたら良かったです。また、なんなりとご指摘お願いします。ちなみに同僚に見せたところ、「Edit画面は、画面遷移しないでその場で書き換えられたほうが良い!」と即座にダメだしされました。でも、そういう動きもAjaxで普通になってきていますので、いずれ組み込んでみたいと思います。レポート・グラフ関係もbakeできたら面白いかな、と思っています!
Posted by 管理人 at 2006年10月13日 22:10
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック

decorate.php
Excerpt: cakephpの雛形作成プログラムdecorate.phpがなかなかよさそうです。 http://cakephp.seesaa.net/article/25299712.html cake.phpの..
Weblog: jythonの日記
Tracked: 2006-11-13 07:26

CakeShop/イテレーション/1-A1 商品の詳細を表示する
Excerpt: Tag: CakeShop 1-A1 商品の詳細を表示する 基本仕様整理 動作環境構築 開発ツール データベース サーバ ソース管理、バグ管理 ルール アーキテクチャ(フレームワーク) テーブル設計..
Weblog: Happy Engineer Life (PukiWiki/TrackBack 0.3)
Tracked: 2007-02-01 20:15
手(パー)To make a comment: Please type your name and comment. at the validation field box, type 'cakephp'. And there two glay buttons. "Preview"/"Submit". Thank you!
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。