ページ: << 1 ... 9 10 11 12 13 14 15 16 17 18 19 >>

最初に準備しておきたい項目

パーマリンク 2008/06/07 09:18:22 著者: cakephp メール
カテゴリ: 設定

CakePHPをインストールした後、開発する前にやっておきたい内容をまとめておきます。
(少しずつ加えていきます)

1.URLの最後にスラッシュを必ずつける

もちろん付けない設定も可能で、どちらかに統一させる方が良いと思います。

app/app_controller.php
    function beforeFilter()
    {
        // URLの最後に/を入れる
        if (isset($this->params['url']['url'])) {
            $uri = $this->params['url']['url'];

            if (substr($uri, -1) != '/') {
                $this->redirect($uri . '/', 301);
                exit;
            }
        }
    }

参考:CakePHPでURIの形式を統一する


2.radioボタンの各要素部分をクリックした時にも対象の項目を選択状態にする

app/config/tags.ini.php を作成し、そのファイルに下記の内容を記載します。

    radio = "<input type="radio" name="data[%s][%s]" id="%s" %s /><label for="%s">%s</label>"


そして、cake/libs/view/helpers/html.php を app/views/helpers/html.php にコピーします。
そのファイル内の下記の部分を修正します。

    //修正前
    $out[] = sprintf($this->tags['radio'], $this->model, $this->field, $individualTagName, $parsedOptions, $optTitle);
    ↓
    //修正後
    $out[] = sprintf($this->tags['radio'], $this->model, $this->field, $individualTagName, $parsedOptions, $individualTagName, $optTitle);



3.エラーログを指定したファイルに書き込むようにする

公開する前であれば、デバック情報を画面上に表示させていても問題ありませんが、公開後はそうはいきません。
ですので、予め指定したファイルにログが書き込まれるように設定しておきましょう。

webroot/index.php
    require CORE_PATH . 'cake' . DS . 'bootstrap.php';
    // 以下、追加
    error_reporting(E_ALL);
    ini_set('display_errors', 0);
    ini_set('log_errors', 1);
    ini_set('error_log', LOGS . 'error.log');

書き込みを行いたくない時は、log_errors を 0 にすれば書き込みされません。


4.実行された SQL をログに書き込む設定

CakePHP では SQL 文を直接書く機会が少なく、find などの関数を使って処理を行うことがほとんどです。
大変便利なのですが、実際にどのような SQL 文が実行されているかが分かりにくいです。
エラーログと同様に、予めファイルに書き込まれるように組み込んでおけば、公開後の対応が楽になります。

cake/libs/model/dbo/dbo_postgres_log.php を作成します。

<?php
uses ('model' . DS . 'dbo' . DS . 'dbo_postgres');  // 1.1の場合
//uses ('model' . DS . 'datasources' . DS . 'dbo' . DS . 'dbo_postgres');  // 1.2 RC2 の場合
class DboPostgresLog extends DboPostgres {
    var $queryNo = 1;

    function execute($sql) {
    $ret = parent::execute($sql);
        if (defined('LOG_SQL') && LOG_SQL) {
            $this->log(sprintf("%d. %s", $this->queryNo, $sql), LOG_DEBUG);
            $this->queryNo++;
        }
        return $ret;
    }
}


次に、データベース接続設定ファイルで上記のファイルを読み込むように設定します。

app/config/database.php
class DATABASE_CONFIG {
  var $default = array('driver' => 'postgres_log',
                       'host' => '**********',
                       'login' => '**********',
                       'password' => '**********',
                       'database' => '**********',
                       'prefix' => '');
}


最後に、ログへの出力を行うかどうかの設定をします。

app/config/core.php
define('LOG_SQL', true);

参考:CakePHP SQLをログに記録

勉強会資料

パーマリンク 2008/06/05 23:02:36 著者: cakephp メール
カテゴリ: 参考サイト
CakePHPをさらにDRYにする、ドライケーキレシピ / akiyan.com 秋田真宏 CakePHP Lightening Talk / 100SHIKI Webmaster @nifty トピックイット CakePHP勉強会資料 / nifty 寺元和彦 CakePHPで開発する時に統一しておきたいコーディング内容 / あつ


CakePHPのコンポーネントの使い方(080316) / あつ Cake Php キャッシュのやり方 / あつ Cake Php ページ送り機能 / あつ Cake Php パン屋へ行こう / あつ


addons.mozilla.org CakePHPによるハイパフォーマンスの実現 / 安藤祐介 Cake PhpでやってみようOpenID入門 / あつ CakePHP Email Component 調査報告書 / suzuki CakePHP + Oracle / s-yo-ko


CakePHP1.1 to 1.2 最新バージョンへの移行の紹介 / 安藤祐介 CakePHP 2007年大躍進のフレームワーク / 安藤祐介 CakePHPのHelperを使う Helperの使用方法とかんたんAJAX / 安藤祐介 CakePHPのModelを使う データベース関連処理をシンプルに解決 / 安藤祐介


CakePHPを使う 実装を通じて内部を見る / 安藤祐介 続・CakePHP入門 最近の状況と応用機能について / 安藤祐介 CakePHP入門 PHPでRailsライクな高速開発 / 安藤祐介 【動画】~フェイス女学園~ CakePHP を使った効率的なPC・モバイルサイト構築について / スパイスボックスラボラトリ 神部


