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 静态网站访问流程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-elTMHLPq-1661593874543)(E:\Software\Typora\Picture\微信图片_20220712144658.jpg)]

3.2 动态网站访问流程

  • 动态网站访问和静态的有所不同,多了服务器解析和数据库;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LgBdxQA9-1661593874543)(E:\Software\Typora\Picture\微信图片_20220712145722.jpg)]

3.3 cookie、session、token

  • cookie是一小段的文本信息,为了方便服务器识别访问者的身份,内涵sessionID,存储于客户端;

  • session在服务器端存有一种类似于散列表的结构来存储信息,这个信息与客户端方存的sessionId是一一对应的,散列表里面存储了客户端方的账户信息(比如说id,name,tel,from_where …);

  • token是将要验证的信息存在服务端,也就是参数,

    1. 可以以url/requestbody/header的形式发送到服务端,
    2. 方式可以是get或者post,当以url为载体传入服务端时,可以实现跨域传输,
    3. 无须绑定验证身份的信息,只要生成我们所需的验证信息即可,
    4. 因为不依赖cookie所以他能避免CSRF攻击。

3.4 get、post

  • https://blog.csdn/song854601134/article/details/111053528
  • 区别:
    1. get比post更快,因为get传输一个tcp数据包,而post传输两个
    2. 但是post相比起来更加的安全
      • get传输参数的时候将数据放在url中,且只支持url编码,容易被拦截,可以实现跨域传输
      • post传输参数可以放在requestbody中,更加安全,但是不能跨域
    3. 在传输方面get有传输的大小限制,上限是2kb,而post是没有大小限制的,
    4. get请求会被浏览器主动清除,而post不会,
    5. get在回退的时候不会重新验证,而post会重新验证。

4.环境搭建

4.1 安装Apache软件

  • https://blog.csdn/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://blog.csdn/kid00712138/article/details/120715104

  • 链接:https://pan.baidu/s/1U2WssRhOZq86QbrvgX8qDg
    提取码:mwow
    –来自百度网盘超级会员V5的分享

  • 安装方式:微信公众号搜索软件管家,关注之后,输入PHPStorm即可

  • 之后部署在PhpStorm上部署PHP环境:file --> setting --> Language --> php --> “…” --> “+” --> local --> “找php.exe的存放位置”。

  • 找不到就去搜“在PHPStorm上配置PHP环境” http://www.xue51/tuwen/11871.html

  • 部署环境:

4.3 MySQL的安装

  • 资源及及教程
  • 链接:https://pan.baidu/s/1LEECPP1vkDtN42lGn0xCgQ
    提取码:kqjt
    –来自百度网盘超级会员V5的分享
  • 安装教程:https://mp.weixin.qq/s/w-c6Tcfbu4jemv3TTyZ7tA
  • 注:PHP7以上不用添加mysql拓展,自带mysqli,也不用配置时区。

5. 虚拟主机

5.1 什么是虚拟主机

  • 通俗的讲就是将计算机中不同的文件夹进行不同的命名,然后可以让服务器(Apache)根据需求从不同的文件夹(网络)中读取不同的内容。

5.2 虚拟主机的分类

​ 可以分为两类:

  • 基于IP的虚拟主机:一台电脑上有多个ip,但是每个ip对应一个网址;
  • 基于域名的虚拟主机:一台电脑上只有一个ip,但是ip下可以制作多个网址,但是需要给每个网站不同的命名(虚拟主机名)。

5.3 虚拟机的安装

安装VMware

  • 链接:https://pan.baidu/s/1p9j78ttlFt_7TNI5bBXJsQ
    提取码:d9dz
    –来自百度网盘超级会员V5的分享
  • 教程:https://mp.weixin.qq/s/6pCop5vGuVWO4GDrL4Wj2g

安装Xshell

  • 链接:https://pan.baidu/s/1ZZWwEwmcptIyuW_o38i76g
    提取码:ucf5
    –来自百度网盘超级会员V5的分享

  • 教程:https://blog.csdn/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/s/1NCi7zMIX8qDSPYw1cCo79w
    提取码:evne
    –来自百度网盘超级会员V5的分享

5.4 虚拟机的使用

  • 教程:https://blog.csdn/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/s/1CcG_7XsMse5rmki5KUfBxg
    提取码:u681
    –来自百度网盘超级会员V5的分享

  • ens33下看不见ip

    更改一个配置文件即可:ifcfg-ens33

6.linux学习

  • https://www.runoob/linux/linux-tutorial.html

PHP 基础语法

1. 语法初识

  • PHP是一种运行在服务器的脚本语言,可以嵌入到HTML中;
  • PHP文件的默认拓展名是“.php”;
  • PHP文件中可以包含html、css、JavaScript代码。
  • PHP的代码组成如下:
序号组成描述
1<?php ... ?>PHP标记
2PHP代码函数、数组、流程控制、类、方法
3; 、 ()语句结束符
4空白符合理使用空白符可以增强代码的可读性
5注释//单行注释 /*多行注释

2. 我看的文档

  • PHP讲解(菜鸟教程):

    https://www.runoob/php/php-syntax.html

  • easyswoole官方文档:

    https://www.easyswoole/Preface/intro.html

  • 附带gitee的代码:

    https://gitee/fanminghao/php-study.git

学习期间看的文档

  • 了解PHP规范PSR0和PSR4:https://blog.csdn/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/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

更多推荐

PHP自学(持续更新中)