【问题标题】:cannot use class because it is not a trait不能使用类,因为它不是特征
【发布时间】:2014-05-08 21:48:29
【问题描述】:

我已按照教程 here 为 laravel 构建验证服务。我现在在尝试从我的一个控制器调用验证器时遇到问题。我看到了错误:

validController cannot use Portal\Service\Validation\Laravel\AppInstancesValidator - it is not a trait

这是我的控制器:

class validController extends BaseController {

   use \Portal\Service\Validation\Laravel\AppInstancesValidator;

   public function validateInstance() {
      $post = Input::all();

      $instVal = new AppInstancesValidator( App::make('validator'));

      return $instVal->with($post)->passes();
  }

}

和我的验证者:

namespace Portal\Service\Validation\Laravel;

use Portal\Service\Validation\ValidableInterface;

class AppInstancesValidator extends LaravelValidator implements ValidableInterface {


  protected $rules = array(
    'app_name' => 'required',
    'app_instance_name' => 'required',
    'app_instance_ip' => 'required|ip'
  );

}

【问题讨论】:

    标签: php laravel laravel-4


    【解决方案1】:

    尝试将use 放在class 声明之前:

    <?php // namespace Portal\Controllers;
    
    use \Portal\Service\Validation\Laravel\AppInstancesValidator;
    
    class validController extends BaseController {
    
        public function validateInstance() {}
    
    }
    

    【讨论】:

      【解决方案2】:

      你的'use'语句应该在validController的类定义之上

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-24
        • 2017-12-04
        • 1970-01-01
        • 2020-07-28
        • 1970-01-01
        相关资源
        最近更新 更多