php – 无法使Laravel 4的Validator类在框架之外工作
发布时间:2020-12-14 19:34:17 所属栏目:大数据 来源:网络整理
导读:我试图在框架之外使用Laravel’4 Eloquent,因为Illuminate / Database包可以通过作曲家独立使用. Eloquent本身工作正常,但我阻止尝试实现验证规则. 我先尝试过一些像Ardent这样的预建库,然后使用我自己的代码,但结果却是一样的,我得到了这个致命的错误: Fat
我试图在框架之外使用Laravel’4 Eloquent,因为Illuminate /
Database包可以通过作曲家独立使用.
Eloquent本身工作正常,但我阻止尝试实现验证规则. 我先尝试过一些像Ardent这样的预建库,然后使用我自己的代码,但结果却是一样的,我得到了这个致命的错误:
当我调用Validator :: make()时,问题总是开始; $validator = Validator::make( $this->attributes,array('name' => 'required') ); 看看调试似乎是static :: resolveFacadeInstance(‘validator’);被调用,但它只返回null. 我不熟悉Facades如何工作,有人能指出我正确的方向吗?谢谢! 这是我的composer.json: { "require": { "illuminate/database": "~4.0","illuminate/validation" : "~4.0","laravelbook/ardent": "dev-master" },"config": { "preferred-install": "dist" },"minimum-stability": "dev" } 解决方法
对于那些可能需要更多信息的人,我将在这里报告由bencorlett
(link)在laravel的github回购中给出的答案:
// Store the factory instance somewhere,Maybe like: class Validator { protected static $factory; public static function instance() { if ( ! static::$factory) { $translator = new SymfonyComponentTranslationTranslator('en'); static::$factory = new IlluminateValidationFactory($translator); } return static::$factory; } public static function __callStatic($method,$args) { $instance = static::instance(); switch (count($args)) { case 0: return $instance->$method(); case 1: return $instance->$method($args[0]); case 2: return $instance->$method($args[0],$args[1]); case 3: return $instance->$method($args[0],$args[1],$args[2]); case 4: return $instance->$method($args[0],$args[2],$args[3]); default: return call_user_func_array(array($instance,$method),$args); } } } $validator = Validator::make($data,$rules); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |