我有以下问题:我有类Router(在project / connection / api / callbacks中)和TestRouter(在project / tests / api中)。
类路由器只是示例,我不想要psr-0或4。
路由器在开头就有这个代码:
<?php
namespace Connection\Api\Callbacks;
class Router
{
测试类以此代码开头:
<?php
$loader = require __DIR__ . '/../../vendor/autoload.php';
$loader->add('Connection\\Api\\Callbacks', __DIR__ . '/../../connection/api/callbacks');
class TestRouter extends PHPUnit_Framework_TestCase
{
function test() {
$variable = new \Connection\Api\Callbacks\Router();
}
然后我找不到错误类。请问哪里有问题?
答案 0 :(得分:0)
您不需要PSR-0,但您正在使用该功能。您用于将类添加到自动加载器的add()
方法的代码注释:
/** * Registers a set of PSR-0 directories for a given prefix, either * appending or prepending to the ones previously set for this prefix. * * @param string $prefix The prefix * @param array|string $paths The PSR-0 root directories * @param bool $prepend Whether to prepend the directories */ public function add($prefix, $paths, $prepend = false)
我想知道是什么让你在这种情况下只使用PSR-4。只需在composer.json
文件中添加必要的声明即可。
当谈到PHPUnit时,将require "vendor/autoload.php"
添加到引导程序文件中,或者如果您不必在那里执行任何其他操作,则将其用作完整引导程序文件。它将使编写测试更容易,因为您不必处理自动加载并将单个类添加到自动加载器。此外,您不会最终实例化多个自动加载器,这些自动加载器不会从自动加载器堆栈中删除。