タグ

2013年3月3日のブックマーク (6件)

  • (PDF) SPL入門 ‑ SPLで学ぶPHP5のオブジェクト指向 ‑

    Piece Network 1 SPL入門 - SPLで学ぶPHP5のオブジェクト指向 - 関山隆介<rsky0711@gmai.com> http://d.hatena.ne.jp/rsky/ SPLとは ✤ Standard PHP Library ✤ PHP5から導入された標準クラスライブ ラリ ✤ 各種イテレータ ✤ ファイル、ディレクトリ ✤ 例外クラス SPLの基盤 ✤ PHP5 (Zend Engine 2) で強化された オブジェクト指向機能 ✤ インターフェイスとイテレータをよく 使っている ✤ メソッド実装の強制、APIの共通化 ✤ foreachによる反復処理 内容 I. SPL関数紹介 II. SPL例外クラス紹介 III. SPLインターフェイス紹介 IV.SPLクラス紹介&使用例 V. まとめ SPL関数 SPL関数 __autoload系 spl_autol

  • 見直されるべきPHP5の組み込みイテレータ - hnwの日記

    PHPには5.0.0以降SPL (Standard PHP Libray)という枠組みが導入されています。これにより、Iteratorインターフェースを実装したクラスのインスタンスであれば、foreach文で配列と同じように取り扱えます。自分でクラスを作るときもIteratorを実装すれば使うのが楽ですし、コードも読みやすくなると思います。 また、PHPに標準で組み込まれているクラスにはIteratorを実装しているものが多数あります。たとえば僕の手元のPHP5.2.9には24個のイテレータがあり、そのうちいくつかは十分に実用的なクラスです。ただ、日語の資料が少ないせいか、かなり知名度は低いように思います。記事では4つの便利な組み込みイテレータを紹介します。 SPLのクラスにはデザインパターンの考えが多く含まれています。特に、イテレータを元にイテレータを作るような使い方は、保守性の高い

    見直されるべきPHP5の組み込みイテレータ - hnwの日記
  • eucJP-ms と CP51932 の違い コードページ932/ウェブリブログ

    「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧

  • mbstring.encoding_translation有効時にhashDoS脆弱性 - Opensource days

    すでに徳丸氏がTwitterでコメントされていますが、PHPの過去のバージョン全てにおいてmbstring.encoding_translationをOn(有効)にした際にmax_input_varsによる制約が無効になってしまうという問題がありました。max_input_varsはユーザ入力変数の最大数を指定するパラメータであり、hashDoS対策として導入されたものです。この結果として、mbstring.encoding_translation=Onの設定でhashDoS脆弱性が存在していました。 mbstring.encoding_translationはmbstringの機能で、ユーザー入力パラメータの文字エンコーディングを自動的に内部文字エンコーディングに変換する用途で使用されています。 昨日公開された最新のバージョン(PHP 5.4.9またはPHP 5.3.19)ではこの問題が

    mbstring.encoding_translation有効時にhashDoS脆弱性 - Opensource days
  • EUC-JPからUTF8への変換の際にCP51932を使う - longkey1's blog

    PHPの文字エンコーディングでEUC-JPからUTF-8へ変換した時に色々ハマったのでメモ。 今までeucJP-winとSJIS-winを使っておけばOKって思ってたけど、実際は色々違うみたい。 検証する文字列 纊あいa忞寬①㈱Ⅲ㌔髙アイウ 検証した時に使ったコード $str = "纊あいa忞寬①㈱Ⅲ㌔髙アイウエオ"; echo "EUC-JP > UTF-8\n"; echo 'EUC-JP = ' . mb_convert_encoding($str, 'UTF-8','EUC-JP') . "\n"; echo 'eucJP-win = ' . mb_convert_encoding($str, 'UTF-8','eucJP-win') . "\n"; echo 'CP51932 = ' . mb_convert_encoding($str, 'UTF-8','CP51932') .

  • PHP5.3にてタイプヒンティングでスカラー型が使える!?(勘違い編)

    by @dekokun on 2012/12/05 22:13 Tagged as: PHP. まえがき どうも、最近PHPとHaskellを学んでおります。今日はPHPネタ。php5.3でスカラー型のタイプヒンティングが使えるという勘違いが発生したお話。 発端 皆さんご存知の通り、PHP5.3までは、arrayもしくはオブジェクトの場合はタイプヒントが使用できるのですが、integerやstringなどのスカラー型に対してはタイプヒントは使えません。 参考:PHP: タイプヒンティング - Manual しかし、ある日、私はPHPでタイプヒンティングについてググっていたら、下記のようなサイトを発見したのでした 日PHPユーザ会 掲示板: PHP 5 » プリミティブな型でもタイプヒンティングが働きます そこに載っていたコードはこんなです。 function myfunc(int $i)

    PHP5.3にてタイプヒンティングでスカラー型が使える!?(勘違い編)