- 追加された行はこの色です。
- 削除された行はこの色です。
- CakePHP へ行く。
* 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(){{
<?php echo $this->Form->create('Example'); ?>
<fieldset>
<?php
echo $this->Form->input('example_id');・
echo $this->Form->input('example_name');・
・
echo $this->Form->input('xxxx_id',array('empty' => '(選択してください)'));
?>
</fieldset>
<?php echo $this->Form->end(__('Submit')); ?>
}}
《補足》
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>)