91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

illuminate組件怎么在Laravel之外的地方使用

發布時間:2020-12-21 16:12:05 來源:億速云 閱讀:208 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關illuminate組件怎么在Laravel之外的地方使用,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

當代框架基本都是有組件構成,這使得框架變得更加靈活。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);
}

關于illuminate組件怎么在Laravel之外的地方使用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兰溪市| 新乡县| 民丰县| 大悟县| 云阳县| 中宁县| 信宜市| 佳木斯市| 岱山县| 霍城县| 迭部县| 凤阳县| 罗城| 汝阳县| 静宁县| 安远县| 阜南县| 礼泉县| 浙江省| 剑阁县| 西吉县| 塔河县| 中牟县| 沙坪坝区| 肥乡县| 沂源县| 潮安县| 晋宁县| 中西区| 抚松县| 邹城市| 陆川县| 夏邑县| 巨鹿县| 周至县| 万安县| 堆龙德庆县| 莱芜市| 乡宁县| 会宁县| 齐河县|