プログラマーになりたい。

プログラミングや写真や本や読書会のことや、日常のこと。

いま、CakePHP試してるー。

バイトの話だけど。かなーり軽ーい案件だけど。

CakePHPの勉強がてら、やってます。基本は

を読んでやってみた。ビヘイビアがヘルパが…ってあたりでかったるくなったので。すっとばして主に

を参考にした。

インストール

c:\xampp的な感じに解凍。installとか付いてるバッチファイル(.bat)を実行して、OK。いろいろ忘れてるかもしれんが知らない。起動はapache_start.bat(ウィンドウ出るけど消しちゃ駄目)。http://localhost/にxammp動いてるっぽい画面出るか確認。(作業終わったらapache_stop.bat。)

http://www.cakephp.org/からDownload押して、cake_1.2.0.7296-rc2.zipとかいうやつを入手した。
xampp/htdocs/cake_1.2.0.7296-rc2/(appとかいろいろ)
みたいな感じになるようにzip解凍して、
htdocs/(てきとーなプロジェクト名)/
みたいにリネーム。あ、セパレータはスラッシュじゃないのか(Windowsだった。まあいっか)。設定は…何かしたかしら。多分してないと思うけど、てきとーに。あ、最低限
htdocs/(プロジェクト名)/app/tmp/cache/models
ディレクトリは、Webサーバが書き込めるようにしとかないとね(プロパティ見て「書き込み専用」とかになってるとエラー)。
http://localhost/(プロジェクト名)/
がindex的なものに。

おれ、DB使わない

だけど、金もらって勉強してるってのも、どうよって感じなので、できれば大げさにしたくない。できれば、素のPHPで作るのと同じか少ないぐらいの時間で終わらせたい。それに、そもそも「モデル」を使うほどデータの量とか再利用の可能性とかがない。

というわけで、さしあたりDBは使用しないことにした。環境はxampp(バイト先はWindowsなので)だから、MySQLとかが使えるけど、どっかにdeployするとか言う話になるとDB関係はめんどうだしね。

1. モデルを使わない

コントローラの$usesにnull or array()を設定することによりモデルを使用しないようにできます。データベースへの接続はモデルを介して行うのでモデルを使わなければ接続処理は行われません。(セッションやキャッシュをDBに保存する場合は別ですが)
PLAIN TEXT
PHP:

1. <?php
2. class HogeController extends AppController {
3. var $uses = null;
4. }
5. ?>

ただこの方法だと当然ながらモデルは使用できませんし、各コントローラに$uses=nullを設定する必要があります。

PHPSJISは厳禁らしいぜ

あとー。よくわかんないんだけどー。CakePHPってソケット作って、getしてー、とかってやると文字コード変換とかはしてくんないっぽい。ので、そこ注意!でした。

$str = mb_convert_encoding($str, "UTF-8", "SJIS");

とかそんな感じ。なぜなら、PHPさんはShift-JISと相性最悪なので、preg_系とかの関数を使うときはUTF-8とかにしないと本気ではまる。以前、それを知らずにやっちゃって、泣きそうになった。

で、前述の通りモデルづくりは無視。「10.1.7 Postsコントローラの作成」以降「まとめ」までを参考に、コントローラとビュー作成。

http://localhost/(プロジェクト名)/(コントローラ名)
とかを見る。いちおう流れとしてはこんな感じ。

関係ないけど、いま「びゅう」って打って変換したらことえりが「別府」って出したぞ!なんだこれ!JRの陰謀?

あとはpreg_系でがんばる。

アプリの用途がそういう傾倒のものですので。正規表現のかたみりみたいな読み返すのもうんざりするよのものを。ひたすらがんばる。でも、ここは企業秘密だと思うので割愛。

1個目完成。「フレームワークとかどうしようかなー」から含めて、出勤3日(各2時間)ぐらい。次からは準備がないので目標1日コントローラ1本!

以上。

Creative Commons License ©2007-2016 IIDA Munenori.