caneara / elevate
此包已被弃用,不再维护。没有建议的替代包。
提供各种 Laravel 组件宏函数库的包。
v1.5.0
2020-12-06 13:41 UTC
Requires
- php: ^7.4|^8.0
- amphp/parallel: ^1.4
- amphp/parallel-functions: ^0.1.3
- symfony/stopwatch: ^5.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
README
此包提供各种 Laravel 组件的宏函数库。使用它们来增强诸如 Blade、Collections、Stringable 等现有功能。
最初,只有少数宏可用。但该库被设计成可以随着时间的推移添加数十个甚至数百个宏。每个单独的宏也可以禁用,从而确保 Laravel 不会花费宝贵的时间注册您未使用的宏。
安装
使用 composer 拉取包
composer require caneara/elevate
配置
如果您希望将所有宏都应用于您的应用程序,则可以跳过此部分。否则,您应该使用 Artisan 发布配置文件。
php artisan vendor:publish --provider="Elevate\ServiceProvider"
您可能希望出于以下原因禁用特定宏
- 性能 - 如果您没有使用宏,甚至没有使用该类本身,那么禁用它将带来微小的性能提升。
- 冲突 - 如果您已经有一个类的宏,或者希望创建一个具有相同名称的宏,则应禁用 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 | 检索索引处的项目 |
second | Collection | 检索第二个索引处的项目 |
third | Collection | 检索第三个索引处的项目 |
fourth | Collection | 检索第四个索引处的项目 |
fifth | Collection | 检索第五个索引处的项目 |
sixth | 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,但请确保在适当的情况下还包括测试或测试。
致谢
该库包括从以下开源包中获得的宏和/或代码
- Spatie的Laravel Collection Macros by Spatie
- sebastiaanluca的Laravel Helpers by sebastiaanluca
- Spatie的String Library by Spatie
- Underscore 库 由 Emma Fabre 提供
- Nette 工具库 由 Nette 基金会 提供
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件。