[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

我忍不住想用它! 我将介绍只有我知道的FuelPHP有用的功能。

你好。
我是Mandai,负责Wild 开发团队。

在开发某些东西时,您倾向于创建类似实用程序类之类的东西,它是您自己创建的有用函数的集合,而无需查看文档,但是框架通常具有一定数量的有用函数。
有各种各样的事情,比如文档是英文的,功能太多,所以我想总结一下FuelPHP的一些我认为有用的类和功能。

到达::采摘()

我将从头开始跳过,这非常有用。
当我看到它时,我不知道它是什么,因为我不熟悉英语单词(这与我的词汇量有关),但我想 array_keys 函数的扩展版本是有意义的。

顾名思义,array_keys 是一个从数组中提取键并返回一个以键作为值的新数组的函数,但 Arr::pluck() 也适用于对象的属性,例如配对模型,这是一个有用的项目。我想会派上用场的。

类项目 { 公共 $name; 公共 $color_id; 公共函数 __construct($name, $value, $color_id) { $this->name = $name; >color_id = $color_id; } } $items = []; $items[] = new Item('香味橡皮擦(红色)', 150, 1); $items[] = new Items('香味橡皮擦(蓝色)) ', 150, 2); $items[] = new Item('香味橡皮擦(黄色)', 150, 3); $color_ids = Arr::pluck($items, 'color_id'); // 结果是 // 数组 ( // 0 => 1, // 1 => 2, // 2 => 3, // )


 这可能是一个很难理解的例子,但是一旦你使用它,你就会明白。
由于处理是通过内部类型检查分开的,因此它可以用于纯数组,没有任何问题,但即使在数组的情况下,它也不会传递给 array_keys,所以如果你知道它是一个数组,你可以简单地使用使用 array_keys 会更快

 

赛事类

FuelPHP 允许您在每个进程启动之前或之后插入进程。
具体来说,我们将在 config 目录下创建 event.php,但与其他配置一样,我们将其指定为数组。

return [ 'fuelphp' => [ 'app_created' => function(){}, 'request_created' => function(){}, 'request_started' => function(){}, 'controller_started' => function(){ }, 'controller_finished' => function(){}, 'response_created' => function(){}, 'request_finished' => function(){}, 'shutdown' => function(){}, ], ];


 这将使用匿名函数向数组添加处理。
另外,如果想在返回之前写一个流程,但又不想写到全局,还有以下方法。

return call_user_func(funtion(){ // 在这里编写所有事件的通用处理 $a = 'hogehoge'; // 例如... return [ 'shutdown' => function() use ($a){ Log::debug ($a); }, });

 
事件针对任何访问模式执行,因此请注意不要过于复杂,否则可能会出现奇怪的错误。

 

日期::月内天数()

顾名思义,该函数返回指定月份的天数。

$year = 2016; $days = Date::days_in_month($month, $year); // 结果是 // 30


 当对某个月份中包含的天数执行循环处理时,它可能很有用。
最后,它与以下内容同义,但不想记住人来说,这是一个有用的函数

$year = 2016; $days = date('j', mktime(0, 0, 0, $month + 1, 0, $year)); // 结果是 // ‘30’

 
但是,本例中的返回值严格来说是一个字符串,因此存在一些差异。

 

字符串::增量()

这也是一个很难使用的函数,但它会增加字符串中后缀对应的数字。
当你在Excel中填写“test1”和“test2”时,会自动创建“test3”和“test4”,这正是它的工作原理。

还可以指定分隔符,如果指定空字符,也可以使用非分隔字符串。
它甚至会自动为没有数字作为后缀的字符串添加后缀,但我不确定这是否是一个好主意。

$test1 = 'test'; $test2 = 'test_3'; $test4 = 'test4'; $test6 = 'test_'; ); echo Str::increment($test2); echo Str::increment($test3); echo Str::increment($test4, 1, ''); echo Str::increment($test5); :increment($test6); // 结果是 // 'test_1' // 'test_2' // 'test_4' // 'test5' // 'test_1_6' // 'test__1'

 
顺便说一句,如果您查看里面的源代码,您会看到 PHP 代码突然向字符串添加了一个数字。

 

字符串::截断()

之前是increment,现在是truncate,是SQL吗?就是这种感觉,但又完全不一样。

Str::truncate() 的工作原理是,如果给定字符串的字符数超过指定的字符数,则在指定的字符数之后截断字符串,并返回默认附加“...”的字符串。

我不知道框架中可以容纳多少根绳子,但我认为对于不想断线或增加宽度有一定的需求。

在这种情况下,可以使用此功能来快速缩短它。

$test = "下雨了,刮风了,下雪了,夏天了,热了,强了,强了,强了,强了,不强了,气多了,米多了,四杯一天。" nMiso 和一点蔬菜 wotabe\nArayurukotowo\nJibunwo Kanjouni Rezuni\nYokumiki Kishiwakari\nSoshitewasurezu"; // Aozora Bunko (http://www.aozora.gr.jp/cards/000081/files/45630_23908.html) echo Str::truncate($test, 10); // 结果是 // 'Ame Nemo Makezu // Kaze Nemo...'


 看来换行码也算一个字符了。
FuelPHP 的 Str 类在设计时考虑了多字节字符,因此您可以放心使用它。

尽管 FuelPHP 被认为是轻量级的,但它确实有一些像这样有用的功能。
另外,当我有足够的材料时,我想发布它。

 
就是这样。

如果您觉得这篇文章有帮助,请点赞!
0
加载中...
0 票,平均:0.00 / 10
2,314
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

写这篇文章的人

关于作者

万代洋一

我的主要工作是为社交游戏开发 Web API,但我也很幸运能够做很多其他工作,包括营销。
此外,我在 Beyond 中的肖像权被视为 CC0。