年末にぶらりと寄った書店に売っていたのをうっかり買ってみました。 いいなと感じた点を3点ほどあげてみます。 CakePHPで用意されている各種ビューの使い方が分かって非常に良かったです rewriteまわりがハマりどころですが、その辺のハウツーがあって良い 一連の処理の流れの図があるので、そこからハックもできる 今年も個人的に1本はなんらかのアプリを作って行きたいです。 Fast CakePHP (LLフレームワークBOOKS # 4) posted with amazlet on 08.01.10 秋田 真宏 技術評論社 (2008/01/09)売り上げランキング: 344 おすすめ度の平均: CakePHPを手早く知るにはよい一冊だが Amazon.co.jp で詳細を見る
スクリプトのprepareとサーバのprepare PHPのPDOを使いながらクエリーログを見ていたら、 見慣れないものが目に入ってきました。 [code] 391 Connect admin@localhost on pdo_test 391 Prepare [1] INSERT INTO users SET name = ? 391 Execute [1] INSERT INTO users SET name = '9f732d76d9f2f0b4e62c8091c99a2334' 391 Quit [/code] Prepareという行なのですが、PerlのDBIを使っていた分には見たことがありませんでした。 そこで以下を参照して、 MySQL 関数 (PDO_MYSQL) [code] $pdo = new PDO('mysql:host=localhost;dbname=pdo_test;charset=utf-8;unix_socket=/tmp/mysql.sock', "username", "password"); $pdo->setAttribute(PDO::MYSQL_ATTR_DIRECT_QUERY, true); [/code] 上のようにPDOの設定をして同じSQLを実行すると [code] 392 Connect admin@localhost on pdo_test 392 [...]
データベースの1カラムに配列を突っ込むのはお作法的にはあまりよろしくなくて、デリミタとして[|,]あたりを使ってカラムに突っ込んだりした過去もあった。 先日、それPHPのserialize関数でやってるよという話を聞いて割と目から鱗だった。連想配列も気軽につっこめます!でもPerlで読めないよ><みたいな話だった。 CPANモジュールを探したら案の定ありました。 The CPAN Search Site – search.cpan.org PHP::Serialization Perlからも安心してPHPのserializeを扱えます。 でも時代はJSONでしょうとうことで、以下の記事とかを参照すると よほど階層を深くしない限りは問題ない感じだ。 zuzara : PHP5.2.0でserialize()とjson_encode()はどちらが速いのか バッドノウハウですが、DBに配列などを突っ込む時はJSONがよろしいようで。
Unknown::Programming – tableタグで1から100を表示 コードははてダに書いていたのですが、バックスラッシュ化ける問題があったりするのと、こっちにコードなんかも書いていこうかということでちょうどいい例題。 PHPでやってみよう [code] [/code] こんな感じかしら。 smartyを使うとこんな感じ。 [code] {section name=r start=0 loop=9} {section name=d start=1 loop=10} {$smarty.section.r.index*10+$smarty.section.d.index} {/section} {/section} [/code] 演算の記号のところに半角を入れるクセがついているのですが、半角を入れると思ったように動いてくれません>< 以下参照です。 みるくぜりー | Smartyでfor文みたいな動きをさせるには Perlのおかげさまで、for文で++とか条件書いたりすることができなくなりました>< あと個人的には、View部分でのecho/printは極力使わないようにしている感じです。