我在Symfony项目中有一个名为“ CSVBuilder”的私有库。让我们看看它在我的项目中如何。
CsvBuilder.php
的内容如下:
<?php
namespace MyPackage;
class CSVBuilder
{
// etc..., the behavior of the class doesn't really matter
public function __construct($fieldSep = "\t", $eol = "\n", $defVal = "", $utfEncode = false)
{
$this->defVal = $defVal;
$this->fieldSep = $fieldSep;
$this->eol = $eol;
$this->utf8Encode = $utfEncode;
}
}
我的私人图书馆的composer.json
很短,这里是:
{
"name": "mypackage",
"autoload": {
"psr-4": {
"mypackage\\": ""
}
}
}
注意名称空间。好的。从现在开始没什么特别的。
因此,在另一个文件中,在randon控制器SiteController.php
中,我有以下明显的代码:
<?php
namespace app\controllers;
use MyPackage\CSVBuilder as csv;
class SiteController extends Controller
{
public function actionIndex()
{
$builder = new csv(); // this line crashed
}
它创建了这个错误:
错误 找不到“ MyPackage \ CSVBuilder”类
它看起来像一个名称空间问题,但是我不知道我的代码有什么问题。对我来说,一切听起来还不错。
当然,在SiteController.php
中,我尝试将use MyPackage\CSVBuilder as csv;
替换为use MyPackage as csv;
,但它引发了相同的问题=>
错误 找不到“ MyPackage”类
有什么建议吗? :)