* CakePHP  ※version 2.2 [#b47d87b9]
#setlinebreak(on)


&size(16){&color(red){書きかけの記事};};
&br;

#contents

** インストール [#wa3db673]
https://github.com/cakephp/cakephp/tags から 目的のバージョンをダウンロード

** 環境設定 [#zb975be0]
#html(<div style="margin:0px 0px 0px 10px;">)

※cakePHP3の場合は [[CakePHP3でdebug_kitを利用する為の設定]] も参照。

*** 基本設定 [#i9c8e75b]
・Config/core.php を編集(以下、変更しないと怒られるものだけ記載)
#mycode(){{
date_default_timezone_set('Asia/Tokyo');
Configure::write('Security.salt', 'hogehoge');
Configure::write('Security.cipherSeed', 'fugafuga');
}}
*** データベースの設定 [#f001a3c8]
・Config/database.php を編集
#html(<div style="margin-left:10px;">)
#mycode(){{
class DATABASE_CONFIG {
    public $default = array(
        'datasource' => 'Database/Mysql',
        'persistent' => false,
        'host' => 'localhost',
        'login' => 'ユーザ名',
        'password' => 'パスワード',
        'database' => 'データベース名',
        'prefix' => '', 
        'encoding' => 'utf8',
    );

    public $test = array(
        'datasource' => 'Database/Mysql',
        'persistent' => false,
        'host' => 'localhost',
        'login' => 'ユーザ名',
        'password' => 'パスワード',
        'database' => 'データベース名',
        'prefix' => '', 
        'encoding' => 'utf8',
    );  
}
}}
#html(</div>)

#html(</div>)

** 主なヘルパー [#qcf466af]
#html(<div style="margin-left:10px;">)
*** Formヘルパー [#tbf3576c]
概要  :モデルの定義内容を元にデータ更新用HTMLを生成をサポートするヘルパ。
ファイル:app/View/xxxxx/xxxxx.ctp
#mycode(){{
&lt;?php echo $this->Form->create('Example'); ?&gt;
&lt;fieldset&gt;
&lt;?php
echo $this->Form->input('example_id');・
echo $this->Form->input('example_name');・
・
echo $this->Form->input('xxxx_id',array('empty' => '(選択してください)'));
?&gt;
&lt;/fieldset&gt;
&lt;?php echo $this->Form->end(__('Submit')); ?&gt;
}}
《補足》
 ModelでbelongsTo等が指定されている項目については、参照先テーブルのデータを元にしてプルダウンを生成する事が可能。
#html(</div>)

** 主なライブラリ [#od15e43d]
#html(<div style="margin-left:10px;">)
*** Cache [#g8b3451b]
*** Auth [#a0e3509b]
*** xml [#c9ff1022]
*** PaginatorHelper [#v51b2da6]
*** Session [#g7f0bd3b]
#html(</div>)


** バッチ処理について [#od15e43d]
#html(<div style="margin-left:10px;">)
*** バッチ処理の作成 [#d2635673]
app/Console/Command 配下に Shell クラスを継承したクラスを作成する。
※末尾の Shell は必須。
#mycode(){{
class ExampleBatchShell extends Shell {

    /**
     * 初期処理
     */
    function startup() {
        // ここに初期処理を記述する
        ・
        ・
    }

    /**
     * メイン処理
     */
    public function main() {
        // ここにメイン処理を記述する
        ・
        ・
    }

}
}}

*** バッチ処理の実行 [#w185854d]
以下のようなシェルを準備して、cron 等で定期的に実行する。
#mycode(){{
#!/bin/bash

# クラス名は CamelCase でなく アンダーバー区切りで指定し、末尾の Shell を除去する。
# 例)バッチクラスが  ExampleBatchShell の場合
#        php /path_to/app/Console/cake.php example_batch

php /path_to/app/Console/cake.php クラス名

}}


#html(</div>)

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS