一、PHP语言介绍
1.什么是PHP
1.外文名PHP:Hypertext Preprocessor,中文名:“超文本预处理器”是一种通用开源脚本语言。
2.语法吸收了C语言、java和Perl的特点,利于学习,使用广泛,主要适用于web开发领域。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
3.PHP入门简单,学习入门易入手
2.什么是静态页面和动态页面
2.1页面信息发布后内容固定不变,没有交互,常见以HTML结尾的就是静态页面,比如新闻发布网站。
2.2 页面没有交互,需要去数据库中提取数据再返回给用户就是动态页面
3.HTTP请求方法
3.HTTP请求方法
4.HTTP常见状态码
5.用户访问网站的流程
1.用户输入域名->浏览器跳转->浏览器缓存->Hosts 文件->DNS 解析( 递归查询 | 迭代查询 )
客户端向服务端发起查询->递归查询
服务端向服务端发起查询->迭代查询
2.由浏览器向服务端发起 TCP 连接(三次握手)
客户端 -->请求包连接-syn=1 seq=x 服务端
服务端 -->向应客户端 syn=1 ack=x+1 seq=y 客户端
客户端 -->建立连接 ack=y+1 seq=x+1 服务端
3.客户端发起 http 请求:
1.请求的方法是什么: Get 获取
2.请求的 Host 主机是: www.oldboyedu.com
3.请求的资源是什么: /index.html
4.请求的端口是什么: 默认 http 是 80 https 443
5.请求携带的参数是: 属性(请求的类型、压缩、认证、浏览器信息、等等)
6.请求最后的空行
4.服务端响应的内容是
1.服务端响应使用的 WEB 服务软件
2.服务端响应请求文件的类型
3.服务端响应请求的文件是否进行压缩
4.服务端响应请求的主机是否进行长连接
5.客户端向服务端发起 TCP 断开(四次挥手)
客户端 --> 断开请求 fin=1 seq=x --> 服务端
服务端 --> 响应断开 fin=1 ack=x+1 seq=y --> 客户端
服务端 --> 断开连接 fin=1 ack=x+1 seq=z --> 客户端
客户端 --> 确认断开 fin=1 ack=z+1 seq=sj --> 服务端
二、 PHP安装部署
1.集成环境phpstudy安装
官方网站:
http://www.phpstudy.net/
2.代码工具PHPstorm安装
https://www.jetbrains.com/phpstorm
破解:
https://www.bilibili.com/read/cv7319471/
三、PHP基本语法
1.php基本函数
<?php
phpinfo();
?>
在浏览器输入你的IP地址然后访问,如果出现以下页面则表示PHP工作正常。
1.phpinfo是一个函数,她的功能是显示在一个当前电脑在服务器的详细的php信息
2.电脑是一个很笨的东西,需要我们人为的告诉他,代码写完了。我们用分号(;)来告诉他代码写完了。因此只要写完一段代码,就需要在后面加分号。
3.而前后两行的回车空行,是为了让代码更加好看,避免叠在一起,看着不舒服。其实中间有多少个回车空行都没有关系的,保证好看就行了。PHP的语法解释器(PHP最核心部分)不会处理这些空行的。
2.PHP编写注意的点:
1.PHP的代码信息全部要用半角的英文、很多人容易写成全角的英文/中文和符号造成PHP代码报错。
2.PHP代码的最后一行可以加也可不加分号。由于很多学习者特别是初学者经常犯一个毛病,写完一行代码不加分号,因此容易犯错,某些公司规定一行代码写完,就必须加分号。
3.我们在写文件test.php这个文件命名的时候,只要英文半角(a-z A-Z 0-9 _-)这些字符来命名文件,文件命名不要用中文,不要用特殊符号,不要中间加空格,严格区分大小。
2.1 变量
创建test01.php并写入以下代码:
<?php
$iphone12 = 5880;
$iphone12mini = 6088;
echo $iphone12 + $iphone12mini; //echo是在PHP里面最常用的一个输出、显示功能的命令
?>
1.必须要以$开始,如变量x必须要写成$x
2.变量的首字母不能以数字开始
3.变量的名字区分大小写
4.变量不要用特殊符号、中文,_不算特殊符号
5.变量命名要有意义(别写xxx,aaa,ccc)这种变量名
变量的分类:
可变变量
外部变量
环境变量
2.2 可变变量
<?php
header(‘Content-type:text/html;charset=utf-8‘); // 服务器读取的 编码设置
$son_name = ‘father_name‘; //定义了一个变量"儿子的姓",值是"爸爸的姓"。
$father_name = ‘zhang‘; //定义了一个变量"爸爸的姓",值是"zhang"。
echo $$son_name; //输出儿子姓什么,儿子跟随爸爸的姓。
?>
2.3 外部变量
html代码:
<html>
<body>
<!-- 这一行method 对应的值改为post --->
<form action="bianliang.php" method="post">
<input type="text" name="username"/>
<input type="password" name="pwd"/>
<input type="submit" name="提交"/>
</form>
</body>
</html>
php代码:
<?php
header(‘Content-type:text/html;charset=utf-8‘);
//$_POST[‘username’],将username作为字符串放在中括号里面,就得到了表单里面的<input type=”text”name=”username”/>的值
$user = $_POST[‘username‘];
echo $u.‘<br />‘;
//$_POST[‘pwd’],将pwd作为字符串放在中括号里面,就得到了表单里面的<input type=”text”name=”pwd”/>的值
$passwd = $_POST[‘pwd‘];
echo ‘用户名:‘.$user.‘<br>‘;
echo ‘密码:‘.$passwd.‘<br>‘;
?>
2.4 环境变量
<?php
echo ‘请求方法: ‘.$_SERVER["REQUEST_METHOD"].‘<br>‘;
echo ‘请求的URI: ‘.$_SERVER["REQUEST_URI"].‘<br>‘;
echo ‘服务程序: ‘.$_SERVER["SERVER_SOFTWARE"].‘<br>‘;
echo ‘客户端IP: ‘.$_SERVER["REMOTE_ADDR"].‘<br>‘;
echo ‘服务端IP: ‘.$_SERVER["SERVER_ADDR"].‘<br>‘;
echo ‘文件路径: ‘.$_SERVER["SCRIPT_FILENAME"].‘<br>‘;
echo ‘浏览器类型: ‘.$_SERVER["HTTP_USER_AGENT"].‘<br>‘;
echo ‘跳转页面: ‘.$_SERVER["HTTP_REFERER"].‘<br>‘;
echo ‘当前时间: ‘.$_SERVER["REQUEST_TIME"].‘<br>‘;
?>
2.5 常量
格式说明:
常量就是长久不变的值,常量在代码中的定义,以及书写方式如下所示:
define(常量名, 常量值)
格式注意:
1.常量名可以小写,但是通常大写
2.常量名可以不加引号,但是通常加上引号
3.在字符串中调用常量的时候,必须在引号外面
4.常量名建议只用字母和下划线
实验代码:
<?php
define(‘MY_NAME‘,‘PHP中文网‘);
echo MY_NAME;
//下面是错误的调用方式
echo ‘我的名字是MY_NAME‘;
//下面是正确的调用方式
echo ‘我的名字是‘.MY_NAME;