mattkingshott / elevate
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 | 在索引处检索一个项目 |
第二个 | 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,但请确保适当包含测试或测试。
致谢
该库包含从以下开源包中获取的宏和/或代码
- Spatie的Laravel Collection Macros by Spatie
- sebastiaanluca的Laravel Helpers by sebastiaanluca
- 字符串库,由 Spatie 提供
- Underscore 库,由 Emma Fabre 提供
- Nette 工具库,由 Nette 基金会 提供
许可证
MIT 许可证(MIT)。请参阅 许可证文件 获取更多信息。