Laravel 4.1 ReflectionException

时间:2014-02-28 03:54:51

标签: php class laravel laravel-4

我从Laravel 4.1中收到以下错误。

ReflectionException Acme \ Services \ TaskCreatorService类不存在。

提前感谢您的帮助。

以下是定义该类的代码。它位于app\Acme\Services


<?php namespace Acme\Services;

use \Acme\Validators\TaskValidator;
use \Acme\Validators\ValidationException;
use \Acme\Validators\Validator;

class TaskCreatorService {

    protected $validator;

    public function __construct(TaskValidator $validator) {

        $this->validator = $validator;

    }

    public function make(array $attributes) {

        //determone whether data is valid
        if ($this->validator->isValid($attributes)) {
        Task::create([
            'title' => $attributes['title'],
            'body' => $attributes['body'],
            'user_id' => $attributes['assign']
         ]);

        return true;
        }

        throw new ValidationException('Task validation failed', $this->validator-getErrors());
        //create the new task
        //
        //if not throw exception
    }
}

我还在自动加载部分中将其添加到composer.json

    "psr-0": {
        "Acme": "app/"
    }

2 个答案:

答案 0 :(得分:1)

对我而言,就我而言,以下是有效的!

composer dump-autoload

我在以下link

中找到了一些解释

希望它会有所帮助!

对于那些不了解Symfony或Ruby-on-Rails技术的人来说,Laravel真的很难让新手赶上来!

祝你好运!

答案 1 :(得分:0)

拥有PSR-0命名空间

"Acme": "app/"

您的班级文件必须是:

/var/www/appdir/app/Acme/Services/TaskCreatorService.php

你必须

composer dump-autoload

一旦创建了PSR-0命名空间。检查文件

/var/www/appdir/vendor/composer/autoload_psr0.php

并检查您的命名空间是否存在。