0

我有一个文件 Orders.php,我想在其中使用类“测试”函数。问题是类文件在项目根文件夹中,但我不能使用它。

订单.php:

<?php
namespace AppBundle\Command;
use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
use Test;

protected function execute(InputInterface $input, OutputInterface $output)
{
    ini_set('memory_limit', '4000M');
    $test = new \Test(true);
    exit;
}

类文件 test.php 是:

<?php

namespace Test;

class Test
{
     public function __construct($connect = null, $query = null)
     {
        if ($connect)
        {
            $this->connect();
        }

        if ($query)
        {
            $this->query($query);
        }
     }
}

现在 test.php 类文件位于项目根文件夹中。并且 orders.php 文件位于 public_html\project\src\AppBundle\Command\order.php

如果类测试位于项目的根目录或任何其他目录中,我应该如何使用它?我用“/”写命名空间,所以它应该是指根目录,不是吗?

4

2 回答 2

2

test.php如果要从已定义的 PSR-0/PSR-4 目录外部加载它,则需要自动加载。您可以通过更新文件来自动加载单个composer.json文件:

{
    "autoload": {
        "files": ["src/test.php"]
    }
}

更新后composer.json,您需要运行以下命令:

$ composer dumpautoload
于 2017-02-03T09:27:21.007 回答
0

发现我不必在我的类文件中使用命名空间。自动加载器也有帮助。谢谢你。

于 2017-02-03T10:04:54.303 回答