- 参考文档: 点击打开链接
1、PHP基础1:数据类型、常量、字符串、运算符
- String、Integer、Float、Boolean、Array、Object、Null
- echo "这是一个", "字符串,", "使用了", "多个", "参数。"; //多参数
- 定义字串:echo <<<EOF ....... EOF; //结束需要独立一行且前后不能空格
- 整型可表示十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)
- 变量定义 :$x; //函数内部使用全局变量加global,局部变量在全局中保存加static
- 数组:$cars=array("Volvo","BMW","Toyota");
- var_dump($cars); //var_dump函数
- PHP大小写敏感
- 常量:define("GREETING", "欢迎访问 Runoob.com", true); //全局的
- 拼接两个字符串:echo $txt1.$txt2; //.并置运算符
- strlen()函数返回字符串长度,strpos()函数字符串中查找指定文本
- 数组$a、数组$b合并:$a + $b
- 三元运算符:$username = $text ? $text : 'nobody'
- or ||、and && 逻辑运算符,效果一样但优先级不一样 ,&& >= > and
2、PHP基础2:循环、数组、全局变量、魔术常量、语言特性、继承、抽象、构造/析构函数、命名空间
if (条件) { 条件成立时要执行的代码; }
- switch语句
- 数组:一般数组,关联数组(key=>value)
- 数组排序
- 超级全局变量:$GLOBALS全局组合数组,$_SERVER服务器信息数组,$_REQUEST收集HTML表单提交的数据,$_POST,$_GET
- while语句
- for循环,froeach()
foreach ($array as $value){}
- 函数function(params)
- 魔术常量:__LINE__文件中的当前行号,__FILE__文件的完整路径和文件名, __CLASS__,__FUNCTION__,__NAMESPACE__
- 命名空间
- 面向对象:构造函数、析构函数
function __construct() { print "构造函数\n"; $this->name = "MyDestructableClass"; } function __destruct() { print "销毁 " . $this->name . "\n"; }
- 访问控制:
- public(公有):公有的类成员可以在任何地方被访问。
- protected(受保护):受保护的类成员则可以被其自身以及其子类和父类访问。
- private(私有):私有的类成员则只能被其定义所在的类访问。
- 抽象类:abstract class className{}
- PHP 不会在子类的构造方法中自动的调用父类的构造方法。要执行父类的构造方法,需要在子类的构造方法中调用 parent::__construct() 。
- 伪变量 $this 在静态方法中不可用
3、PHP表单
- $_GET 和 $_POST 变量,预定义的 $_REQUEST 变量包含了 $_GET、$_POST 和 $_COOKIE 的内容
- HTML 表单代码如下所示。$_SERVER["PHP_SELF"]是超级全局变量,返回当前正在执行脚本的文件名;htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">......</form>
- 完整表单验证实例
4、PHP高级教程
- PHP多维数组:格式化输出数组
print("<pre>"); // 格式化输出数组
print_r($sites);
print("</pre>");
?> - PHP日期:date("Y/m/d");// date()函数
- PHP包含文件:html包含文件使用include 和 require关键字包含.php文件。include包含失败警告后继续执行,require包含失败报错则停止执行。
<?php include 'header.php'; ?>
- PHP文件:
- fopen() 函数用于在 PHP 中打开文件。$file=fopen("welcome.txt","r");// 模式可以读或写、追加等
- fclose() 函数用于关闭打开的文件
- feof() 函数检测是否已到达文件末尾(EOF)
- fgets() 函数用于从文件中逐行读取文件
-
PHP文件上传:表单:enctype属性定义;php上传脚本:$_FILES全局数组定义文件类型等属性( $_FILES["file"]["type"] - 上传文件的类型);保存被上传的文件: move_uploaded_file ( $_FILES [ "file" ][ "tmp_name" ], "upload/" . $_FILES [ "file" ][ "name" ]);
<form action="upload_file.php" method="post" enctype="multipart/form-data">
- Cookie:
- setcookie() 函数必须位于 <html> 标签之前。
- $_COOKIE["name"];// 取回cookie的值
- isset($_COOKIE["name"]) ;// 判断是否已设置cookie
- 删除cookie,即使cookie的有效时间变为0
<?php setcookie("user", "runoob", time()+3600); ?> <html> .....
- Session:
-
- session_start() 函数必须位于 <html> 标签之前。
- 存储和取回 session 变量的正确方法是使用 PHP $_SESSION 变量
- unset() 函数用于释放指定的 session 变量:
- ession_destroy() 函数彻底销毁 session
session_start(); // 存储 session 数据 $_SESSION['views']=1;
- 电子邮件:mail()函数
- 错误处理:die()函数
// 设置错误处理函数 set_error_handler("customError");
- 异常处理:Exceoption() try {} catch () {} 捕获异常 throw抛出异常 set_exception_handler('myException');// 顶层异常处理器
- 过滤器:
- 过滤变量:filter_var(); filter_var_array(); // 验证变量 filter_input(); filter_input_array (); // 验证输入
Validating 过滤器 和 Sanitizing 过滤器
- FILTER_CALLBACK 过滤器,可以调用自定义的函数,把它作为一个过滤器来使用
- 高级过滤器:选项和标志搭配使用可实现不同需求
- Json: json_encode() 编码返回Json数据, json_decode() 解码返回php变量
- PHP7新特性