Hello world!
Wikipedia の Hello worldプログラムの一覧 より、PHP による記述例を見て思いました。 <?php echo 'Hello, world!'; exit; ?> 大人しすぎです。もっと自分を出して! Hello, world!<?php exit; ?> もっとラディカルに! Hello, world!
View Article(binary) と文字列リテラルの b 修飾
型の相互変換 - 型キャストより。 (binary) によるキャストや b プレフィックスのサポートは、PHP 5.2.1 で追加されました。 <?php $binary = (binary)$string; $binary = b"binary string"; ?> Unicode 導入に向けて、そろそろ意識して使い始めても良さそうです。 べつに PHP 6...
View Article静的初期化子をクラスローダでエミュレートしてシュレディンガーのひこにゃんを解決する方法
PHP ではクラスの静的メンバの初期化に定数しか利用できません。例えばオブジェクトをセットしたい場合、どこかのタイミングで初期化してやる必要があります。このタイミングが問題になる例をあげてみます。Hoge は自分のコンストラクタが呼び出された回数を Hoge::$profile->construnction から取得できるクラスです。 class Hoge { public...
View Articleニコ動既に視たブックマークレット
ニコニコ動画の訪問済み動画を強調するブックマークレットです。こちらのリンクをブックマークに追加してご利用下さい。 javascript:(function(w,a){var d=w.document,v=function(e,c){c=(e.currentStyle||d.defaultView.getComputedStyle(e,null))["color"];return...
View ArticleMoE Wiki 用検索エンジン
ブラウザの検索バーから MoE Wiki 内を検索するためのファイルを用意しました。OpenSearch 対応のブラウザでご利用下さい。 MoE Wiki 検索をインストール お使いのブラウザによっては、BASIC 認証の確認ダイアログが出る可能性があります。BASIC 認証は MoE Wiki の仕様です。 Firefox 3...
View Articleclosure incoming
http://d.hatena.ne.jp/masugata/20080709#p1 いやっほおおお!日をまたいでいてすぐ眠りたいのですが、が php-6.0-dev がベンチに座ってチャックを下ろす姿を見てホイホイ落としちゃったのだ。 <?php $hikonyann = function ($multiplier) { return str_repeat(’ひこにゃん’,...
View Article__invoke()
closure の記事を書いた後に気付いたんですが、クラスに __invoke() メソッドが定義されてると関数のように呼び出せるんですね。こいつぁ使える! <?php class A { public function __invoke() { echo 'ひえひえ細胞'; } } $a = new A(); $a();
View ArticleHTTP ストリーム ignore_errors オプション in PHP 5.3
5.3 から HTTP ストリームのコンテキストに ignore_errors オプションが利用できるようになるそうです。 01 Aug 2008, PHP 5.3.0 Alpha 1 - Improved streams: . Added "ignore_errors" option to http fopen wrapper. (David Zulke, Sara) 今までは fopen() や...
View Articleget_called_class() in PHP 5.3
__CLASS__ 定数の遅延静的束縛版といったところでしょうか。 <?php class A { public static function whose() { return get_called_class(); } } class B extends A { public static function whose() {...
View Article遅延静的束縛と forward_static_call()
遅延静的束縛と関連のあるお話です。クラスメソッドを呼び出す際に parent, self, static キーワードを使わず、クラス名を指定してやると呼び出し元がそのクラスになります。 <?php class A { public static function method() { echo __METHOD__, ' called by ',...
View ArticleReflectionFunction::getClosure()
また PHP 5.3 のお話です。ReflectionFunction::getClosure() 及び ReflectionMethod::getClosure() が追加されてますね。なんだろうこれ? <?php $rf = new ReflectionFunction('time'); $time = $rf->getClosure(); $rm = new...
View Article