Modern PHP 学习笔记


使用命名空间

使用命名空间和自定义别名

1
2
3
4
5
6
<?php
use xubin\Component\Http|Response as Res
$r = new Res('0ops',400)
$r->send();
?>

导入函数的用法

1
2
3
4
5
<?php
use func Namespace\functionName;
functionName();
?>

导入常量

1
2
3
4
5
<?php
use constant Namespace\COUNT_NAME;
echo COUNT;
?>

在命名空间中使用限定的类名

1
2
3
4
5
6
7
8
9
10
<?php
namespace My\app;
class Foo
{
public function doSomething()
{
throw new \Exception();
}
}

生成器

生成一个范围内的数值

1
2
3
4
5
6
7
8
9
10
11
12
<?php
function makeRange($length){
for($i = 0; $i < $length; $i++)
{
yield $i;
}
}
foreach (makeRange(100000000) as $i){
echo $i, PHP_EOL;
}
?>

使用生成器处理CSV文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
function getRows($file){
$handle = fopen($file,'rb');
if($handle === false){
throw new Exception();
}
while(feof($handle)== false){
yield fgetcsv($handle);
}
fclose($handle);
}
foreach(getRows('data.csv') as $row){
print_r($row);
}
?>