优秀代码值得反复阅读,深入理解!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/**
* Maps a function to all non-iterable elements of an array or an object.
* 将函数映射到数组或对象的所有不可迭代元素。
* (个人理解,遍历对象或数组并通过一个回调方法处理值)
*
* This is similar to `array_walk_recursive()` but acts upon objects too.
* 虽然和`array_walk_recursive()`类似但是这个在对象上也起作用。
*
* @since 4.4.0
*
* @param mixed $value The array, object, or scalar.
* @param callable $callback The function to map onto $value.
* @return mixed The value with the callback applied to all non-arrays and non-objects inside it.
*/
function map_deep( $value, $callback ) {
if ( is_array( $value ) ) {
foreach ( $value as $index => $item ) {
$value[ $index ] = map_deep( $item, $callback );
}
} elseif ( is_object( $value ) ) {
$object_vars = get_object_vars( $value );
foreach ( $object_vars as $property_name => $property_value ) {
$value->$property_name = map_deep( $property_value, $callback );
}
} else {
$value = call_user_func( $callback, $value );
}

return $value;
}

该方法来自于WordPress项目中wp-includes/formatting.php

前言

有一串不希望做任何修改的带参数的URL,一般做法是按key=value[&]拼接参数并散列函数加密,再将加密值附在URL上,服务器收到请求后对请求参数以同样的方式获得加密值并比对。但这样任然有可能被伪造。随之产生了HMAC(Hash-based Message Authentication Code)解决方案。

Read more »

前言

  最近突然想写个备忘录来记录脑海里突然闪现的思维火花,思考一番觉得做成小程序最佳。顺便实战下laravel开发RESTful API。本文描述了大略实现思路过程和相关参考文档。

Read more »

天晴的时候,我想到山上赏鸟,到海边玩水…
天晴的时候,我想到花园种花,到果园采果…
天晴的时候,我想去拜访朋友,去逛逛市集…
然而雨始终下不停…
直到我决定在雨中赏鸟、在雨中种花…
在雨中访友…
雨才渐渐地停了…
—几米《我的心中每天开出一朵花·下雨的日子》

0%