| 两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 |
| public:it:php [2015/10/12 17:27] – [Others] oakfire | public:it:php [2019/03/26 17:38] (当前版本) – [Others] oakfire |
|---|
| |
| ===== Syntax ===== | ===== Syntax ===== |
| | ==== 代码组织 ==== |
| | * **include**:[[http://php.net/manual/zh/function.include.php|include]];当一个文件被包含时,其中所包含的代码继承了 include 所在行的变量范围。从该处开始,调用文件在该行处可用的任何变量在被调用的文件中也都可用。不过所有在包含文件中定义的函数和类都具有全局作用域。 |
| | * **require** 和 include 几乎完全一样,除了处理失败的方式不同之外 |
| | |
| ==== 面向对象(OO) ==== | ==== 面向对象(OO) ==== |
| * [[http://php.net/language.oop5|类与对象]] | * [[http://php.net/language.oop5|类与对象]] |
| * [[http://php.net/language.types.callable|Callback 回调类型 callable]] | * [[http://php.net/language.types.callable|Callback 回调类型 callable]] |
| * [[http://php.net/function.call-user-func-array|call_user_func_array 函数]], 用于参数个数不确定时. | * [[http://php.net/function.call-user-func-array|call_user_func_array 函数]], 用于参数个数不确定时. |
| | ==== Notes ==== |
| | * <wrap em>clearstatcache</wrap>: [[http://php.net/manual/zh/function.clearstatcache.php|clearstatcache]], 当使用 stat(),lstat() 或者其它文件操作相关函数时,PHP 将缓存这些函数的返回信息以提供更快的性能。可以用 clearstatcache() 函数来清除被 PHP 缓存的该文件信息. |
| | * ''php:<nowiki>//</nowiki>'' IO 流:[[http://php.net/manual/zh/wrappers.php.php|official manual]], ''<nowiki>php://stdin</nowiki>'', ''<nowiki>php://stderr</nowiki>'', ''<nowiki>php://stderr</nowiki>'', ''<nowiki>php://input</nowiki>'', ''<nowiki>php://output</nowiki>'', ''<nowiki>php://temp</nowiki>'' 等等. |
| | * ''foreach'' 循环时想修改内容时需要加引用 ''foreach($arr as &$value)'', 但是! 加了这个引用就要额外注意很多点, 详见[[http://php.net/manual/zh/control-structures.foreach.php|php.net]]. 比如数组本身必须有引用, 比如循环结束要 ''unset($value)''. 真别扭! |
| ===== Others ===== | ===== Others ===== |
| | * Ubuntu 16.04 的 php7 包,默认没有 mbstring dom 等模块支持,需要安装 ''php7.0-mbstring'', ''php7.0-xml'' 等包 |
| * Ubuntu 14.04 安装 php 环境: <code bash> | * Ubuntu 14.04 安装 php 环境: <code bash> |
| # 安装 php5-cli | # 安装 php5-cli |
| </code> | </code> |
| * nginx 中关于 php 的适用 pathinfo 模式的配置:<code> | * nginx 中关于 php 的适用 pathinfo 模式的配置:<code> |
| location ~ .php { | location ~ \.php { |
| fastcgi_split_path_info ^(.+\.php)(/.+)$; | fastcgi_split_path_info ^(.+\.php)(/.+)$; |
| # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini | # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini |
| } | } |
| |
| | </code> |
| | ===== Tips ===== |
| | * 输出对象信息:<code php> |
| | error_log(print_r($php_object, true)); |
| </code> | </code> |
| |