【動画】CakePHPでの失敗談 / ブルーオーシャン 岡田佳典 【動画】CakePHPでホッテントリメーカーとか作ってみた / pha 【動画】CakePHPゆとり開発環境 / k1LoW 【動画】OpenIDをAuthComponentにトッピング / 高木(ねねとまつの小部屋)


【動画】CakeにTestがやってきた / 岸田健一郎 【動画】何が違う? CakePHP and symfony / 安藤祐介 何が違う? CakePHP and symfony / 安藤祐介 OpenIDをAuthComponentにトッピング / 高木(ねねとまつの小部屋)


CakePHPでの失敗談 / ブルーオーシャン 岡田佳典 CakePHP で Ajax 入門編 / MICK Cake Phpでの安全なサイトの作り方1(Sqlインジェクション) / あつ CakePHPゆとり開発環境 / k1LoW


CakeにTestがやってきた / 岸田健一郎 CakePHPハンズオン@Tokyo
夏ケイクをはじめよう(仮) / 安藤祐介
何が違う?CakePHP and symfony
違いのわかるbakerになる為の7つのTIP / 安藤祐介
「Tplcutter」を用いた超高速ウェブサイト開発(使い方編) / 滝下真玄(MASA-P)


管理画面のレイアウトの設定方法

パーマリンク 2008/06/05 14:30:19 著者: cakephp メール
カテゴリ: ビュー

CakePHP1.1

ユーザー画面と管理画面のレイアウトを変えたい時には、app_controller.phpで設定しておくと便利です。

app/app_controller.php

    function beforeFilter()
    {
        // 管理画面用のコントローラが呼び出された時のみレイアウト変更
        if ($this->name == "Kanris") {
            $this->layout = 'kanri';
        }
    }

スタート手順

パーマリンク 2008/06/04 12:04:25 著者: cakephp メール
カテゴリ: 設定

CakePHPのインストールから開発前までの手順は下記の通りです。

CakePHP1.1

1.ダウンロード

CakePHPから最新版をダウンロードします。

2.ファイルの設置

ダウンロードしたファイルを解凍します。
できたファイル群内のapp/webroot/配下のファイルをDocumentRoot直下に設置します。
次に、解凍してできたフォルダ配下のファイル全て(app/webroot/以外)を
DocumentRootと同階層以上にcakephpフォルダを作成し、そこに設置します。

3.パスの設定

DocumentRoot直下のindex.phpの最上部にROOTとAPP_DIRのパスを追加します。

    if (!defined('ROOT')) {
        // CakePHPのソース一式を設置したフォルダ
        define('ROOT', '/home/sample/cakephp');
    }
    if (!defined('APP_DIR')) {
        define('APP_DIR', 'app');
    }

4.テンポラリファイルを格納するフォルダのパーミッションの変更

app/tmp/以下全てのパーミッションを777に変更します。

5.トップページ(仮)を設置

cake/libs/view/templates/pages/home.thtmlをコピーして
app/views/pages/home.thtmlに設置します。

以上で準備は完了です。

6.トップページ以外のURLが見れない時は

app/webroot配下のファイルを設置したのが、DocumentRoot直下でない場合、トップページ以外のページを見ようとしても404エラーが返ってきたりします。
そのような時は、app/webroot配下のファイルを設置した場所にある.htaccessファイルに下記の部分を追加します。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
    RewriteBase    /sample/hoge                   // DocumentRootからのパスを追加する
</IfModule>



CakePHP1.2 RC2

基本の流れは上記と同じですので、違う部分のみ。

1.Security.saltを書き換える

app/config/core.php 内の Security.salt の値を適当に変更します。

findで条件の範囲指定をする方法

パーマリンク 2008/06/03 18:33:37 著者: cakephp メール
カテゴリ: モデル

例えば、体重が80Kg以上かつ100Kg以下の人を抽出したい時のfindAllの書き方は下記の通りです。

$conditions = array('del_flg' => '0', 'AND' => array(array('weight' => '>= 80'), array('weight' => '<= 100')));
$members = $this->Member->findAll($conditions);

「del_flg」はおまけです。

<< 1 ... 9 10 11 12 13 14 15 16 17 18 19 >>

2018年6月
 << <   > >>
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

CakePHPに関する情報をまとめていきます。

開発スピードがアップできればうれしいです。

>>連絡はこちらへどうぞ



CakePHP最新版
CakePHP 1.2.3.8166


CakePHPの書籍

CakePHPによる実践Webアプリケーション開発

CakePHP1.2で作成する人にオススメ。
とても参考になります。

まるごとPHP!(vol.2)

安藤さんの解説が載っています。
AmazonのPagination部分は参考になります。

CakePHPによるWebアプリケーション開発

まだ読んだことありません

CakePHPポケットリファレンス
CakePHPポケットリファレンス
CakePHP1.2 でやるなら、これがあると何かと便利♪

CakePHP徹底入門
CakePHP徹底入門
CakePHP1.2 を今から始めるならここから

Fast CakePHP
Fast CakePHP
シンプルでわかりやすい CakePHP の入門書

CakePHPガイドブック
CakePHPガイドブック
CakePHP1.1 ではとても参考にした CakePHP 最初の入門書

検索

XMLフィード

16ブログ     powered by b2evolution