我启动了一个新的PHP项目,并希望使用PSR-4从composer自动加载。
项目结构如下:
project
__src
____model
_______User.php
__test
_____UserTest.php
__vendor
__composer.json
这是我的作曲家。json:
{
"autoload": {
"psr-4": {
"src\\model\\": "model/"
}
}
}
这是我的ser.php
<?php
namespace model;
class User
{
public function doSomething() {
return true;
}
}
还有用户测试。php
<?php
use model\User;
class UserTest extends PHPUnit_Framework_TestCase
{
public function test(){
$user = new User();
$this->assertTrue($user->doSomething());
}
}
当我运行单元测试时,我得到以下消息:
致命错误:找不到类“model\User”。
你的composer.json
文件是错误的。它应该是
{
"autoload": {
"psr-4": {
"model\\": "src/model/"
}
}
}
我和许多其他人一样,似乎很难弄清楚何时以及如何使用自动加载。我想我理解作曲家和PSR-0/PSR-4的概念和这需要的目录结构。但是如果我用自己的MVC框架构建自己的项目 > 由于composer自带了自动加载器,它将加载我希望包含在项目中的所有依赖项,如果我不打算将我的网站变成分布式项目,我甚至需要自己的名称空间吗?为什么我不坚持使用include/requires? 最后,如果我采用名称空间,使
我正在使用一些phpunit测试类尝试composer autoload,但我似乎无法让它工作。当我从命令行运行phpunit时,我得到以下错误:“PHP致命错误:Class…notfound”。 我将提供所有的结构和文件信息。我可以,所以希望有人能发现我的错误。 结构(精简为相关文件): composer.json phpunit.xml 测试/功能/基本测试用例。php 测试/功能/主页测试。
我有一个在本地运行良好的Laravel项目(Mavericks),但是psr-4下的类没有加载到我们的后台服务器(CentOS)上。每次尝试composer更新或运行artisan命令时,我都会收到一个反射“未找到类”错误。 我的所有特定于应用程序的类都存储在我的Laravel项目的app/heatherland下,例如: 我的composer.json包含以下条目: 在本地,psr-4类被添加到
1. 概述 本 PSR 是关于由文件路径 自动载入 对应类的相关规范, 本规范是可互操作的,可以作为任一自动载入规范的补充,其中包括 PSR-0,此外, 本 PSR 还包括自动载入的类对应的文件存放路径规范。 关于「能愿动词」的使用 为了避免歧义,文档大量使用了「能愿动词」,对应的解释如下: 必须 (MUST):绝对,严格遵循,请照做,无条件遵守; 一定不可 (MUST NOT):禁令,严令禁止;
我刚刚开始使用composer进行依赖关系管理,我很难弄清楚我是如何不遵守psr-4进行自动加载的,所以我来这里寻求建议。我有一个生成随机值的类,它已经在packagist上了。项目结构如下(我已将composer.json文件标记为A和B): 项目总监 composer.jsonA composer.jsonB 最后是RlandValue.php文件,它声明了ejFrancis命名空间 当我运行
如果执行命令作曲家转储-自动加载,然后出现错误类没有找到,因为autoload_static.php改变。 我的项目结构如下: app -公共 ------ index.php -src ------ WordToImage.php -供应商 ------ 作曲家 ------------(任意作曲家文件) ------------ autoload_static.php --composer.j