php items(),解读PHP开源项目中列表和hook方法:while(has_items()): thme_it

说明

array each ( array &array )

返回 array 数组中当前指针位置的键/值对并向前移动数组指针。键值对被返回为四个单元的数组,键名为 0 , 1 , key 和 value 。单元 0 和 key 包含有数组单元的键名, 1 和 value 包含有数据。

如果内部指针越过了数组的末端,则 each() 返回 FALSE 。

综合来看,其实就是一个做了一个游标一样的模型,利用each来操作一个数组或者相似的结构,每次在显示的时候,都有对数据数组的本身操作,而while里的has_item,只是作简单的判断有无而已。

part2 hook

第二种情况,是一个叫apply_filters的函数的 实现 。先看代码:

function the_item() {

global $lilina_items, $item;

$item = apply_filters(’the_item’, $lilina_items->current_item());

}

这是lilina里的一个函数,要看的是这个apply_filters方法,有一个简单的例子:

function example_hook($string, $arg1, $arg2)

{

//Do stuff

return $string;

}

$value = apply_filters(’example_hook’, ‘filter me’, ‘arg1′, ‘arg2′);

apply_filters里面最关键的一个函数:

call_user_func_array

call_user_func_array -  Call a user function given with an array of parameters

Description

mixed call_user_func_array ( callback function, array param_arr )

Call a user defined function given by function , with the parameters in param_arr .

其实这些渐渐被遗忘的 函数 ,在高手们的使用下,对项目化的开发很有优势,随手记之。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值