★cakePHP データベースのテーブルに後からフィールドを追加した場合、正常に動作しない。
=> 既存テーブルのフィールドを編集した場合は、app/tmp/cache/models 内のキャッシュを一度削除することで解決する。
by CBA
エンジニアの備忘録
★cakePHP データベースのテーブルに後からフィールドを追加した場合、正常に動作しない。
=> 既存テーブルのフィールドを編集した場合は、app/tmp/cache/models 内のキャッシュを一度削除することで解決する。
by CBA
★PHP(cakePHP)で指定日からの日付の計算をします
strtotime 関数を使って date オブジェクトに変換します。もし数字の文字列が渡されたら、まず整数型に変換し、 Unix エポック(GMT の1970年1月1日0時0分0秒)からの経過秒として扱います。「20081231」という値を渡した場合、 Unix エポックからの経過病として扱われるため、「Fri, Aug 21st 1970, 06:07」というような望ましくない結果が生成されます。(CakePHPマニュアルより)
【コード例】
・2週間後を1行で書くと
$date_2w = date(‘Y年m月d日’,strtotime($user[‘User’][‘birthday’]) + (86400*7*2));
コード例では、DBのusersテーブル・birthday要素に格納されている誕生日(指定日)の7日後を計算しています。
このような日付計算は簡単すぎる為か情報が少ないです。
★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 で始まります。パラメータを駆使すれば、もっといろいろできるでしょう。
Adobe AIRでできた PNG Icon Generator はPNG画像からアイコンを一発作成するツールです。
アイコン作成時に大きさを変えて保存するのは意外と面倒なので、このツールを使うと便利。
★PNG Icon Generator
ダウンロード