全部博文(921)
分类:
2008-03-06 15:06:23
PHP是一个很好的语言,而且有很多惊喜。而今天我看到了一个有趣的方法,在Arnold Daniels的博客。他谈到PHP中的临时变量。这个秘诀有益于"懒惰"的程序员,使程序员可以不用再去想该去给变量取个什么名字。他们可以使用这样的变量名:${0}。
我比Arnold Daniels更懒,根本就不想用变量。下面有一些技巧让你的代码更少。
1. 使用 || (or)
和 && (and)
操作代替 if
.
// 标准写法
$status = fwrite($h, 'some text');
if (!$status) {
log('Writing failed');
}
// 较少的代码
${0} = fwrite($h, 'some text');
if (!${0}) log('Writing failed');
// 更少的代码
fwrite($h, 'some text') or log('Writing failed');
2. 使用三元运算符.
// 标准写法
if ($age < 16) {
$message = 'Welcome!';
} else {
$message = 'You are too old!';
}
// 较少的代码
$message = 'You are too old!';
if ($age < 16) {
$message = 'Welcome!';
}
// 更少的代码
$message = ($age < 16) ? 'Welcome!' : 'You are too old!';
3. 使用for替换掉while
.
// 标准写法
$i = 0;
while ($i < 100) {
$source[] = $target[$i];
$i += 2;
}
// 较少的代码
for ($i = 0; $i < 100; $source[] = $target[$i+=2]);
4. 很多地方是必须写变量。例如: 。 例如:一个函数调用得到一个数组,然后直接使用数组元素。
//下面这个例子会发生错误,因为函数调用,返回的数组没有先赋值给一个变量,而直接使用['extension']。
$ext = pathinfo('file.png')['extension'];
// result: Parse error: syntax error, unexpected '[' in ... on line ...
你可以建立一个函数来解决这个问题,如下:(相当不错的方法,看着有点别扭...)
// returns reference to the created object
function &r($v) { return $v; }
// returns array offset
function &a(&$a, $i) { return $a[$i]; }
5. 多花时间去研究php自带的函数方法,PHP有很多很有趣的方法能使你的代码更短。
6. 当写更多的代码可以使程序更清晰的时候,不要懒惰。 多花时间写注释,尽量写易读的代码。这才是真正节约时间的技巧。(多写注释和易读的代码,在以后修改调试的时候会节约时间)