php sql转dsl,闭包如何帮助创建DSL /流畅的界面:PHP示例?

你能举个例子,用PHP来说明闭包是如何帮助创建DSL(流畅的界面)的吗?

解决方法:

这是我能想到的第一个例子,它不是很好,但它给你一个想法:

$db = new Database();

$filteredList = $db->select()

->from('my_table')

->where('id', 9)

->run()

->filter(function($record){

// apply some php code to filter records

});

在那里我将使用流畅的接口使用一些ORM查询我的数据库,然后将一些过滤器应用到我得到的记录集.想象一下run()方法返回一个RecordSet对象,该对象有一个filter()方法,可能是这样的:

public function filter ($callback)

{

return array_filter($this->recordSet, $callback);

}

你明白了吗?

标签:php,closures,dsl,fluent-interface

来源: https://codeday.me/bug/20190710/1422517.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值