CとPHPの共通点
メソッドがあるかどうかを調べてから実行するところ。
int vfs_create(struct inode *dir, struct dentry *dentry, int mode, struct nameidata *nd) { ... if (!dir->i_op || !dir->i_op->create) return -EACCES; ... error = dir->i_op->create(dir, dentry, mode, nd); ... }
<?php class HogeUtil{ static public function calc($hoge){ if (!method_exists($hoge, 'execute')) trigger_error('execute method not found'); return $hoge->execute(); } }
思い付きで書いてしまったが、書いてみると結構違うね。しかもPHPなんかよりJavaScriptの方が似ている。PHPもCやJavaScriptみたいに書けたらいいのに。
調べずに済ませるためにタイプヒンティングを使うわけだが、実行時じゃないとエラーが分からないので気休めだなあ。