我正在努力在Laravel 4中建立一个有效的 namespace ,在此以及光明的书中,我已经阅读了一些指南。但是我似乎仍然无法弄清楚。我的应用程序设置如下:
app/controllers/itemController
app/services/itemValidator
在我的composer json文件中(每次更改时我都会进行转储-自动加载),我有:
"autoload": {
"classmap": [
<usual data...>
"app/repositories",
"app/services",
],
"psr-0": {
"Services": "app/services/"
}
我的项目 Controller 设置为:
<?php
use Services\ItemValidator;
class ItemsController extends BaseController {
public function store()
{
$validator = new ItemValidator;
.....etc.....
并且我的ItemsValidator类设置为:
<?php namespace Services;
class ItemValidator extends BaseValidator
{
....code....
当到达
$validator = new ItemValidator
行时,这给了我以下错误:Class 'Services\ItemValidator' not found
最佳答案
只是为了澄清一下:根据评论,在这种情况下有效的是这样格式化的composer.json:
"autoload": {
"classmap": [
<usual data...>
"app/repositories",
"app/services", <---- this is the only entry needed to autoload your services
],
那你应该执行
composer dump-autoload
并检查您的类(class)是否出现在文件中
vendor/composer/autoload_namespaces.php
关于php - 在Laravel 4中创建命名空间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16984457/