phpのnamespace+classを変数から使う場合。

http://www.php.net/manual/en/language.namespaces.faq.php

クラス名を可変にするため、変数から利用するとき
普通にクラス名だけでは、ダメでした。

namespace A\B;
use A\B as X;
class Cclass{
}
$c = new Cclass();
$c = new X\Cclass();
$c = new \A\B\Cclass();

$classname = ‘Cclass';
echo (class_exists($classname))?1:0; // 0
echo “\n”;
$classname = ‘X\Cclass';
echo (class_exists($classname))?1:0; // 0
echo “\n”;
$classname = ‘\A\B\Cclass';
echo (class_exists($classname))?1:0; // 1
echo “\n”;

ということで、変数に入れるときは、namespaceも全部指定しないとダメでした。

This entry was posted on 木曜日, 9月 27th, 2012 at 2:05 PM and is filed under php. You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

Unityによるゲームを公開しております iOS/Android
https://itunes.apple.com/jp/app/lost-knight-3d-action/id900917032
https://play.google.com/store/apps/details?id=com.groundroad.runknight

各種開発支援・機能開発等小さいお仕事などもお請けしております。
unity開発支援, PHPシステム開発, javascript/html5 フロント開発, titanium mobileアプリ開発
お気軽にお問い合わせください
大崎・五反田近郊での対面でのお打ち合わせはいつでも可能です。