※この記事は読者によって投稿されたユーザー投稿のため、編集部の見解や意向と異なる場合があります。 また、編集部はこの内容について正確性を保証できません。
ヒューマンリソシア株式会社はコラム「クラス/オブジェクト関数編 その3」を公開しました。 前回の続きですので「autoloadが走らないように、事前に、クラスが存在するかがわかればいいのに…」なんて関数、 のお話から、になります。 まず、get_declared_classes() 関数というものがありまして…なにはともあれ、見ていきましょう。 class hoge { } var_dump( get_declared_classes() ); get_declared_classes() 関数は「定義済のクラスの名前を配列として返す」関数です。 hogeを定義したので、hogeも、多分最後のほうにいるんじゃないか、と思います。 ここから探し出せばよいのですが、そこまで面倒をしなくても、もうちょっとそのものずばりな関数が存在します。 それが、 class_exists() 関数です。 class hoge { } var_dump( class_exists(‘hoge’) ); 解りやすくてよいですね。 さて、クラス名を指定するときは意識して置いた方が良いautoloadですが。 function __autoload($class_name) { echo “__autoload called -> {$class_name}\n”; } var_dump( class_exists(‘test’) ); しっかりと、autoloadが動いてくれます。 抑止したい場合は、第二引数で指定可能ですので。 function __autoload($class_name) { echo “__autoload called -> {$class_name}\n”; } var_dump( class_exists(‘test’, false) ); この続きは以下をご覧くださいhttp://resocia.jp/column/768/

人気記事トップ10

人気記事ランキングをもっと見る