基于php5.6 php.ini详解
第一種方法:在所有頁面的頂部與底部都加入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}\n";結果:
1 2 3 4 5 6?
轉載于:https://www.cnblogs.com/zx-admin/p/4778922.html
總結
以上是生活随笔為你收集整理的基于php5.6 php.ini详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第四-generation音频:互联网智
- 下一篇: vs2013+EF6+Mysql