PHP中auto_prepend_file与auto_append_file的用法
第一种方法:在所有页面的顶部与底部都加入require语句。
例如:
?
1
2
3
require('header.php');
//页面正文内容部分
require('footer.php');
但这种方法如果需要修改顶部或底部require的文件路径,则需要修改所有页面文件。而且需要每个页面都加入require语句,比较麻烦。
第二种方法:使用auto_prepend_file与auto_append_file在所有页面的顶部与底部require文件。
php.ini中有两项:
auto_prepend_file 在页面顶部加载文件
auto_append_file 在页面底部加载文件
使用这种方法可以不需要改动任何页面,当需要修改顶部或底部require文件时,只需要修改auto_prepend_file与auto_append_file的值即可。
例如:修改php.ini,修改auto_prepend_file与auto_append_file的值。
?
1
2
auto_prepend_file = "/home/fdipzone/header.php"
auto_append_file = "/home/fdipzone/footer.php"
修改后重启服务器,这样所有页面的顶部与底部都会require /home/fdipzone/header.php 与 /home/fdipzone/footer.php
注意:auto_prepend_file 与 auto_append_file 只能require一个php文件,但这个php文件内可以require多个其他的php文件。
如果不需要所有页面都在顶部或底部require文件,可以指定某一个文件夹内的页面文件才调用auto_prepend_file与auto_append_file
在需要顶部或底部加载文件的文件夹中加入.htaccess文件,内容如下:
?
1
2
php_value auto_prepend_file "/home/fdipzone/header.php"
php_value auto_append_file "/home/fdipzone/footer.php"
这样在指定.htaccess的文件夹内的页面文件才会加载 /home/fdipzone/header.php 与 /home/fdipzone/footer.php,其他页面文件不受影响。
使用.htaccess设置,比较灵活,不需要重启服务器,也不需要管理员权限,唯一缺点是目录中每个被读取和被解释的文件每次都要进行处理,而不是在启动时处理一次,所以性能会有所降低
基于php5.4以上的语法
function number10() { for($i = 1; $i <= 10; $i += 1) yield $i; } 该函数的返回值是一个数组: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
内置 Web 服务器
PHP从5.4开始内置一个轻量级的Web服务器,不支持并发,定位是用于开发和调试环境。
在开发环境使用它的确非常方便。
1
php -S localhost:8000
这样就在当前目录建立起了一个Web服务器,你可以通过 http://localhost:8000/ 来访问。
其中localhost是监听的ip,8000是监听的端口,可以自行修改。
很多应用中,都会进行URL重写,所以PHP提供了一个设置路由脚本的功能:
1
php -S localhost:8000 index.php
这样一来,所有的请求都会由index.php来处理。
你还可以使用 XDebug 来进行断点调试。
细节修改
PHP5.4 新增了动态访问静态方法的方式:
1
2
$func = "funcXXOO";
A::{$func}();
新增在实例化时访问类成员的特征:
1
(new MyClass)->xxoo();
新增支持对函数返回数组的成员访问解析(这种写法在之前版本是会报错的):
1
print func()[0];
list() 用于 foreach
可以用 list() 在 foreach 中解析嵌套的数组:
$array = [
[1, 2, 3],
[4, 5, 6],
];
foreach ($array as list($a, $b, $c))
echo "{$a} {$b} {$c}
";
结果:
1 2 3
4 5 6