mattkingshott/elevate

此包已被废弃,不再维护。作者建议使用caneara/elevate包代替。

提供各种Laravel组件宏函数库的包。

v1.5.0 2020-12-06 13:41 UTC

This package is auto-updated.

Last update: 2022-11-04 11:35:36 UTC


README

此包提供各种Laravel组件的宏函数库。使用它们来增强Blade、Collections、Stringable等现有功能。

最初,只有少数几个宏可用。但这个库被设计成可以处理随着时间的推移添加的数十个甚至数百个宏。每个单独的宏也可以禁用,从而确保Laravel不会花费宝贵的时间注册您未使用的宏。

安装

使用composer引入此包

composer require caneara/elevate

配置

如果您希望将所有宏都可用,则可以跳过此部分。否则,您应该使用Artisan发布配置文件。

php artisan vendor:publish --provider="Elevate\ServiceProvider"

您可能希望出于以下原因禁用特定的宏:

  1. 性能 - 如果您没有使用宏,甚至整个类,那么禁用它将带来微小的性能提升。
  2. 冲突 - 如果您已经有一个类的宏,或者希望创建一个同名宏,您应该禁用Elevate宏以防止冲突。

要防止注册宏,只需将其值设置为false

'Blade' => [
    'Blank'  => true,
    'Filled' => false,
];

可用宏

以下宏目前可用

描述
filled Blade 启用使用@filled()和@endfilled。在底层使用filled()全局辅助函数。您也可以使用@else,例如@filled() @else @endfilled
blank Blade 启用使用@blank()和@endblank。在底层使用blank()全局辅助函数。您也可以使用@else,例如@blank() @else @endblank
appendIf Stringable 如果字符串不以它结束,则将给定的字符串附加到字符串上
collapse Stringable 修剪字符串,并将多个空格字符替换为单个空格
count Stringable 确定给定字符串在字符串中出现的总次数
get Stringable 添加一个更友好的辅助函数来访问流畅字符串的内容,例如Str::of('test')->get()
insert Stringable 在给定的索引处插入给定的字符串
padLeft Stringable 从左侧填充字符串到给定的长度
padRight Stringable 从右侧填充字符串到给定的长度
possessive Stringable 将字符串转换为所有格版本,例如Bob -> Bob's
prependIf Stringable 如果字符串不以它开始,则将给定的字符串添加到字符串的开头
segment Stringable 使用给定的分隔符拆分字符串,然后检索给定数组索引处的项
toArray Stringable 将字符串转换为字符数组
toggle Stringable 在两个状态之间切换字符串。包含一个$loose标志,允许切换不匹配任一状态的字符串
after Collection 从集合中获取下一个项目
Collection 在索引处检索一个项目
第二个 Collection 在第二个索引处检索项目
第三个 Collection 在第三个索引处检索项目
第四个 Collection 在第四个索引处检索项目
第五个 Collection 在第五个索引处检索项目
第六个 Collection 在第六个索引处检索项目
第七个 Collection 在第七个索引处检索项目
第八个 Collection 在第八个索引处检索项目
第九个 Collection 在第九个索引处检索项目
第十个 Collection 在第十个索引处检索项目
之前 Collection 从集合中获取前一个项目
碳化 Collection 将所有集合项目转换为CarbonImmutable实例
chunkBy Collection 将集合中的值分成组,直到给定的回调为true
collectBy Collection 获取给定键的项目,并收集它
eachCons Collection 获取集合中给定块大小的连续相邻元素
extract Collection 从集合中提取键
filterMap Collection 映射集合并一次性删除假值
firstOrFail Collection 获取第一个项目或抛出异常
fromPairs Collection 将集合转换为关联数组形式的项目
glob Collection 返回一个包含glob()结果的集合
groupByModel Collection 类似于groupBy,但根据Eloquent模型对集合进行分组
head Collection 从集合中检索第一个项目
ifAny Collection 如果集合不为空,则执行传递的调用可执行对象
ifEmpty Collection 如果集合为空,则执行传递的调用可执行对象
none Collection 检查集合是否不包含任何给定项目、键值对或通过真值测试的实例
paginate Collection 为集合中的项目创建LengthAwarePaginator实例
parallelMap Collection 与map相同,但每个项目将在集合中并行处理
pluckToArray Collection 返回给定键的值数组
prioritize Collection 将元素移动到集合的开始位置
rotate Collection 使用给定偏移量旋转集合中的项目
sectionBy Collection 根据给定键将集合拆分为分组部分
simplePaginate Collection 为集合中的项目创建Paginator实例
sliceBefore Collection 在给定回调为true之前从集合中切出值
tail Collection 从集合中提取尾部(除了第一个元素之外的所有内容)
toPairs Collection 将集合转换为包含对的数组
transformKeys Collection 执行转换操作,但对集合的键而不是其值进行操作
transpose Collection 旋转多维数组,将行转换为列,将列转换为行
trim Collection 映射集合中的每个项目,并对它调用PHP的trim()方法
validate Collection 如果给定的回调对每个项目返回true,则返回true
withSize Collection 创建一个新的集合,其中包含指定数量的项目

贡献

感谢您考虑对Elevate做出贡献。您欢迎提交包含新宏或现有宏改进的PR,但请确保适当包含测试或测试。

致谢

该库包含从以下开源包中获取的宏和/或代码

许可证

MIT 许可证(MIT)。请参阅 许可证文件 获取更多信息。