[PHP基础] 知识点
PHP: recursive acronym for PHP: Hypertext Preprocessor,递归叫法
types
- boolean(TRUE, FALSE),TRUE跟FALSE是大小写不敏感的。
- integer,没有unsigned的说法,如果溢出就用Float代替。
- string, heredocs关闭标识符需要顶格写,其有双引号的效果。nowdocs有单引号的效果(>= 5.3.0),不能用作实例化类中属性(<5.3.0)。
- constants,可以用constant函数获取值。>= 5.3.0时可以使用const来定义一个常量。类中用const。可以用get_defined_constants函数获取一个常量列表。
refrence
- 如果在函数内部定义一个全局的引用,只会在函数内部可见。
<?php $var1 = "Example variable"; $var2 = ""; function global_references($use_globals) { global $var1, $var2; if (!$use_globals) { $var2 =& $var1; // visible only inside the function } else { $GLOBALS["var2"] =& $var1; // visible also in global context } } global_references(false); echo "var2 is set to '$var2'\n"; // var2 is set to '' global_references(true); echo "var2 is set to '$var2'\n"; // var2 is set to 'Example variable' ?>
控制结构
- include / require include如果没有找到指定文件,给出一个警告,而require是错误。
- include_once / require_once 有多个语句作用于同一个文件时,只有一个得到想要的结果。
函数
函数名大小写不敏感
- init_set 设置环境变量,很重要,代码中常用
- get_include_path 获取include path
- set_include_path 设置include path
- spl_autoload_register Register given function as __autoload() implementation,这个在zf中使用到了
对象接口
- Iterator 实现其所有的方法,可以用foreach等检索对象
- Counter
- 构造函数跟CPP不一样, 如果子类有__construct 那么不会去执行父类的构造函数,除非执行parent::__construct