CakePHP とりあえずセットアップ
DB接続編集
app/config/database.php.default
→app/config/database.php
設定をあわせて、文字コードを追記
「'encoding'=>'utf8'」 を末尾に。
環境設定で、
Aptana/Editorでタブ使用にして、Editを押して
「Insert spaces for tabs」にチェックを入れる
ログをカスタマイズする。
cake/libs/cake_log.php
$filename = LOGS . date('ymd') . '_' . $type . '.log';
日ごとにログになる。
ーーー
SimpleTestを入れる。
~/test.phpにアクセスして、あとは流れで入れる。
app/vendors 配下にコピーして終わり。
-
-
- -
-
bakeでモデルをつくっておく
※MySQLWorkbenchでDDL自動生成時、外部キーがPKになってしまうので、
ツール上ではずすことを忘れないようにする。
-
-
- -
-
モバイル用にカスタマイズ
1.PEARでNetUserAgentMobileを落とす
2.PEARディレクトリをまるごとAPP/vendors配下にコピー
3.APP/vendors配下にinclude_path.phpを設置、内容は以下
-
-
-
-
- -
-
-
-
-
-
-
-
-
- EOF
-
-
-
-
4.APP/controller/compornent配下にmobile.phpを作成
-
-
-
-
- -
-
-
-
'Net'.DS.'UserAgent'.DS.'Mobile.php'));
class MobileComponent extends Object {
function startup(&$controller) {
$this->controller = $controller;
$mobile = Net_UserAgent_Mobile::factory();
if ($mobile->isNonMobile()) {
$this->controller->redirect("/pc.html");
}
}
}
-
-
-
-
- EOF
-
-
-
※APP/webroot配下にpc.htmlを適当のおく。PCはここに振り分けられる。
5.APP/app_controller.phpを配置
※CAKE/lib/controller配下からコピーしたもの
空っぽのAppControllerクラスを以下のように記述
-
-
-
- -
-
-
class AppController extends Controller {
var $components = array('Mobile');
var $helpers = array('Mobile');
function beforeRender() {
$this->pageTitle = mb_convert_encoding($this->pageTitle, "SJIS", "UTF-8");
parent::beforeRender();
}
}
-
-
-
-
- EOF
-
-
-
ヘルパークラスのMobileが必要になるので、
APP/views/helper/moble.phpを作成
-
-
-
- -
-
-
class MobileHelper extends Helper {
function afterRender() {
$out = ob_get_clean();
$out = mb_convert_kana($out, "rak", "UTF-8");
$out = mb_convert_encoding($out, "SJIS", "UTF-8");
ob_start();
echo $out;
}
}
-
-
-
-
- EOF
-
-
-
以上
参考
http://www.syuhari.jp/blog/archives/168
このままではhtmlが文字化けするので、
APP/views/layouts/default.ctp
をheadに追加する。