Php 具有命名空间的类的输出字符串名称

Php 具有命名空间的类的输出字符串名称,php,pdo,Php,Pdo,是否有一种编程方式来检索类的字符串名和包名 例如(请注意,使用QuizVO的类位于不同的命名空间中) 而不是 use modules\quiz\model\quiz\valueObjects\QuizVO; $statement->setFetchMode(\PDO::FETCH_CLASS, QuizVO::class); //need class with package name here 这与您提出的方法完全相同: $statement->setFetchMode(\PD

是否有一种编程方式来检索类的字符串名和包名

例如(请注意,使用QuizVO的类位于不同的命名空间中)

而不是

use modules\quiz\model\quiz\valueObjects\QuizVO;

$statement->setFetchMode(\PDO::FETCH_CLASS, QuizVO::class); //need class with package name here
这与您提出的方法完全相同:

$statement->setFetchMode(\PDO::FETCH_CLASS, 'modules\quiz\model\quiz\valueObjects\QuizVO');


在PHP5.5之前,您需要创建所需类的对象并使用

ah。。。这就是为什么它会产生问题,早期版本有什么解决方案吗?@user2727195我修改了我的答案。谢谢你的答案,刚刚尝试了这个,它就工作了,你怎么看$语句->setFetchMode(\PDO::FETCH_类,get_类(new QuizVO())@用户2727195好吧,那当然更容易…
$statement->setFetchMode(\PDO::FETCH_CLASS, 'modules\quiz\model\quiz\valueObjects\QuizVO');
ClassName::class
$statement->setFetchMode(\PDO::FETCH_CLASS, get_class(new QuizVO()));