mmerlijn / laravel-helpers
Laravel 辅助工具:类型转换和外观
v2.0.4
2024-06-17 20:59 UTC
Requires
- php: ^8.2
- mmerlijn/msg-repo: ~2.0
Requires (Dev)
- laravel/framework: ^11.x-dev
- orchestra/testbench: 9.x-dev
- phpunit/phpunit: ^11.0.1
README
摘要
类型转换
- 电话规则
规则
- Bsn
- Requestnr
外观
- 距离
特性
- AddressModelTrait
- NameModelTrait
安装
composer require mmerlijn/laravel-helpers
用于闪存消息
添加到 app.js
import flashHandler from '../../vendor/mmerlijn/laravel-helpers/resources/js/flashHandler'; Alpine.data('flashHandler', flashHandler) window.flash = msg => window.dispatchEvent(new CustomEvent('flash', {detail: msg}))
添加到首选的 layout.blade(body 底部)
<x-mm-flash/>
闪存使用
Flash::message('Hello World')->type('noticee')->add();
或
<button x-data="{}" @click="$dispatch('flash',{text:'Hi'})">Click me</button>
或
flash('Hi, all!')
类型转换
电话
设置器将电话转换为仅数字的字符串
获取器将电话转换为可读格式
重要!! 在使用 kental 之前,请先填写城市字段和电话字段
示例
//In YourModel.php protected $casts = [ 'phone' => Phone::class, ]; //setter => 0612345678 //getter => PhoneModel class //methods $model->phone->get(); // returns 06 1234 5678 $model->phone->set(); // returns 0612345678 $model->phone->smsPhone(); //returns +31612345678 or exception $model->phone->withCountryCode('it'); //returns +39612345678
首字母
设置器将删除所有非字母字符
获取器将所有字母用点分开
示例
//In YourModel.php protected $casts = [ 'initials' => Initials::class, ]; //setter => BAR //getter => B.A.R.
规则(验证器)
BSN
验证荷兰 BSN
示例
Validator::make([],[ 'bsn'=> [new Bsn] ]);
Requestnr
验证请求号
正则表达式: '/^((ZD|ZP|CW){1}\d{8}|(PG){1}\d{9})$/i'
Validator::make([],[ 'request_nr'=> [new Requestnr] ]);
外观
距离
计算两个坐标之间的距离
使用
//with coordinates Distance::from(52.4968, 5.0727) ->to(52.5144, 4.9641) ->get(); //with cities Distance::from("Volendam") ->to("Purmerend") ->get();
get 方法接受三个参数:单位、格式、精度
闪存
将消息添加到会话闪存中
使用
//with coordinates Flash::message('Hello World') ->type('success') ->duration(3000) ->add();
get 方法接受三个参数:单位、格式、精度
->get(unit:"m"); //distance in meter (default km) ->get(format:true) // 5,4 km
特性
AddressModelTrait
必需的数据库字段
城市、街道、建筑、邮政编码
安装
添加到您的模型中
use AddressModelTrait;
这将触发属性设置器和获取器。
使用
$model->address->street;
NameModelTrait
必需的数据库字段
首字母、姓氏、前缀、自己的姓氏、自己的前缀、性别
安装
添加到您的模型中
use NameModelTrait;
这将触发属性设置器和获取器。
使用
$model->name->salutation; // Dhr. / Mevr. $model->name->name; //Full name