php的简介
<!--
php的简介
1,什么是PHP?
是一门后端语言,主要是实现前后端数据交互
咱们身为一个前端程序员,只要简单了解一下php就可以,没必要完全掌握
现在PHP已经不行了,我们之后讲node.js来实现全栈的操作
是一门 弱类型的 编程语言
2,PHP必要的运行环境
PHP是一门专门运行在服务器端的计算机语言
没有服务器,没办法正常执行PHP程序
我们的前端语言,只要有浏览器就可以运行,PHP必须要有服务器
实际项目,通过 服务器(Apache/Nginx/Tomcat...)
PHP
数据库(MySQL/MongoDB/SQL SERVER...)
环境的配置来实现运行PHP程序
作为前端程序员,我们使用继承环境,一键安装好所有需要的软件
当前使用的是 phpstudy 集成环境
一键安装,配置好所有的软件
phpstudy要使用2016版本,其他版本与2016有区别,甚至有问题
3,实际工作中,不会让前端程序员写后端程序,你就是让你写,你也会用 node.js
现在学习php是为了让大家对PHP有一个基本了解
4,集成环境的安装
特别注意,集成环境必须安装在一个独立的文件夹中
5,PHP的运行机制 / 前后端数据交互操作的运行机制
6,在phpstudy的www文件夹中,
创建 01_demo.php 文件
输入 3行代码
<?php
header("content-type:text/html;charset=utf-8");
echo '我是第一个PHP程序';
打开浏览器 地址栏输入 127.0.0.1 地址 浏览
点击 01_demo.php 程序
页面能正常显示中文
证明PHP环境搭建OK
-->
PHP执行的基本过程和原理
情况1:浏览页面
浏览器 --- 对服务器发起请求(没有数据交互)
服务器 --- 验证请求的合法性,如果合法,返回请求内容
浏览器 --- 接收返回的请求,并且显示内容
情况2:有数据交互
浏览器 --- 对服务器发起请求(数据交互)
服务器 --- 接收请求,将请求内容和数据发送给PHP
php --- 接收请求内容和数据,对数据库进行操作
数据库 --- 被php操作,并且返回操作结果
php --- 接收数据库的操作结果,并且返回给服务器
服务器 --- 接收PHP返回的结果,发送给浏览器
浏览器 --- 接收服务器返回内容并且显示
PHP相关设定
1,安装 phpstudy 集成环境
phpstudy必须有独立的文件夹
2,设定 phpstudy
允许 显示文件目录
删除 www 文件夹中的默认文件
设定端口等相关配置设定
3,创建PHP文件
所有的执行的PHP的文件,必须都存储在 phpstudy 中 www 文件夹中
只有存储在 www 文件夹中的 PHP程序,才会通过服务器运行
才能被正常执行
创建的php文件,扩展名必须是 php
要设定操作系统,显示扩展名,才能修改扩展名
特别注意:在服务器端,运行的程序和设定的文件夹,对于文件名称有严格要求
文件夹,文件名必须是: 英文 数组 下划线 3种形式的内容
中文,空格,特殊符号等,都不要使用,有可能引起错误
在PHP文件中,PHP程序有基本的语法格式
所有的PHP程序,必须要写在 PHP起始和结束表示符之间
PHP起始标识符 <?php
PHP结束表示符 ?>
php程序会执行 标识符之间的程序内容
如果PHP程序结束之后,没有其他程序内容,PHP的结束标识符,必须省略
如果有 ?> 结束标签,多余的内容,例如回车,空格,等也会作为内容,出现在页面中
会对其他PHP程序有可能造成执行错误
如果PHP程序结束之后,没有其他程序内容,结束标识符必须删除不写
PHP程序中允许建立使用其他语言,例如html,css,js等等
运行时,PHP程序只执行 <?php ?> 标识符之间的程序,其他程序内容,交给服务器和浏览器执行
实际中,推荐使用 7.0+ 版本的PHP程序
php5.6 是 n年前的版本,很多新的PHP语法不支持
设定为PHP7.0+版本时 往往会有各种 VC程序库 要求安装
在 百度云盘中 我会上传 各个版本需要的 VC程序库 VC9 VC11 VC14
网上也可以搜到 但是一定要是 32位版本 因为 phpstudy 是32位程序
安装时,通过 控制面板 --- 功能和程序 可以查看之前已经安装过的 VC版本
如果安装 VC9 VC11 VC14 出现问题, 删除 2015以上 VC版本 再次安装就可以
VC程序库是什么?
相当于操作系统的补丁
所有的电脑程序,都要在计算机中运行,运行时,需要操作系统具备这个相关的环境,程序
VC程序库,就是提供,原始操作系统,不具有的运行环境,有了这个VC程序库,一些大型程序才能执行
X64 表示是 64位程序
X86 / X32 表示是 32位程序
PHP的基本语法格式
PHP的语法格式,要求非常严谨,必须严格遵守,否则非常容易出错
1,每行PHP代码,必须以分号结束
2,该有的空格,最好要有
3,严格区分大小写
4,命名只支持 数字,字母,下划线
5,文件名,文件夹名称,必须是 数字,字母,下划线
运行php程序
必须通过服务器来运行PHP程序
不能从编辑器直接运行PHP程序
不能双击直接运行PHP程序
不能从html页面,直接跳转php程序,也必须通过服务器运行HTML程序,跳转PHP程序
如果没有通过服务器直接运行PHP程序,不会执行PHP程序,只会显示PHP源代码
php的变量数据类型
PHP程序和JavaScript有很多相似
1,定义变量
JavaScript中 var let const 关键词,定义变量
PHP中是 $ 定义变量
JavaScript,定义之后,使用变量不需要关键词
console.log( 变量 )
PHP中使用变量,定义变量,都必须有关键词$符号
echo $变量
let int1 = 100; console.log(int1);
$int1 = 100; echo $int1;
JavaScript程序的调试输出
window.alert() 提示框
console.log() 控制台
document.write 页面
php程序的调试输出
echo 输出,可以输出一个变量,或多个变量,使用逗号间隔
只能输出 数值,布尔值,字符串
如果输出数组,对象等,会报错
print_r() 可以输出所有的数据类型
一般与 HTML标签 pre配合使用 以源代码的形式显示聂荣
var_dump() 输出内容,以及内容的数据类型
一般用echo 数组
对象等用print_r()
查看数据类型用 var_dump()
2,PHP的数据类型
分类:大同小异,但是有区别
基本数据类型: 在程序中,存在的数据类型,
标量数据类型
布尔类型
字符串类型
浮点数类型
整数类型
注意:浮点数类型,和整数类型,在PHP中是2种类型
在JavaScript中是一种数值类型
复杂数据类型/引用数据类型/复合数据类型
数组
对象
函数
特殊类型
空类型
资源类型
伪类型:是人为定义的,在计算机程序中,不存在的类型,一般用于说明存在于说明文档或者API说明中的
数值类型
混合类型
可回调类型
void类型
1,布尔类型 bool / boolean
与JavaScript是相同的
2,整数类型 int / integer
与JavaScript是相同的
PHP中有整数的范围
32位系统: 0 - 2的31次方-1
64位系统: 0 - 2的63次方-1
64位系统,理论上存储最大数值为 2的64次方
实际中,使用第一位2进制数值表示数值的正负 0负数 1整数
理论上存储的最大数字值是 2的63次方
0 是一个特殊的数值,再使用1位来存储0
最终 64位 操作系统,存储的最大整数为 2的63次方-1
3,浮点数 float
JavaScript中,浮点数的有效数值为 17位
PHP中,浮点数的有效数值为 14位
科学计数法表示的数值,即时是整数,数据类型也是浮点数
4,字符串类型 str / string
php中单引号,双引号,有很大的区别
PHP中单引号不会解析变量,与JavaScript是相同的
PHP中双引号,可以解析变量,与JavaScript中,模板字符串功能相同
字符串中,变量容易与字符产出冲入,可以使用 { } 包裹变量,防止冲突
PHP中的字符串拼接
JavaScript中使用 + 加号做字符串拼接
PHP中 使用 . 点 做字符串拼接
要特别注意 点左右如果没有空格,作为小数点执行
点左右如果有空格,才作为拼接符号
5,数组类型 arr / array
PHP中的数组与JavaScript中的数组,也是完全不同的
基本语法:
php7.0+ / php5.5 $变量 = [1,2,3,4,5];
php5.5以下 $变量 = array(1,2,3,4,5);
定义数组的键名
在JavaScript中,数组只能是数值索引下标
在PHP中,可以定义字符串索引下标
语法形式 : $变量 = [ 索引 => 数值数据 , 索引 => 数值数据 ...];
PHP中,也是通过 $数组变量[索引]的语法形式来操作数组的单元
[]中可以直接解析变量
PHP中,数组是一个常用的数据类型
6,对象数据类型
PHP中的对象与JavaScript中的对象有本质上的区别
咱们基本了解就可以了
创建一个空对象 , 不能直接写 $变量 = {};
$变量 = new stdClass();
JavaScript中操作对象使用 点语法或者[]语法
PHP中,操作对象使用 -> 语法
7,函数类型
PHP中的函数语法,与JavaScript中函数语法完全相同
只是PHP中没有箭头函数
8,空类型 null
PHP中没有 undefined 这个类型,只有null类型
对于没有定义的变量,和定义没有赋值的变量,执行PHP中都是报错
null类型是赋值的特殊的类型,表示一个 空 值
9,资源类型 resource
PHP操作或者读取其他外部文件,执行的结果
不是程序员可以自行定义的数据类型
php的运算符
PHP的运算符,与JavaScript的运算符,使用基本相同
1,算术运算符
+ - * / %
只是PHP中 加号 没有字符串拼接功能
2,字符串拼接运算符
. 点符号
没有空格是小数点
有空格是字符串拼接
3,赋值运算符
= += -= *= /= %= .=(字符串拼接赋值运算)
与JavaScript的运算符使用完全相同
4,自增自减运算符
++ --
前缀 ++变量 --变量
后缀 变量++ 变量--
与JavaScript的运算符使用完全相同
5,比较运算符
> < >= <= == === != !==
与JavaScript的运算符使用完全相同
6,逻辑运算符
&& || !
与JavaScript的运算符使用完全相同
7,三元运算符
表达式1 ? 表达式2 : 表达式3 ;
与JavaScript的运算符使用完全相同
php循环
JavaScript中的判断循环语句与PHP中判断循环语句,完全相同
if判断 switch判断
for循环 while循环
JavaScript中与PHP中,都是完全相同的用法
唯一的区别: PHP中没有 for...in循环
循环数组对象等可以使用forEach()循环,语法也是不同的
for循环: 语法和执行原理是完全相同的
只是变量的声明不同
for($i = 0 ; $i <= 10 ; $i++){
echo $i , '<br>';
}
foreach() 循环遍历数组的语法
自定义变量中存储的是数组单元的数据
foreach( 数组 as 自定义变量 ){
}
自定义变量1 存储数组单元的索引,自定义变量2存储数组单元的数值
foreach( 数组 as 自定义变量1 => 自定义变量2 ){
}
MySQL数据库
什么是数据库
所谓的数据库,就是装有数据库软件的电脑 MySQL
所谓的服务器,就是装有服务器软件的电脑 Apache
数据库的分类
网状型数据库
层次型数据库 这里两种数据库已经放弃不使用了
关系型数据库 以键值对的形式存储数据 --- 以二维表形式存储数据
MySQL
非关系型数据库 以属性属性值的形式存储数据 --- 以对象的形式存储数据
MongoDB
我们使用可视化工具来操作数据库
MySQL-front
MySQL数据库的基本结构
MySQL数据库中的内容,必须遵守MySQL设定的数据库结构
库(database) ---> 表 (table) ---> 字段 ---> 数据
要建立一个数据库
先建立 库结构, 在这个库结构中,再建立表结构,在表结构中,再建立字段,在字段中,再输入存储数据
创建 库结构
选择 本地 localhost , 在本地localhost中创建 库结构
确保字符集是utf8
创建 表结构
选择 库结构 , 在这个库结构中,创建表结构
确保 类型是 innoDB , 字符集是utf8
设定备注说明
创建 字段
选择 表结构 , 在这个表结构中,创建字段
设定字段类型,长度
设定默认值
设定备注说明
设定是否允许为空
输入 数据
输入数据,不用设定id主键值,刷新写入数据到字段中