我正在使用以下命令创建一个新的stdClass
$usrobj=new stdClass();它给了我这个错误
PHP Warning: require_once(objects/User/stdClass.php): failed to open stream: No such file or directory in...似乎php把stdClass当作用户定义的类。
同样的事情也发生在
$db=new mysqli();发布于 2018-07-26 13:32:50
当您使用名称空间时,就会发生这种情况。例如:
<?php
namespace Foo\Bar;
$obj = new stdClass; // Fatal error: Uncaught Error: Class 'Foo\Bar\stdClass' not found与自动加载器结合使用,当找不到该类时,自动加载器会尝试从objects/User/目录加载文件。
要使用任何全局类,您需要在类名之前放置一个\,以指定您尝试访问的是全局类,而不是当前命名空间中的类:
$usrobj=new \stdClass();
$db=new \mysqli();发布于 2018-07-26 13:34:03
似乎是名称空间问题(与滥用PHP 5.3名称空间有关)。
$o= new \stdClass();
$o->a = 'new object';与mysql对象使用相同的东西。
https://stackoverflow.com/questions/51531420
复制相似问题