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

テスト環境でのDBの切り替え方

パーマリンク 2008/07/02 17:31:53 著者: cakephp メール
カテゴリ: データベース

データベースの接続情報は app/config/database.php に記載するのですが、ここの値を本番環境とテスト環境で書き換えるのは手間ですし、間違ってアップしてしまう可能性もあるので、できればやりたくありません。

そんな時には、CakePHP 環境に応じてDBの設定を変えるが参考になります。

色々な方法が紹介されていますが、下記の方法がやりやすいかなと思います。

1.httpd.conf に下記の内容を追加

SetEnv CAKE_DB_CONFIG test


2.app/app_model.php に下記の内容を追加

<?php
class AppModel extends Model
{
    function __construct($id = false, $table = null, $ds = null)
    {
        $this->useDbConfig = empty($_SERVER['CAKE_DB_CONFIG']) ? $this->useDbConfig : $_SERVER['CAKE_DB_CONFIG'];
        parent::__construct($id, $table, $ds);
    }
}


これでサーバー側で利用する DB の接続情報を判断して取得してくれるので、開発側としては意識せずに取り組めます。

日付フォーマットヘルパー

パーマリンク 2008/07/01 16:40:32 著者: cakephp メール
カテゴリ: ヘルパー

日付のフォーマットヘルパーです。

app/views/helpers/html.php(ない場合はcakeからコピー)に下記の内容を追記します。

function dateFormat($date,$format = "Y年m月d日") {
    return date($format,strtotime($date));
}
function df($date,$format = "Y年m月d日") {
    return $this->dateFormat($date,$format);
}

※df は dateFormat の省略形式

呼び出すビュー側は下記の通りです。

<?php e($html->df($date)); ?>


頻繁に利用するフォーマットは予め用意しておくと便利ですね。

例えば、こんな感じで。

function dateFormat($date, $format = "Y年m月d日") {
    if (empty($date)) {
        return false;
    }
    return date($format, strtotime($date));
}
function dfj($date, $format = "Y年m月d日") {
    return $this->dateFormat($date, $format);
}
function df($date, $format = "Y/m/d") {
    return $this->dateFormat($date, $format);
}
function dtfj($date, $format = "Y年m月d日 H:i:s") {
    return $this->dateFormat($date, $format);
}
function dtf($date, $format = "Y/m/d H:i:s") {
    return $this->dateFormat($date, $format);
}
function dmfj($date, $format = "Y年m月d日 H:i") {
    return $this->dateFormat($date, $format);
}
function dmf($date, $format = "Y/m/d H:i") {
    return $this->dateFormat($date, $format);
}
function tmf($date, $format = "H:i") {
    return $this->dateFormat($date, $format);
}




参考:CakePHP::date形式の日付を年月日形式に変換するヘルパー
参考:日付のフォーマット文字列

ページ送り機能(基本版)

パーマリンク 2008/06/30 16:30:42 著者: cakephp メール
カテゴリ: ヘルパー, ビュー, コンポーネント, コントローラー

【CakePHP1.1】
ページ送り機能の基本版です。

http://bakery.cakephp.org/articles/view/pagination-component
上記ソースを app/controllers/components/pagination.php に設置します。

http://bakery.cakephp.org/articles/view/pagination-helper
上記ソースを app/views/helpers/pagination.php に設置します。

http://bakery.cakephp.org/articles/view/pagination-element
上記ソースを app/views/elements/pagination.thtml に設置します。


コントローラーに下記のように書きます。

<?php 
class SamplesController extends AppController
{
    var $uses = array('Sample');
	var $components = array ('Pagination');
	var $helpers = array('Pagination');

	function index() {	
		$conds = NULL;
		list($order,$limit,$page) = $this->Pagination->init($conds);
		$data = $this->Sample->findAll($conds, NULL, $order, $limit, $page);

		$this->set('data',$data);
	}
}


ビューは下記のように書けば、ページ送りが表示されます。

<?php e($this->renderElement('pagination')); ?>


細かい内容を変更する場合は、設置したヘルパーなどを変更します。

コントローラーから別のビューを呼び出す方法

パーマリンク 2008/06/26 20:19:11 著者: cakephp メール
カテゴリ: ビュー, コントローラー

CakePHP は規則に沿ったやり方でやる分には、色々と省略して書けたりしてかなり便利です。

一方、その規則から外れたやり方をやりたい時は??となってしまうこともあります。

今回はあるコントローラーから、別のコントローラーに属するビューを呼び出す方法の紹介です。

アクション(sample)のビューを呼び出す場合

$this->render('sample');  // 無くてもOK


同じコントローラー内の別アクション(other_sample)のビューを呼び出す方法

$this->render('other_sample');



別のコントローラー(tests)のビューを呼び出す方法

$this->render('../tests/sample');

これで呼び出せます。

別のビューを呼び出して、そのコントローラーのビューが一つもない場合でも、app/views にフォルダだけはいるので要注意です。

テーブルの項目を変更した時の注意点

パーマリンク 2008/06/24 16:47:17 著者: cakephp メール
カテゴリ: モデル

テーブルの設計が途中で変更になることがあると思います。
そういったときに気をつけなければならない事があります。

CakePHP では、app/tmp/cache/models/ 以下にモデルの情報がキャッシュされますので、既存テーブルにカラム追加や変更、削除を行っても、ここのファイルが変わらない限り、昔のテーブル構成のまま動こうとします。
ですので、ここのファイル(items モデルなら default_items)を削除することを忘れないようにしましょう。

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

2018年12月
 << <   > >>
            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 31          

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