【学习资料】
视频: https://www.bilibili.com/video/BV1Xh411S7G1?spm_id_from=333.788.videopod.episodes&vd_source=be26b82da70367069ab00d6db4f4ffc0
文档:https://www.runoob.com/php/php-tutorial.html
目录
- 1,PHP是什么
- 2,PHP能做什么
- 3,PHP程序执行流程
- 4,学习PHP需要什么基础
- 5,PHP基础语法
- 一,php程序
- 1,php标记
- 2,php代码
- 3,php注释
- 二,php变量
- 1,声明变量
- 2,变量命名规则
- 三,php标量数据类型
- 字符串
- 四,php复合数据类型
- 五,php特殊数据类型
- 六,数组
- php数组循环
- 七,PHP条件判断
- 八,PHP函数
- 1,什么是函数?
- 2,函数的分类
- 3,String字符串函数
- 4,Array数组函数
- 5,自定义函数
- 6,作用域
- 九,PHP运算符
- 十,循环
- 6,PDO操作数据库
- 7,类与对象
- 类的三大特性
- 8,命名空间
- 创建命名空间
1,PHP是什么
PHP(Hypertext Preprocessor 超文本预处理器) 的简称,是一种被广泛应用的开源通用的服务器端脚本语言,适用于 Web 开发并可嵌入 HTML 中。
- 通用:指跨平台,如:Windows、Linux、MacOS
- 开源:意味着你可以轻松获取全部源代码,并进行定制或扩展
- 免费:意味着你不必为PHP花一分钱,哪怕用在商业项目中
- 服务器端:意味着你必须将它安装在服务器环境下才可以使用
- 脚本语言:解释型语言,按编写顺序执行。是指不需要编译,直接由解释器/虚拟机执行的编程语言
2,PHP能做什么
- 可以快速动态的生成HTML页面
- 可以返回前端需要的各种类型的数据
- 可以高效安全的处理表单数据
- 可以安全的操作服务器上的文件
- 可以控制与客户端的会话( Cookie/Session )
- 可以对用户的行为进行授权控制
- 可以高效安全的操作各种类型的数据库
- 通过扩展,可以实现加密,压缩等其他功能
- 可以提供接口数据,包括:小程序、APP、等其他语言
3,PHP程序执行流程
4,学习PHP需要什么基础
- HTML:超文本标记语言
- CSS:层叠样式标本
- JavaScript:前端脚本编程语言
5,PHP基础语法
php文件默认扩展名是 .php;
php文件中可以包含html,css,JavaScript代码;
一,php程序
1,php标记
- 开始标记<?php和结束标记?>中间写PHP代码;
- 如果没有写结束标记,那么代表所有的代码都用php来解析;
<?php?>
2,php代码
指令 | 描述 |
---|---|
echo | 可以输出一个或多个字符串,用逗号(,)隔开 |
只允许输出一个字符串 |
<?phpecho 111,222;print 111;
?>
; // 语句结束符
3,php注释
<?php// 这是单行注释/*这是多行注释注释后,在浏览器和网页源码中,是看不到的。*/
?>
二,php变量
1,声明变量
<?php$a = 'php中文网原创视频:《天龙八部》公益php培训系列课程汇总!';echo $a;
?>
2,变量命名规则
- 开头不能用数字;
- 中间不能有空格;
<?php// 下划线命名法$new_title = 'php中文网原创视频:《天龙八部》公益php培训系列课程汇总!';echo $new_title;echo '<hr>';// 小驼峰命名法$newTitle = 'php中文网《玉女心经》公益PHP WEB培训系列课程汇总';echo $newTitle;echo '<hr>';// 大驼峰命名法$NewTitle = 'html5中submit是按钮么';echo $NewTitle;
?>
三,php标量数据类型
echo 输出数据值,开发时使用;
var_dump 可以打印数据类型和值,测试时使用;<?php$x = true;var_dump($x); // 类型 值 =》 bool(true)echo '<hr>';$y = false;var_dump($y); // 类型 值 =》 bool(false)
?>
字符串
- 引号内的数据;
- 可以是单引号或双引号;
- 字符串不用引号会报错;
- 数字,浮点数,布尔型,用引号也属于字符串;
双引号与单引号的区别?
- 双引号可以解析变量,单引号不行;
<?php$name = "欧阳";echo "我的名字:$name"; // 我的名字:欧阳echo '我的名字:$name'; // 我的名字:$name
?>
四,php复合数据类型
五,php特殊数据类型
六,数组
数组Array:数组可以在一个变量中存储多个值;
1,创建数组
<?php// 第一种方式$arr = array();var_dump( $arr ); //array(0) { }// 第二种方式$arrs = [];var_dump( $arrs ); //array(0) { }
?>2,创建索引数组
<?php$arr = array('欧阳','西门','灭绝'
);
var_dump( $arr ); // array(3) { [0]=> string(6) "欧阳" [1]=> string(6) "西门" [2]=> string(6) "灭绝" }
?>3,创建关联数组
<?php$arr = ['ouyang' => '欧阳','ximen' => '西门','miejue' => '灭绝'
];
var_dump( $arr ); // array(3) { ["ouyang"]=> string(6) "欧阳" ["ximen"]=> string(6) "西门" ["miejue"]=> string(6) "灭绝" }
?><?php$arr = ['ouyang' => '欧阳','ximen' => '西门','miejue' => '灭绝'
];
var_dump( $arr['miejue'] ); // string(6) "灭绝"
?>
print_r()打印数组
print_r() VS var_dump()<?php$arr = ['ouyang' => '欧阳','ximen' => '西门','miejue' => '灭绝'
];
var_dump( $arr); // array(3) { ["ouyang"]=> string(6) "欧阳" ["ximen"]=> string(6) "西门" ["miejue"]=> string(6) "灭绝" }
echo "<hr>";
print_r($arr);// Array ( [ouyang] => 欧阳 [ximen] => 西门 [miejue] => 灭绝 )
?>
php 连接符 .
<?php$arr = ['ouyang' => '欧阳','ximen' => '西门','miejue' => '灭绝'
];
echo "我的名字是" . $arr['ouyang'] . ",他的名字是" . $arr['ximen']; // 我的名字是欧阳,他的名字是西门
?>
php数组循环
<?php$arr = array("ouyang" => "欧阳","ximen" => "西门","miejue" => "灭绝");// 第一种方法foreach($arr as $v) {echo $v;echo '<hr>';}// 第二种方法foreach($arr as $k => $v) {echo $k . '----' . $v;echo '<hr>';}
七,PHP条件判断
// 三元运算符<?php$ouyang = '123';echo $ouyang ? '我知道了' : '我不知道'; // 我知道了// if …… else<?php$miejue = "西门";$ouyang = '';if($ouyang) {echo "我是欧阳";}elseif($miejue) {echo "我是西门";}// switch语句$str = '欧阳11';switch($str) {case '欧阳':echo "我是欧阳";break;case "西门":echo "我是西门";break;case "灭绝":echo "我是灭绝";break;default:echo $str;}// match 语句$str = 'ximeng';echo match($str) { // 西门"ouyang" => "欧阳克","ximeng" => "西门","miejue" => "灭绝",};- Match是一个表达式,表示其结果可以存储在变量中或返回;- Match分支仅支持单行表达式,不需要中断,陈述;- Match匹配进行严格的比较;
八,PHP函数
1,什么是函数?
- 函数是一段可以重复执行的代码片断;
- 函数是实现代码复用的重要手段;
- 函数是现代编程语言最重要的基本单元;
- 函数永远是编程的核心工作;
2,函数的分类
- 系统函数:编程语言开发者事先写好提供给开发者直接使用的;
- 自定义函数:用户根据自身需求,对系统功能进行扩展;
3,String字符串函数
4,Array数组函数
5,自定义函数
<?phpfunction fun_name($num1,$num2=20,$num3=30) {return $num1 + $num2 + $num3;};echo fun_name(10); // 60// 函数的基本语法:- 必须使用关键字 function声明;- 函数名称不区分大小写,多个单词推荐使用下划线连接;
6,作用域
- php中,只有函数作用域和全局作用域;
- 所有函数作用域中的变量,外部不可见;
- 全局作用域声明变量,在函数中是可见的;
九,PHP运算符
十,循环
<?php$int = 1;// while循环while($int < 10) {echo $int;$int++;}// do……while循环do {echo $int;$int++;}while($int < 10);// for 循环for($int=1; $int<10; $int++) {echo $int;}
continue
- 结束当前循环,进入下次循环
- 在循环语句中使用 while,for
break
- 结束循环
- 在循环语句中使用 while,for,switch
- 可以跳出多层循环
6,PDO操作数据库
- PDO:php数据对象
- PDO统一了PHP访问各种类型数据库的访问方式;
7,类与对象
<?php// 创建类class Teacher {// 成员变量:类属性public $name = '灭绝师太';// 成员方法public function fun1() {return '姓名:' . $this->name . ' ,你好';}}// 调用类$ouyang = new Teacher(); echo $ouyang->name; // 灭绝师太echo '<hr>';echo $ouyang->fun1(); // 姓名:灭绝师太 ,你好
<?php// 创建类class Teacher {// 成员变量:类属性public $name = '灭绝师太';public $school = "PHP中文网";// __construct 构造方法public function __construct($name,$school){$this->name = $name;$this->school = $school;}// 成员方法public function fun1() {return '姓名:' . $this->name . ' ,你好';}// __destruct 析构方法public function __destruct(){echo '<hr> 类执行完毕,要关闭了';}}// 调用类$ouyang = new Teacher("西门大官人",'php'); echo $ouyang->name; // 西门大官人echo '<hr>';echo $ouyang->fun1(); //姓名:西门大官人 ,你好
类的三大特性
- 继承:可以让某个类型的对象获得另一个类型的对象的属性和方法;
- 封装:指将客观事物抽象成类,每个类对自身的数据和方法实行保护;
- public 默认的,关键词定义类内,类外,子类都可见;
- protected 关键词定义类内,子类可见,类外不可见;
- private 关键词定义类内可见,子类,类外不可见;
- 多态:指同一个实体同时具有多种形式,它主要体现在类的继承体系中;
8,命名空间
解决全局成员的命名冲突问题;
创建命名空间
<?php// 第一种// namespace one {// function php() {};// }// namespace two {// function php() {};// }// 第二种namespace three;function php(){};namespace four;function php() {};
<?phpnamespace one;const name = "西门";function php(){echo "我是" . name;};// 调用 one命名空间的php方法php(); // 我是西门namespace tow;const name = "欧阳";function php() {echo "我是" . name;};php(); // 我是欧阳namespace one\two\three;const name = "灭绝";function php() {echo "我是" . name;}php(); // 我是灭绝