当前位置: 首页 > 编程笔记 >

如何在Laravel之外使用illuminate组件详解

麻宜春
2023-03-14
本文向大家介绍如何在Laravel之外使用illuminate组件详解,包括了如何在Laravel之外使用illuminate组件详解的使用技巧和注意事项,需要的朋友参考一下

当代框架基本都是有组件构成,这使得框架变得更加灵活。The Laravel Components | github Laravel 中有不少优质组件,那如何在 Laravel 之外使用 illuminate 组件呢?

illuminate/validation

以 illuminate/validation 为例,validation 有丰富的数据验证功能。

在项目的 composer.json 文件中添加:

...
 "require": {
  ...
  "illuminate/validation": "^5.8",
...


从 Laravel-Lang/lang 项目中复制需要的语言文件放到自己的项目中。

例如:在 Yii2 项目中,复制对应语言文件到项目中的 assets/lang/zh-CN/validation.php。

创建 common/Validator.php:

namespace app\common;

use Illuminate\Filesystem\Filesystem;
use Illuminate\Translation\FileLoader;
use Illuminate\Translation\Translator;
use Illuminate\Validation\Factory;

class Validator
{
 private static $instance = null;

 private function __construct()
 {
 }

 public static function getInstance(): Factory
 {
 if (null === static::$instance) {
  $translationPath = get_alias('@assets/lang');
  $translationLocale = 'zh-CN';
  $transFileLoader = new FileLoader(new Filesystem(), $translationPath);
  $translator = new Translator($transFileLoader, $translationLocale);
  static::$instance = new Factory($translator);
 }

 return static::$instance;
 }
}

在全局函数文件添加:

// https://learnku.com/docs/laravel/5.8/validation/3899#manually-creating-validators
// $rules = [
// 'name' => 'required|string|min:2|max:5',
// 'code' => 'required|string|min:2|max:5',
// ];
function validator(array $data, array $rules, array $messages = [], array $customAttributes = [])
{
 return \app\common\Validator::getInstance()->make($data, $rules, $messages, $customAttributes);
}

测试使用:

$rules = ['name' => 'required|numeric'];
$customAttributes = ['name' => 'My name'];
$messages = ['name.required' => 'A name is required',];

$validator = validator($data, $rules, $customAttributes, $messages);
if ($validator->fails()) {
 $errors = $validator->errors()->all();
 Response::error(Errors::ParamsInvalid, implode(',', $errors), $errors);
}

总结

到此这篇关于如何在Laravel之外使用illuminate组件的文章就介绍到这了,更多相关Laravel之外使用illuminate组件内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!

 类似资料:
  • 我一直试图找出一种方法来记录SQL查询从雄辩的ORM,我在Zend框架1中使用。我遇到了这样调用的getQueryLog()方法: 我发现Illumb\Database\Connection包含getQueryLog()方法,因此我尝试执行以下操作: 但是,我得到以下通知,它返回NULL: 有人能建议我在拉威尔以外的地方怎么用这个吗?我在网上搜索过,看不到任何需要改变的地方,尽管我怀疑大多数例子都

  • 如何从React Router v4中的函数重定向到页面? 我可以从组件中找到很多关于导航的引用,在我的情况下,我需要从函数中导航

  • 到目前为止,我一直在使用laravel,但有时我对选择下面列出的正确请求感到困惑。 我已经为我的相应路线创建了一个测试方法 如果我选择或它工作正常并获得空数组。 但是当我选择use

  • 本文向大家介绍详解Angular2组件之间如何通信,包括了详解Angular2组件之间如何通信的使用技巧和注意事项,需要的朋友参考一下 组件之间的共享可以有好几种方式 父->子 input 方式 子->父 output 方式 子获得父实例 如果不了解forwardRef用处的的可以看 #11 @Host 表示这个Injector必须是host element在这里可以理解为 parent 父获得子

  • 我已经创建了一个视图来创建新的课程' create.blade.php '。我试图将这些数据存储在数据库中,但是我得到了以下错误: BadMethodCallException Method Illuminate\Http\Request::request 不存在。 我不确定是什么导致了这个错误,因为我已经在我的控制器中引用了请求名称空间。见下文; CoursesController.php; 创

  • 本文向大家介绍详解vue 组件之间使用eventbus传值,包括了详解vue 组件之间使用eventbus传值的使用技巧和注意事项,需要的朋友参考一下 对于前端的我们而言,并非是只有写界面才是最大的问题,很多的情况下,我们需要关注的是数据,比如js页面的数据传递等等,学习vue我们也是需要知道怎么去使用数据 当然,使用存储也是可以得,但是并非一定要缓存,当然在vue中有推荐了我们去使用vuex去数

  • 问题内容: 我在使用Laravel创建立面模型类时遇到了一些问题。我已经关注了http://laravel.com/docs/facades,但是我想我缺少了一些东西。 我创建了一个文件夹叫。在那个文件夹中,我有两个文件。 第一个文件(Foo.php): 第二个文件(FooFacade.php): 然后我将数组添加到中并运行和。 现在,当我尝试跑步时,我得到了。我究竟做错了什么? 问题答案: 步骤

  • Illuminate 是一个用于云端和虚拟化环境中的轻量级 Java 应用性能监控工具。 特点: FREE upgrades Lightweight and whisper quiet Trivial to install and configure A simple, intuitive UI All Linux distros (kernel 2.6.0+) For Sun/Oracle’s/