PHP类名调⽤静态⽅法,PHP静态⽅法调⽤变量类名和命名空
间
我正在尝试从具有相同名称空间的另⼀个类调⽤名称空间类的静态⽅法.但另⼀个类的名称包含在变量中:
namespace MyApp\Api;
use \Eloquent;
class Product extends Eloquent {
public static function find($id)
{
//....
}
public static function details($id)
国内php空间{
$product = self::find($id);
if($product)
{
$type = $product->type; // 'Book'
$product = $type::find($product->id);
return $product;
}
}
}
这是Book类:
namespace MyApp\Api;
use \Eloquent;
class Book extends Eloquent {
public static function find($id)
{
//....
}
}
我的类型变量在这⾥包含⼀个有效的类名.此类位于同⼀⽂件夹中,并使⽤相同的命名空间.
此代码返回错误Class’Book’未到.
我尝试了⼏种变体(来⾃我发现的SO问题)使⽤反斜杠或call_user_func函数,但没有任何效果.
谁知道什么是错的?
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论