第五周

php
什么是PHP:一个开源的服务端开发语言
PHP作用:能够写动态网站、定义接口
PHP优点:开发速度快、成本低

php运行环境
PHP是否需要运行环境:需要
运行环境架构:WAMP架构 & LAMP架构
PHP实战运行环境要装几个软件:三个(apache、php、mysql)
浏览器访问一个文件 -> apache软件

浏览器解析展示给用户 <- 访问静态文件
浏览器解析展示给用户
<- 交给apache
<- 最终处理将PHP代码解析成字符串
<- 要不要操作数据库
<- 交给php软件处理 <- php文件

php语法快速入门
创建php文件规则:文件名.php (脚下留心:不能有中文还有空格等)
变量:
JS中:修饰符 变量名 = 变量值;
PHP中: 变 量 名 = 变 量 值 ; / / 留 心 : 1 − 变量名 = 变量值; // 留心:1- =;//1符号后面不能有空格,2-必须写分号
输出语句 & 终止代码执行
echo 变 量 名 ; / / 打 印 基 本 类 型 和 变 量 p r i n t r ( 变量名; // 打印基本类型和变量 print_r( ;//printr(变量名); // 常用于打印复杂类型
die; // 终止后续代码执行
数据类型(JS和PHP的区别):
在JS中
基本类型:数值型、字符串、布尔型、null、undefined
复杂类型:数组、对象、函数
在PHP中
基本类型:整型、浮点型、字符串、布尔型
复杂类型:数组、对象
特殊类型:null、资源(resource)
判断:同JS
循环
while/do…while/for 大家都一样
js 数组.forEach((item, index) =>{})
php foreach($数组 as $键 => $值) {}
将数组中的值 挨个赋值给 $值 这个变量
将数组的下标 挨个赋值给 $键 这个变量

函数
function 函数名( 变 量 名 = 默 认 值 , . . . . , 变量名=默认值,...., =,....,变量名=默认值) {

}

函数名(实参1,…,实参n)

MySQL数据库
什么是数据库:就是一个软件
能干吗:存放网站数据
种类:MySQL、MongoDB

操作数据库
什么是navicat:就是一个数据库可视化管理工具
怎么装:绿色版 直接解压 即可
MySQL增:insert into 表名 (字段1,…,字段n) values (值1,…,值n)
MySQL删:delete from 表名 where 条件
MySQL改:update 表名 set 键1=值1,…,键n=值n where 条件
MySQL查:select * from 表名 where 条件 order by 字段 asc|desc limit 起始位置,查询条数

http协议

  • 什么是http:就是互联网通信规则
    作用:客户端如何传递数据,服务端如何响应数据
    请求:请求行(请求地址、请求方式、状态码)、请求头、请求体(参数)
    响应:响应行(请求地址、请求方式、状态码)、响应头、响应体

ajax
ajax异步请求是什么:就是客户端和服务端 无刷新 通信的技术
能干吗:无刷新检测账号是否存在,无刷新联想一些提示
去哪下:不用下,直接js语法
特点:无刷新
好处:减轻服务器压力,用户体验度更好

语法
// 步骤1:创建ajax对象:
const xhr = new XMLHttpRequest();
// 步骤2:时时监听ajax状态
xhr.onreadystatechange = fn
// 步骤3:创建HTTP请求头
xhr.open(请求类型POST/GET,请求地址URL,[默认异步true或者同步false])
// 注:POST请求必须设置请求编码,不然后端无法解析获取数据
xhr.setRequestHeader( “content-type”, “application/x-www-form-urlencoded” );
// 步骤4:发送请求
xhr.send(POST请求则为POST请求数据没有数据就不写/GET请求则null)
function fn() {
//只要ajax状态改变就打印
if (xhr.readyState == 4 && xhr.status == 200) {
alert(xhr.responseText);
}
}

回调函数
什么是回调函数:回调、回调就是回头调用,当主函数执行时,看需求调用传递来的实参
英文:callback
语法
// 主函数
function 函数名(callback) {
//…
// callback()

}

// 调用函数
函数名(() => {
代码
})

promise
异步回调地狱
什么是异步回调地狱:多个异步请求相互嵌套
思考为什么相互嵌套:后续异步请求需要前一次的请求结果做参数
但是嵌套的越深 代码越宽
是什么:异步编程的解决方案
状态:进行中、成功了、失败了
语法

const p1 = new Promise((s, e)=>{ // 两个形参 函数,官方传递实参
异步请求
成功 s(res) 交给then
失败 e(err) 交给then第二个参数处理,或者统一都交给catch处理
}) // Promise是官方定义的,直接用 有一个实参,函数

p1
.then(res=>{
// 第一个then返回的结果会交给第二个then处理
return 666
return new Promise() s结果
})
.then(res => {

})
//...
.catch(err=>{
    
})

ES7中async/await
语法:
async function 函数名() {
var data = await Promise 对象

}
脚下留心: await 操作符用于等待一个 Promise 对象, 它只能在异步函数 async function 内部使用.

跨域
什么是跨域:顾名思义跨域名请求,也就是a网站请求了b网站的数据产生跨域
跨域导致原因:浏览器同源策略
同源策略规则:只要 协议、域名、端口 有一个不一样 则称之为 跨域
cookie和h5客户端存储 不能用
dom
异步请求

同源策略:保证网站数据安全
解决跨域:
1-后端声明header头 header(“Access-Control-Allow-Origin: *”)
2-**JSOP原理 2.1-静态页面通过script标签加载接口,
2.2-接口调用函数 实参是要响应的数据,
2.3-静态页面声明函数,接受参数
3-服务器配置(了解)
4-**前端代理(后面讲)

cookie
什么是cookie:就是一门客户端存储技术
好处:减轻服务器压力
特性:时间限制 默认浏览器关闭销毁(存储在浏览器文件中)
域名限制 不能跨浏览器获取(同源策略)
空间限制 4KB
数量限制 浏览器不同限制不同
cookie存
document.cookie = ‘键1=值1;expires=时间’ path/domain

const d = new Date
d.setTime( d.getTime() + 11000606024 或 3600100024 )
const time = d.toUTCString() // 获取世界统一时间 字符串格式
留心1:对象不能直接存需要转换
留心2:键重复会覆盖
留心3:必须走HTTP协议
取:document.cookie 字符串 需要具体值 得自己分割取
|

删:document.cookie = ‘待删除的键=值;expires=-1’

html5存储
语法
保存数据:localStorage/sessionStorage.setItem(key,value);
读取数据:localStorage/sessionStorage.getItem(key);
删除单个数据:localStorage/sessionStorage.removeItem(key);
删除所有数据:localStorage/sessionStorage.clear();

               cookie    	       localStorage	   sessionStorage	php的cookie	php的session

掌握情况 项目应用少 重点 重点 了解 了解
存储 浏览器(不纯) 纯浏览器 纯浏览器 浏览器(不纯) 服务器(纯)
声明周期 自己定 永久 网页 自己定 浏览器关闭
空间 4KB 5M 5M

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值