タグ

ブックマーク / blog.sarabande.jp (4)

  • Unicode の制御コードが含まれるかチェックする

    Unicode の制御コードが含まれるかチェックする英数字が含まれるかチェックする英字が含まれるかチェックする半角数字が含まれるかチェックする ヌルバイト(U+0000) などの制御コード(制御文字)によって脆弱性が生み出される可能性があることと日常の文章のやりとりでは不要な文字なので、制御コードが存在するかどうかをチェックする必要がある。 制御コードの集合は C0 と C1 と呼ばれる。C0 のコードポイントの範囲は U+0000 から U+001F と U+007F であり、C1 のコードポイントの範囲は U+0080 から U+009F である。Unicode.org で配布されている C0 の定義と説明はこちら、C1 はこちらのリンクを参照。Wikipedia の C0 and C1 control codes やUnicode control characters の記事が存在す

    Unicode の制御コードが含まれるかチェックする
    escape_artist
    escape_artist 2016/07/04
    むずかしい
  • PHP 5.5 でジェネレータが導入される

    PHP 5.5 でジェネレータが導入されることになりました。 PHP においてジェネレータは Iterator インターフェイスを実装するクラスで次のメソッドが定義されています。 final class Generator implements Iterator { void rewind(); bool valid(); mixed current(); mixed key(); void next(); mixed send(mixed $value); } 関数やメソッド定義のなかの yield 文で指定した式は foreach ループで展開されます。これによって Iterator インターフェイスを実装するクラスを用意しなくても、上記のイテレータのメソッドを利用したり、AppendIterator や MultipleIterator を使って複数のジェネレータをまとめるなど、イテ

    PHP 5.5 でジェネレータが導入される
    escape_artist
    escape_artist 2012/09/03
    うーむ
  • PHP 5.4 でコンストラクタから直接メソッドチェーンを実行できるようになった

    Added class member access on instantiation (e.g. (new foo)->bar()) supportメソッドチェーンを実装したい場合、PHP 5.3 まではコンストラクタの代わりに自分自身を返す Creation メソッド (static Factory Method) を用意する必要がありましたが、PHP 5.4 からはコンストラクタメソッドから直接メソッドチェーンを実行できるようになりました。 class Foo { public function bar() { echo 'Hello World' . PHP_EOL; } static public function create() { return new self(); // もしくは return new static(); } } Foo::create()->bar();

    PHP 5.4 でコンストラクタから直接メソッドチェーンを実行できるようになった
  • PHP 5.4: 配列を通じた間接的なメソッド呼び出し

    2012/02/11追記 microtime 関数による測定を timer 関数にまとめました。 2011/09/17追記 配列の表記をarray() から 短縮構文の [] に書き換えました。 Request for Comments: Indirect method call by array variableAdded indirect method call through array variable$arr = array(‘Hello’, 'world’); $arr();Felipe Pena 氏の取り組みによって、配列変数からメソッド呼び出しを実行できるようになりました。従来は call_user_func() 関数を使う必要がありました。 <?php class Hello { public function world($x) { echo "Hello, $x\n"

    PHP 5.4: 配列を通じた間接的なメソッド呼び出し
    escape_artist
    escape_artist 2011/09/25
    おー、綺麗
  • 1