タグ

2012年1月25日のブックマーク (3件)

  • stream_resolve_include_path()関数で簡単オートロード - k-holyのPHPとか諸々メモ

    stream_resolve_include_path()はファイル名からinclude_pathを考慮したファイル検索を行なって、ファイルが存在すればパスを返してくれる関数。(5.3.2以降) http://jp.php.net/manual/ja/function.stream-resolve-include-path.php この関数を使って、include_path前提の名前空間とPEAR形式の両方(PSR-0)に対応したオートロード実装を書いてみました。 ※PSR-0については http://scopenote.blogspot.com/2011/02/psr-0.html などを参照 以前のinclude_pathを使ったクラスロードでは、エラー制御演算子や一時的なerror_reporting()変更でinclude/fopen()する方法や、include_pathをPAT

    stream_resolve_include_path()関数で簡単オートロード - k-holyのPHPとか諸々メモ
    k-holy
    k-holy 2012/01/25
    更新しました
  • str_getcsv()の第4引数($escape)の挙動 - k-holyのPHPとか諸々メモ

    str_getcsv()はCSV1レコード分の文字列をパースして配列を返してくれるとても便利な関数。(5.3以降) http://jp.php.net/manual/ja/function.str-getcsv.php この関数、第2引数のdelimiter(区切り文字)、第3引数のenclosure(囲み文字)はいいとして、第4引数のescape(エスケープ文字)を指定できるとマニュアルには書いてますが、期待通りに動いてくれません。 デフォルトはバックスラッシュとありますが、実際にはデフォルトは第3引数と同じ文字になるみたいです。 ダブルクォート、カンマ、スペース、改行をフィールドに含む場合の挙動を調べた限りでは、今のところデフォルト設定でExcel準拠な感じなので、enclosureと違うescapeを指定する必要がなければ大抵のケースではこの関数で問題なさそうではありますが、要注意と

    str_getcsv()の第4引数($escape)の挙動 - k-holyのPHPとか諸々メモ
    k-holy
    k-holy 2012/01/25
  • mysqlのcollateを使って大文字-小文字や全角-半角を無視した検索 - end0tknr's kipple - web写経開発

    mysqlでは、collate = utf8_unicode_ciを指定すると、大文字-小文字だけでなく、全角-半角を同一視できるそうですが、実際にどの文字が同一視されるのかを試してみました。 collateとは http://tetlist.info/2009/01/mysql ↑このエントリでも分かりやすく紹介されていますが、collate(照合順序)とは、文字を比較(一致/不一致や表示順)する際のルールです。 utf8_unicode_ciで大文字-小文字だけでなく、全角-半角を同一視 mysqlのデフォルトcollateであるutf8_general_ciでは、大文字-小文字を同一視しますが、utf8_unicode_ciでは、さらに半角-全角も同一視します。 ※ci とは Case Insensitive の略称のようです tableやcolumn自体にcollateを設定する

    mysqlのcollateを使って大文字-小文字や全角-半角を無視した検索 - end0tknr's kipple - web写経開発
    k-holy
    k-holy 2012/01/25
    collate = utf8_unicode_ciの動作