cakePHP 1.2.5 ; bake パス設定

★cakePHP 1.2.5 を Windowsで bake するパス設定

・php.exeにパスを通す
C:\xampp\php\

・bake.phpにパスを通す
C:\xampp\htdocs\*InstallFolder\cake\console\

=>consoleディレクトリにてコマンドプロンプトを起動し、cake bake コマンドを入力する
  # cake -app C:\xampp\htdocs\*InstallFolder\app bake


プロジェクトごとにWindows環境変数へパスを通すのは面倒なので、bake実行時のみbake.phpへパスを登録する方法もある。

Windowsで簡単にbake
(1) consoleフォルダをコマンドプロンプトで開く
  (開き方は自分で調べましょう。)
(2) SET PATH=%PATH%;%CD%
  と打ち込む。すると、そのコマンドプロンプトのウィンドウ上だけ、consoleフォルダのパスが追加されます。(%CD%は、カレントディレクトリ、という意味です。)
(3) 単に、PATH(Enter)と入れてみて、実際に登録されたかどうか、確認してみましょう。
(4) CD ../../
で、cakeの親フォルダに戻る
(5) md “プロジェクトファイル名”で、適当なプロジェクト名を作る。
このあたり、エクスプローラでフォルダを作成してもよいと思います。
(6) cd “プロジェクトファイル名”で、そのディレクトリに入る。
(7) あとは、cake bake で始まります。パラメータを駆使すれば、もっといろいろできるでしょう。

by CakePHP のおいしい食べ方

Zen-Cart ; 顧客ログインできない不具合

★Zen-Cart で顧客ログインできない不具合の対処方法

PHP4.3.2 を使用している場合は、
strict_sessions.php
にある session_regenerate_id(); の直後で、

setcookie( session_name(), session_id(), 0, ‘/’ );

と書き足してやれば、なんとか動くようです。
(注意:2箇所ありますので、両方とも変更してください。)

また、管理画面でもログインに失敗する事がありましたが、
クッキーを削除するか、同じ方法を取る事で、回避できます。


ZenCart コミュニティ掲示板トッピック

 

CakePHP; 1.1でアンダースコアを含むテーブル名のscaffold

CakePHP1.1.19.6305でbakeを使用してscaffoldを作ったら、テーブル名にアンダースコアを含む場合、編集やビュー画面でカラムを認識せず、サブミットボタンだけしかないページだけになってしまった。「cake/libs/class_registry.php」のバグだったようで、nightlyの1.1.x.x_24.01.2008で修正されていた。


Copy  by  Siwa32.com

CakePHP;テーブル設計

  • テーブル名
    英語の複数形、users
  • プライマリキー
    id , auto_increment
  • 外部キー
    tablename_id , 指しているテーブル名_id => アソシエーション設定
  • nameフィールド
    アソシエーション設定時の文字データ
  • createdフィールド
    datetime
  • modifiedフィールド
    datetime
  • id=>int(11) , hoge=>varchar(255)

CakePHP;初期設定

①DB接続設定
./app/config/database.php

class DATABASE_CONFIG {
var $default = array(‘driver’ => ‘mysql’,
‘connect’ => ‘mysql_connect’,
‘host’ => ‘localhost’,
‘login’ => ‘hoge’,
‘password’ => ‘******’,
‘database’ => ‘hoge_project’,
‘encoding’ => ‘utf8’,
‘prefix’ => ”);
}

②文字化け解消設定

  • ./app/config/database.php
    ・・・
    ‘encoding’ => ‘utf8’,
    ・・・
  • ./cake/libs/view/templates/layout/default.thtml => copy => ./app/views/layouts/default.thtml
    < ?php echo $html->charset(‘UTF-8’)?>