fanmh的PHP学习方法【持续更新中】
PHP初识
1.PHP简介
1.1 什么是PHP
是一种运行与服务器端的HTML脚本/编程语言,能够方便Web开发人员快速的书写动态生成的网页。
1.2 静态网站
静态网站相对稳定,能够很容易的被搜索引擎检索,而且不需要数据库的支持,缺点就是交互性差。
1.3 动态网页
网页会根据用户的要求而动态的交互和响应,浏览器作为客户端成为动态交流的桥梁,动态网页的交互性强。
动态网页无需手动的更新HTML文档,会自动生成新的页面,大大节省了工作量。而且不同的用户访问同一个网址时会出现不同的网页。
1.4 静态网页和动态网页的区别
- 静态网页的后缀:htm,html,shtml,xml等
- 动态网页的后缀:asp,jsp,php,perl,cgi等
2.网站基本概念
2.1 服务器概念
- 服务器:能够提供服务的机器,取决于机器上锁安装的软件(服务软件),提供服务是通过软件来实现的。
2.2 IP的概念
- 网络之间的互联协议,为了计算机之间相互连接而设计的协议
- IP地址具有唯一性,一个网卡对应一个IP
2.3 域名
- 域名是由一串用点分割的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位,有时也指地理位置;
- 特殊IP:127.0.0.1,代表本机;
- 特殊域名:localhost
2.4 DNS
- 用户在给定一个域名之后可以根据DNS来得到电脑的IP。
- DNS是因特网上作为域名和IP地址相互映射的一个分布式数据库,能够是用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
- 通过主机名,最终得到改主机名对应的IP地址的过程叫做域名解析(或主机名解析)。
2.5 端口
- 物理端口:电脑上的网线插口;
- 虚拟端口:指的是计算机内部或者交换机路由器内的端口,不可见。
3.Web网络
Web的基本访问流程:浏览器发起访问—>DNS域名解析—>服务器电脑—>服务软件
3.1 静态网站访问流程
3.2 动态网站访问流程
- 动态网站访问和静态的有所不同,多了服务器解析和数据库;
3.3 cookie、session、token
-
cookie是一小段的文本信息,为了方便服务器识别访问者的身份,内涵sessionID,存储于客户端;
-
session在服务器端存有一种类似于散列表的结构来存储信息,这个信息与客户端方存的sessionId是一一对应的,散列表里面存储了客户端方的账户信息(比如说id,name,tel,from_where ...);
-
token是将要验证的信息存在服务端,也就是参数,
- 可以以url/requestbody/header的形式发送到服务端,
- 方式可以是get或者post,当以url为载体传入服务端时,可以实现跨域传输,
- 无须绑定验证身份的信息,只要生成我们所需的验证信息即可,
- 因为不依赖cookie所以他能避免CSRF攻击。
3.4 get、post
- https://blog.csdn.net/song854601134/article/details/111053528
- 区别:
- get比post更快,因为get传输一个tcp数据包,而post传输两个
- 但是post相比起来更加的安全
- get传输参数的时候将数据放在url中,且只支持url编码,容易被拦截,可以实现跨域传输
- post传输参数可以放在requestbody中,更加安全,但是不能跨域
- 在传输方面get有传输的大小限制,上限是2kb,而post是没有大小限制的,
- get请求会被浏览器主动清除,而post不会,
- get在回退的时候不会重新验证,而post会重新验证。
4.环境搭建
4.1 安装Apache软件
-
https://blog.csdn.net/weixin_43727933/article/details/115210770?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165760963716782388022954%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165760963716782388022954&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_click~default-1-115210770-null-null.142v32down_rank,185v2control&utm_term=apache%E5%AE%89%E8%A3%85&spm=1018.2226.3001.4187
-
我安装的是2.4.54,在启动方面,需要在cmd中输入httpd -k -start
4.2 PHP的安装配置以及部署
-
链接:https://pan.baidu.com/s/1U2WssRhOZq86QbrvgX8qDg
提取码:mwow
--来自百度网盘超级会员V5的分享 -
安装方式:微信公众号搜索软件管家,关注之后,输入PHPStorm即可
-
之后部署在PhpStorm上部署PHP环境:file --> setting --> Language --> php --> "..." --> "+" --> local --> "找php.exe的存放位置"。
-
找不到就去搜“在PHPStorm上配置PHP环境” http://www.xue51.com/tuwen/11871.html
-
部署环境:
4.3 MySQL的安装
- 资源及及教程
- 链接:https://pan.baidu.com/s/1LEECPP1vkDtN42lGn0xCgQ
提取码:kqjt
--来自百度网盘超级会员V5的分享 - 安装教程:https://mp.weixin.qq.com/s/w-c6Tcfbu4jemv3TTyZ7tA
- 注:PHP7以上不用添加mysql拓展,自带mysqli,也不用配置时区。
5. 虚拟主机
5.1 什么是虚拟主机
- 通俗的讲就是将计算机中不同的文件夹进行不同的命名,然后可以让服务器(Apache)根据需求从不同的文件夹(网络)中读取不同的内容。
5.2 虚拟主机的分类
可以分为两类:
- 基于IP的虚拟主机:一台电脑上有多个ip,但是每个ip对应一个网址;
- 基于域名的虚拟主机:一台电脑上只有一个ip,但是ip下可以制作多个网址,但是需要给每个网站不同的命名(虚拟主机名)。
5.3 虚拟机的安装
安装VMware:
- 链接:https://pan.baidu.com/s/1p9j78ttlFt_7TNI5bBXJsQ
提取码:d9dz
--来自百度网盘超级会员V5的分享 - 教程:https://mp.weixin.qq.com/s/6pCop5vGuVWO4GDrL4Wj2g
安装Xshell:
-
链接:https://pan.baidu.com/s/1ZZWwEwmcptIyuW_o38i76g
提取码:ucf5
--来自百度网盘超级会员V5的分享 -
教程:https://blog.csdn.net/SoloVersion/article/details/123854852?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165769337016782425172055%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165769337016782425172055&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_click~default-2-123854852-null-null.142v32down_rank,185v2control&utm_term=xshell%E7%A0%B4%E8%A7%A3%E7%89%88&spm=1018.2226.3001.4187
-
xmanager内涵配好的xshell5:
链接:https://pan.baidu.com/s/1NCi7zMIX8qDSPYw1cCo79w
提取码:evne
--来自百度网盘超级会员V5的分享
5.4 虚拟机的使用
-
教程:https://blog.csdn.net/xhmico/article/details/122505951?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165776216816781667856559%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165776216816781667856559&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_ecpm_v1~rank_v31_ecpm-1-122505951-null-null.185v2control&utm_term=%E8%99%9A%E6%8B%9F%E6%9C%BA&spm=1018.2226.3001.4450
-
CentOS-7映像:
-
链接:https://pan.baidu.com/s/1CcG_7XsMse5rmki5KUfBxg
提取码:u681
--来自百度网盘超级会员V5的分享 -
ens33下看不见ip
更改一个配置文件即可:ifcfg-ens33
6.linux学习
PHP 基础语法
1. 语法初识
- PHP是一种运行在服务器的脚本语言,可以嵌入到HTML中;
- PHP文件的默认拓展名是“.php”;
- PHP文件中可以包含html、css、JavaScript代码。
- PHP的代码组成如下:
序号 | 组成 | 描述 |
---|---|---|
1 | PHP标记 | |
2 | PHP代码 | 函数、数组、流程控制、类、方法 |
3 | ; 、 () | 语句结束符 |
4 | 空白符 | 合理使用空白符可以增强代码的可读性 |
5 | 注释 | //单行注释 /*多行注释 |
2. 我看的文档
-
PHP讲解(菜鸟教程):
-
easyswoole官方文档:
-
附带gitee的代码:
学习期间看的文档
- 了解PHP规范PSR0和PSR4:https://blog.csdn.net/loophome/article/details/52066981?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165836744516781683926723%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165836744516781683926723&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-2-52066981-null-null.142v33down_rank,185v2control&utm_term=PSR4&spm=1018.2226.3001.4187
学习框架easyswoole
- 跳转:
Git常用密令
- 跳转:https://blog.csdn.net/weixin_30588827/article/details/99366074?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166122064516782184648003%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166122064516782184648003&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-99366074-null-null.142v42new_blog_pos_by_title,185v2control&utm_term=%E5%B8%B8%E7%94%A8%E7%9A%84git%E5%91%BD%E4%BB%A4&spm=1018.2226.3001.4187
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现