The class is here (with instructions).
我已将其添加到application/libraries/randomorg
当我将$this->load->library('RandomOrg\Random');
添加到控制器的构造函数中时,出现以下错误。
消息:Class' RandomOrg \ Client'找不到
我之前尝试过添加各种文件(例如Client.php),但这并没有帮助。
发生了什么以及如何解决?
答案 0 :(得分:1)
我知道我已经回答了这个问题,然后才发现在哪里,不知道要搜索什么。所以这里是:Codeigniter只能加载单个 php文件库(不包括完全不同的驱动程序)。要加载这种类型的库(命名空间),您必须使用类似:https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader-examples.md(类示例)的内容。
让它调用它Autoloader_psr4
并将其保存在库中(修改类声明以逐字匹配此名称(例如Autoloader_psr4
)。删除类中的命名空间声明,使其看起来像:https://pastebin.com/NU8Rbp7Y
我们还将src/randomorg/
中的所有文件移至third_party
中名为RandomOrg
的文件夹中,例如application/third_party/RandomOrg
。 $this->load->library('autoloader_psr4');
$this->autoloader_psr4->register();
$this->autoloader_psr4->addNamespace('RandomOrg', APPPATH . 'third_party/RandomOrg');
$random = new \RandomOrg\Client(); // or whatever...
。您的文件夹应如下所示:https://github.com/defiant/randomorg/tree/master/src/randomorg
用法:
my_alloc(size)