Is there a namespace aware alternative to PHP's class_exists()? -
if try using class_exists() inside method of class in php have specify full name of class--the current namespace not respected. example if class is:
<? namespace foo; class bar{ public function doesbooclassexist(){ return class_exists('boo'); } } and boo class (which autoloads) , looks this
namespace foo; class boo{ // stuff in here } if try:
$bar = new bar(); $success = $bar->doesbooclassexist(); var_dump($success); you'll false... there alternative way without having explicitly specify full class name ( i.e. class_exits('foo\boo') )?
prior 5.5, best way use qualified class name:
public function doesbooclassexist() { return class_exists('foo\boo'); } it's not difficult, , makes absolutely clear you're referring to. remember, should going readability. namespace imports handy writing, make reading confusing (because need keep in mind current namespace , imports when reading code).
however, in 5.5, there's new construct coming:
public function doesbooclassexist() { return class_exists(boo::class); } the class pseudo magic constant can put onto identifier , return qualified class name resolve to.......
Comments
Post a Comment