2008-04-01から1ヶ月間の記事一覧
http://dev.mysql.com/doc/refman/4.1/ja/innodb-restrictions.html バイナリ形式のデータベースを Unix と Windows の間で移動するには、 すべてのテーブル名とデータベース名を小文字にする必要がある。 らしい。 MySQL 4.1 での話なので 5.x ではどうなん…
mb_ereg() でハマった。 mb_ereg() で半角カタカナの入力チェックをしていたら、環境によってチェックの結果が違った。 具体的には全角カナなのに半角カナと誤認されてしまったり…。 そして↓なページを見つけた。 http://blog.asial.co.jp/181 原因は簡単な…
http://www.bambalam.se/bamcompile/ ウェブアプリ違う言語でパッケージアプリを作らないで済むようになったらハッピーなんだけど、できるかな〜?
CodeIgniter でショートタグを使おうとしたけど使えなかった。 公式サイトでは http://userguide.cilab.info/general/alternative_php.html CodeIgniter では、オプションで、その都度ショートタグ機能の設定を上書きして、 サーバでサポートされていない場…
http://php.benscom.com/manual/ja/language.types.string.php#language.types.string.parsing 注意: 文字列内での変数のパースは、文字列の連結に比べてよりメモリを消費します。 メモリの使用量をできるだけ抑えた PHP スクリプトを書きたいのなら、変数の…
PHP 5.3.0 以降ならば、終端記号をシングルクォートで囲むと変数展開は発生しない。 以下、例。 参考 http://php.benscom.com/manual/ja/language.types.string.php
HTML でチェックボックスの name 属性にブラケットを使うと、PHP 側で配列として処理できて便利。 この時以下2つの方法がある。 方法2がオススメ。 方法1 <input type="checkbox" name="check1[]"> <input type="checkbox" name="check1[]"> <input type="checkbox" name="check1[]"> 方法2 <input type="checkbox" name="check1[1]"> <input type="checkbox" name="check1[2]">
以下の優先順位で取得を試みるとよさそう。 コントローラで設定した値 リクエスト値 セッション値 デフォルト値 そんな関数を作ってみた。 result->get($name); if($ret !== null){ return $ret; } $ret = $t->request->get($name); if($ret !== null){ retu…
ダウンロードは以下。 http://www.codegear.com/jp/products/delphi/php すごいと思った所: VisualStudio のように画面部品を配置できる。 ガイド機能がすごくいい。 プロファイラでどこで時間が掛かっているか分かる。
isset() には関数の戻値を引数として渡せないので注意。 isset() の引数は参照渡しになる。PHP の場合、変数の参照はとれるが、値の参照はとれない。 そのため関数の戻り値を isset() に渡すことはできない。
使ってはいけない理由は主に以下2つです。 サーバ側の設定によってはソースが見える XML と相性が悪い 逆に言えば上記2つを分かっていれば使ってもいいってこと? ソースが見えるかはチェックロジックを入れておけば分かる。 XML は直接 PHP に書かなけれ…
Windows XP SP2 以降はセキュリティ設定が厳しくなり、ping が届かない場合がある。 以下サイトに詳しい説明がある。 404 File not found - 家庭内LANを構築しよう
CakePHP の h() という関数は htmlspecialchars() の別名。 この関数は脆弱性があるらしい。 以下サイトに詳しい説明がある。 http://www.blueocean.bz/blog/cakephp/2008/04/15/h-%e3%81%ae%e8%84%86%e5%bc%b1%e6%80%a7/ 実際にソースを見てみる。 cake/bas…
ソースを utf8 で書いていて正規表現に日本語を使う場合は以下のように u オプションを付ける。
時間のフォーマットには strftime を使う。 require 'Date' t1 = Date.today p t1.strftime("%Y/%m/%d") t2 = Time.new p t2.strftime("%H:%M:%D") strftime という分かりにくいスペルだけど、Ruby では名称の多くは C や Perl から引用されている。 そのた…
time は高速だけど、扱える範囲が狭い。 date は年月日を幅広く扱える。 datetime は年月日字分秒を幅広く扱える。
モジュールの参照パスを表す配列。 Ruby はこの $LOAD_PATH に登録されているパスからモジュールを探す。
TracLight 1.5.1 を使っていて気付いたんだけど、解決したチケットに対して、コミット ログで何か書き込んでもチケット画面には反映されない。 ぁそもそも解決してるのにコミットが起きるってのがおかしいって話かな。 それならそれでコミットの時に何か言っ…
と思って grep したけど見つからない。 そもそも CakePHP って PHP4 にも対応してるんだから、__autoload なんて使ってない気がしてきた。
PDO パラメータライズド クエリーを利用する場合、bindParam() でパラメータをバインドする。 下記のコードではバインドが意図したようにできないので注意。 prepare($sql); $params = array( ":user_id" => "1", ":user_name" => "foo", ); foreach($params…
http://googleapps.hakaede.com/2007/05/value-domain.html結構サクサクと設定できた。 ポイントは以下。 ドメインのルートを登録しても大丈夫。(サブドメインじゃなくてもOK MXレコードが何なのか勉強しておく。 Google への申し込み http://www.google.co…