タグ

php5.3に関するjustoneplanetのブックマーク (3)

  • PHP: PHP 5.3.x で推奨されない機能 - Manual

    PHP 5.3.x で推奨されない機能 PHP 5.3.0 では新しく二つのエラーレベルが加わりました。 E_DEPRECATED と E_USER_DEPRECATED です。 E_DEPRECATED エラーレベルは、 特定の機能が推奨されないことを示すのに使います。 E_USER_DEPRECATED エラーレベルは、ユーザー定義のコードで推奨されない機能、たとえば E_USER_ERROR や E_USER_WARNING のようなものを示すのに使います。 INI ディレクティブで推奨されないものは以下の通りです。 これらのひとつ以上を有効にすると、起動時 E_DEPRECATED エラーが発生します define_syslog_variables register_globals register_long_arrays safe_mode magic_quotes_gpc ma

  • 第2回 クロージャとgoto文 | gihyo.jp

    クロージャ クロージャとは関数の一種で、多くのスクリプト系言語がサポートしている機能です。PerlRubyPythonなど、モダンなスクリプト系言語すべてがサポートしています。JavaScriptもクロージャをサポートしいます。JavaScriptプログラミングではクロージャがよく利用されるので使い方をご存知の方も多いと思います。 クロージャは関数がアクセス可能な変数が、環境によって決まります。この特徴を利用してオブジェクト指向設計よりも分かりやすい設計が行えたり、呼び出された関数の内部から呼び出すコールバック関数として様々な動作を行わせることが出来ます。 クロージャの使い方 クロージャはラムダ関数、無名関数と呼ばれることもあります。無名関数の名前の通りクロージャは名前が無い関数を定義して利用します。 クロージャに慣れていない方は、名前が無い関数をどうやって使うのか?どうして便利なのか

    第2回 クロージャとgoto文 | gihyo.jp
  • PHP5 __destruct() and unserialize() function - TokuLog 改メ tokuhirom’s blog

    http://co3k.org/diary/12 このへんみておもったこと。 unserialize() 関数はオブジェクトの unserialize もできるのだが、5 以後では __destruct() が導入されているので、その unserialize したオブジェクトの __destruct() がよばれてしまう。この際に、たとえば cache の処理などで __destruct() でファイルにデータをかきこむ、などの処理をしていると、そのファイルが汚染されてしまったりするということがおきうる。 で、実際に cakephp ではそういう状況になって、任意のコードが実行可能になった、と。 まとめると 5 以後では unserialize() をユーザーからの入力にたいしてはかならず検証してからおこなうようにするべき。 っていうか、ユーザーの入力にたいしては unserialize(

  • 1