添加Service Provider类后找不到类

时间:2014-08-16 17:32:12

标签: php class laravel laravel-4 namespaces

我正在尝试扩展Validator类。因此,当添加空格时,我的文本字段不会返回false。

我正在创建一个像app \ extension \ validation

这样的文件夹

这是我的CustomValidation类

<?php namespace App\Extension\Validation;

 use Illuminate\Validation\Validator;

 class CustomValidation extends Validator{

   public function alpha_spaces($attribute, $value, $parameters)
   {
    if(preg_match("/^([-a-z0-9_ ])+$/i", $value))
    {
        return true;
    }
    return false;
   }
 }

这是同一文件夹中的ValidationServiceProvider类

<?php namespace App\Extension\Validation;

use Illuminate\Support\ServiceProvider;

class ValidationServiceProvider extends ServiceProvider{

    public function register(){}

    public function boot()
    {
        $this->app->validator->resolver(function($translator, $data, $rules, $messages)
        {
            return new CustomValidation($translator, $data, $rules, $messages);
        });
    }
}

以下是我尝试将服务提供商添加到app.php时出现的错误

Class 'App\Extension\Validation\ValidationServiceProvider' not found

我将app \ Extension \ Validation中的类作为ValidationServiceProvider.php

有谁知道为什么我遇到这个问题。我整天都被困在这里,我需要别人的帮助。

1 个答案:

答案 0 :(得分:3)

您需要将文件夹"app/Extension"添加到composer.json的{​​{1}}属性,如下所示:

autoload > classmap

执行此操作后,composer知道它应该从"autoload": { "classmap": [ "app/commands", "app/controllers", "app/models", "app/database/migrations", "app/database/seeds", "app/tests/TestCase.php", "app/Extension" ] }

加载类

然后执行

"app/Extension"