PHP/CakePHP/1.1 CakePHPって何?使う理由は?を勝手に補足

1月 1, 2003 · Posted in CakePHP, PHP · Comment 

内容

見出し部分は、http://book.cakephp.org/ja/view/8/What-is-CakePHP-Why-Use-itより転載

CakePHPの使用で益を受ける幾つかの点をざっと挙げると次のようなものがあります:

アクティブ、フレンドリーなコミュニティ

下記参照
http://book.cakephp.org/ja/view/9/Where-to-Get-Help

フレキシブルなライセンス

MITライセンス。

PHPのバージョン4と5に対応

表題の通り

データベースとのやり取りのための、CRUDが統合済み

アプリケーションのscaffolding(足場組み)

コード生成

MVC アーキテクチャ

クリーンでカスタマイズ可能なURLsとroutesを用いるリクエストディスパッチャー

バリデーションを内蔵

高速で柔軟性のあるテンプレートシステム(PHP構文、各種ヘルパー)

AJAX、JavaScript、HTMLフォーム、などなど各種のViewヘルパー

Eメール、クッキー、セキュリティ、セッション、リクエストハンドリングなどのコンポーネント

柔軟なACL

データのサニタイズ

柔軟なキャッシュ

ローカライゼーション

どんなwebサイトdirectoryからでも動作。Apacheの設定は最小限のみ

PHP/CakePHP/QuickStart

1月 1, 2003 · Posted in CakePHP, PHP · Comment 

CakePHP導入

ここでの環境

- XAMPP(Apache+PHP5+MySQL5)
- CakePHP1.3.2

CakePHPダウンロード

公式サイト(http://cakephp.jp/)からダウンロード

XAMPPに設置

解凍したファイル群を以下のフォルダ内に格納
c:\xampp\htdocs\cake\

ブラウザでアクセス

http://localhost/cake/

一番上の警告は、
C:\xampp\htdocs\cake\app\config\core.php
の、Security.saltの値がデフォルトになっているため、表示されている。
任意の値に変更すると、警告が消える。

Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');
↓
Configure::write('Security.salt', 'hello-cake-application');

Security.saltの説明はこちら(ハッシュ値を生成するために利用される)
http://book.cakephp.org/ja/compare/332/Optional-Configuration

続いての警告。どうやらデータベース設定ファイルがないらしい。

CakePHPはエラーメッセージがわかりやすい。

Your database configuration file is NOT present.
Rename config/database.php.default to config/database.php
 (データベース設定ファイルがないから、つくりなさい)

データベースと設定ファイル(database.php)作成

データベースを作成する。
http://localhost/phpmyadmin/にアクセス。
新規データベース作成

データベース名「cake」
紹介順序「utf8_general_ci」

C:\xampp\htdocs\cake\app\config\database.php.defaultを同じフォルダ内にコピーして、database.phpにリネーム。
内容を編集。

var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '',
'database' => 'cake',
'prefix' => '',
);

var $test = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '',
'database' => 'cake',
'prefix' => '',
);

ふたたびブラウザでアクセス

http://localhost/cake/

オールグリーン!

HelloWorld

membersというページにアクセスしてみる

http://localhost/cake/members

「member」にひもづいて動作する「MembersController」が存在していないのでエラーが表示された。
エラー内に表示されているコードをコピーしてMemberコントローラクラスを作成する。

cake/app/controllers/members_controller.php

<?php
class MembersController extends AppController {
var $name = 'Members';
}
?>

再びアクセス

http://localhost/cake/members

membersテーブルがない。

モデルを使わない設定

コードを下記のように修正する。

<?php
class MembersController extends AppController

{
var $uses = array();

function index() {
print "index";
}
}
?>

$uses = array(…)は、利用するモデル名を記述することで、モデルクラスのオブジェクトを利用できるようにするための記述。
空の配列を渡すことで、モデルを使わない設定にすることができる。

※または、設定したデータベースにmembersテーブルを作成する。

ブラウザでアクセス。

http://localhost/cake/members

完成。

PHP/CakePHP/Scaffolding

1月 1, 2003 · Posted in CakePHP, PHP · Comment 

概要

アプリケーションのスキャフォールディングは、
開発者がオブジェクトを生成・取り出し・更新・削除することができる
基本的なアプリケーションを定義し作成するという技術です。
公式マニュアルより

CakePHPで用意されているscaffoldを利用することで、index,add,edit,delete,viewの機能を持った、WEBアプリケーションが利用できる。説明が難しいので詳しくは下記手順を参照のこと。

手順

環境設定

[[PHP/CakePHP/QuickStart]]

利用までの手順

users画面にアクセス
http://localhost/cake/users

コントローラがないので作る

users画面にアクセス
http://localhost/cake/users

モデルがない

モデル作成

users画面にアクセス
http://localhost/cake/users

おこられた。ここまでいつもどおり

scaffoldの利用定義
コントローラクラスにscaffold変数を追加するだけ。

<?php
class UsersController extends AppController {
var $name = ‘Users’;
var $scaffold;
}
?>

users画面にアクセス
http://localhost/cake/users



完成。素敵。

外部リンク

-公式マニュアル
http://book.cakephp.org/ja/view/105/Scaffolding