CakePHP Tips
Shell クラスを利用した cron ジョブ
Shell クラス(Cake コマンド)を利用した cron ジョブを実行したい場合の方法。
cron ジョブの実行方法として、任意の URL にアクセスして処理する方法と Shell クラス(Cake コマンド)を利用して処理する方法の2通りがある。
cron ジョブ
cron ジョブを実行したい場合の方法
http://www.exsample.com/controller/action の処理を cron で実行する場合の例を記述する。
Shell クラス(Cake コマンド)を利用した cron ジョブを実行する場合は下記を参照。
Shell クラスを利用した cron ジョブ
文中で使用する PATH は下記の通り定義するものとする。
※[VENDERS] は CAKE_CORE_INCLUDE_PATH/vendors
※[APP] は ROOT/APP_DIR
データベースへのテーブル登録
データベースへのテーブルの登録は、schema を使って大雑把に登録し、細かい部分は後から、phpMyAdmin を使って修正する。
※後で、phpMyAdmin を使う理由は、schema で用意されているキーでは設定できないものもあるため(後述)。
コンソールを使用するインストール
コンソールを使用するインストール方法。
コンソールを使用しない方法は下記を参照。
コンソールを使用しないインストール – CakePHP Tips
基本情報
動作環境は下記。
主に XREA と CORESERVER を使用。
CakePHP : 1.2系(インストールは 1.2.4)
PHP : 5系
MySQL : 5.1系
SQLite : 試したい。
※ XREA と CORESERVER については下記を参照
XREA のソフトウェア情報
CORESERVER のソフトウェア情報
ダウンロード
下記から最新版を取得する。
CakeForge: CakePHP: Project Filelist
コンソールを使用しないインストール
コンソールを使用しない場合のインストール方法。
基本情報
動作環境は下記。
主に XREA と CORESERVER を使用。
CakePHP : 1.2系(インストールは1.2.0 RC3 or 1.2.2)
PHP : 4系、5系
MySQL : 4.0、4.1、5.1
SQLite : 試したい。
※ XREA と CORESERVER については下記を参照
XREA のソフトウェア情報
CORESERVER のソフトウェア情報
ダウンロード
下記から最新版を取得する。
CakeForge: CakePHP: Project Filelist
キャッシュ
キャッシュヘルパーを利用して、レイアウトやビューをキャッシュする。
ビューをキャッシュすることで負荷を減らすことができる。
※以下、Cache.config は default のままとする。(キャッシュエンジンは File)
ログ出力
ログを出力したしたい場合に使用する関数。
使用方法
Object クラスのメソッドとして、log() が用意されているため、コントローラ、モデル、ビュー、ヘルパーなど Object クラスを継承しているクラスで下記のように使用することができる。
$this->log($msg, $type = LOG_ERROR)
第1引数
$msg:ログファイルに出力したいメッセージ。配列の場合は、print_r() の出力形式と同じように出力される。
第2引数
$type:ログのタイプ(ログ出力レベル)。下記の通り定義されている。
$levels = array( LOG_WARNING => 'warning', // 3 LOG_NOTICE => 'notice', // 4 LOG_INFO => 'info', // 6 LOG_DEBUG => 'debug', // 5 LOG_ERR => 'error', // 2 LOG_ERROR => 'error' // 2 );
ブートストラップ
CakePHP をインストールした後にほぼ共通で発生する作業。
アプリケーション起動に走る処理(初期設定)で以下の設定を推奨している。
- 便利関数の定義
- グローバル定数を登録
- モデル、ビュー、コントローラの追加のパスの定義
個人的には、デファイン、コンフィグ情報の設定、および、共通ライブラリ等のインポートをここで行っている。
コンフィグ情報の設定は core に書くべきものもあるかもしれないが、混乱を避けるためアプリーション独自の設定はブートストラップにまとめている。
参照
CakePHPのブートストラップ :: 環境設定 :: CakePHPによる開発 :: マニュアル :: 1.2 Collection :: The Cookbook
アプリケーション拡張
CakePHP をインストールした後にほぼ共通で発生する作業。
アプリケーション独自の共通する拡張を書くところを用意する。
参照
アプリケーションの拡張 :: CakePHPの構造 :: CakePHPの基本原則 :: マニュアル :: 1.2 Collection :: The Cookbook
- 検索
- Feeds
- メタ情報