专栏首页编程乐园如何在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 appcommon;

use Illum/

/inateFilesystemFilesystem;

use IlluminateTranslationFileLoader;

use IlluminateTranslationTranslator;

use IlluminateValidationFactory;

class Validato

{

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;

}

}

在全局函数文件添加:

//

// $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 appcommonValidator::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);

}

原文链接:https://www.moeclub.org/php/945.html

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 深入研究 Laravel ORM (Laravel Eloquent) 系统 (一) – 概要

    本文作为 Laravel ORM 系统的研究开篇,主要对 Laravel ORM 系统的主要功能、依赖的第三方类库、系统的目录结构及对应目录所实现的功能,进行解...

    柳公子
  • CVE-2019-9081 Laravel v5.7反序列化RCE漏洞复现

    最近在复现一些AWD线下赛环境,恰好看见有大佬放出的QWB的一道关于Laravel v5.7的反序列化漏洞的利用过程文章。今天特地将此CVE-2019-...

    墙角睡大觉
  • [译]Laravel 5.0 之 Middleware (Filter-Style)

    本文译自 Matt Stauffer 的系列文章. ---- 如果你有阅读我之前的 Laravel 5.0 系列文章,你可能已经注意到路由过滤器(route f...

    小李刀刀
  • laravel中间件middleware如何使用详细讲解

    可以简单地将中间件理解为请求与响应之间的中间人。用户发出一个路由请求,经过中间件的验证或过滤后,才能获取相应的响应内容。

    章鱼喵
  • 深入剖析 Laravel 服务容器

    之前在 深度挖掘 Laravel 生命周期 一文中,我们有去探究 Laravel 究竟是如何接收 HTTP 请求,又是如何生成响应并最终呈现给用户的工作原理。

    柳公子
  • Laravel中APP_KEY起什么作用

    传送门:https://segmentfault.com/q/1010000009773300

    咪啪咪啪
  • 依托illuminate组件实现数据库迁移(后续)

    这段时间一直在思考,想着把迁移功能给独立出来。所以还是按照Laravel的模式重新写了一版并提交到了 GitHub 中,另外 Packagist 也发布了。

    魔王卷子
  • Laravel源码笔记(二)路由

    路由是web服务不可或缺的一部分,一个好的web框架必须具备一整套灵活且丰富的路由系统。Laravel自然也不例外,通过配置文件中一两行代码就可以...

    asterDY
  • 如何在Swing组件中使用HTML

    许多Swing组件在其GUI中显示文本字符串。默认情况下,组件的文本以一种字体和颜色显示,并且全部显示在一行上。 可以分别通过调用组件的setFont和set...

    JavaEdge
  • Laravel源码笔记(一)程序结构与生命周期

    说起PHP框架,就不得不提大名鼎鼎的Lavarel。作为一个“专为Web艺术家而创造”的框架,其优雅、简洁的开发体验吸引了一大批Web开发者,并成为PHP社区中...

    asterDY
  • Shopify 如何在浏览器之外使用 WebAssembly?

    Shopify 致力于让大多数商家都需要的功能变得简单易用,并通过接口在 Shopify 平台上执行查询、扩展和更改,进而为商家提供更多可能。借助这些接口,我们...

    深度学习与Python
  • wrf-python 详解之如何使用

    近几年,python在气象领域的发展也越来越快,同时出现了很多用于处理气象数据的python包。比如和NCL中的 WRF_ARWUser库类似的 wrf-pyt...

    bugsuse
  • VueCli脚手架(二)组件如何使用,如何在一个组件里面使用另一个组件

    之前已经创建了项目,项目一启动,就会走main.js 这个文件 因为main.js 这个里面已经引入了App.vue组件,那么就会展示这个App.vue里面的...

    一天不写程序难受
  • Laravel源码解析之用户认证系统(一)

    使用过Laravel的开发者都知道,Laravel自带了一个认证系统来提供基本的用户注册、登录、认证、找回密码,如果Auth系统里提供的基础功能不满足需求还可以...

    KevinYan
  • Laravel 7 正式发布,一起来看看有哪些重要更新吧

    Laravel 7 版本于 2020 年 3 月 3 日正式发布,本次版本更新包含了很多新特性:

    学院君
  • Laravel 5.0 发布, 海量新特性!!

    译注: 期待 Laravel 5.0 已经很久很久了, 之前跳票说要到今年一月份发布. 从一月份就一直在刷新官网和博客, 始终没有更新的消息, 前几天终于看到官...

    小李刀刀
  • 深入浅出 Laravel 的 Facade 外观系统

    本文将从以下几个方面出发,全面讲解 Laravel 中 Facade 的运行原理,为了便于理解后续中所有 Facade 译作「外观」:

    柳公子
  • 介绍个PHP以太坊包Laravel-ethereum

    Laravel-ethereum是一个简单的Laravel服务提供程序,提供Generic JSON RPC和管理API。

    猿哥
  • 如何通过View::first使用Laravel Blade的动态模板详解

    前言 本文主要给大家介绍了关于View::first使用Laravel Blade动态模板的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介...

    用户2323866

扫码关注云+社区

领取腾讯云代金券