クラス/オブジェクト関数編 その3

※この記事は読者によって投稿されたユーザー投稿です:
  • 編集部の見解や意向と異なる内容の場合があります
  • 編集部は内容について正確性を保証できません
  • 画像が表示されない場合、編集部では対応できません
  • 内容の追加・修正も編集部では対応できません

ヒューマンリソシア株式会社はコラム「クラス/オブジェクト関数編 その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/

この記事が役に立ったらシェア!
メルマガの登録はこちら Web担当者に役立つ情報をサクッとゲット!

人気記事トップ10(過去7日間)

今日の用語

メールマーケティング
デジタルマーケティングの一種で、目的達成のためにEメール(電子メール)を用いてユ ...→用語集へ

連載/特集コーナーから探す

インフォメーション

RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]