网站建设维护的相关基础知识,wordpress置顶重复,深圳装饰公司,医疗网站开发ppt文章目录 一、WEB技术1、什么是web2、B/S架构3、C/S架构 二、PHP概述1、PHP是什么2、PHP受欢迎的原因3、基于MVC模式的PHP框架4、常用编译工具5、PHP环境搭建6、开发工具 三、PHP基本语法格式1、标记2、输出语句3、注释4、标识符 四、数据与运算1、常量1.1、常量定义1.2、预定义… 文章目录 一、WEB技术1、什么是web2、B/S架构3、C/S架构 二、PHP概述1、PHP是什么2、PHP受欢迎的原因3、基于MVC模式的PHP框架4、常用编译工具5、PHP环境搭建6、开发工具 三、PHP基本语法格式1、标记2、输出语句3、注释4、标识符 四、数据与运算1、常量1.1、常量定义1.2、预定义常量 2、变量2.1、变量赋值2.2、超级全局变量 3、数据类型3.1、标量数据类型3.2、php 特殊数据类型3.3、数据类型检测3.4、数据类型检测函数3.5、数据类型转换 4、运算符4.1、算数运算符4.2、赋值运算符4.3、比较运算符4.4、逻辑运算符4.5、递增递减运算符4.6、位运算符4.7、位移运算4.8、错误运算符4.9、三元运算符4.10、运算符的优先级 五、if 语句1、if 单分支语句2、if...else选择结构语句3、三目运算符实现if...elseif...else语句 六、switch 语句七、while 循环八、do ...while循环九、for 循环十、continue 和break跳转指令十一、换行十二、流程替代语法十三、文件包含语句1、inclue语句2、require语句与include语句区别3、include_once()、require_once()和include()、require()的区别 一、WEB技术
1、什么是web
含义Web的本意是蜘蛛网在计算机领域中称为网页构成它是一个由很多互相链接的超文本文件组成的系统资源系统中每个有用的文件都称为“资源”并由“通用资源标识符”URI进行定位这些资源通过超文本传输协议Hypertext Transfer ProtocolHTTP传送给用户用户单击链接即可获得资源。
2、B/S架构
B/SBrowser/Server架构指的是浏览器/服务器端的交互B/S架构则是将浏览器作为客户端用户只需要安装一个浏览器就可以访问各种网站的服务如百度搜索、新浪资讯等。
3、C/S架构
C/SClient/Server架构指的是客户端/服务器端的交互客户端软件是专门开发出来的如QQ、微信用户必须安装软件才能使用
PHP运行于服务器端既可以在C/S架构中为客户端软件提供服务器接口也可以作为B/S架构来搭建动态网站。 二、PHP概述
1、PHP是什么
PHP: Hypertext Preprocessor超文本预处理器 是一种通用开源脚本语言. 它是全球网站使用最多的脚本语言之一全球前100万的网站中有超过70%的网站是使用PHP开发的这就是我们为什么要学php的原因我们希望看懂php的代码好挖漏洞。PHP 脚本在服务器上执行默认文件扩展名是 “.php”
2、PHP受欢迎的原因
开源免费、面向对象、快捷性、跨平台性、支持多种数据库、PHP中可嵌入HTML编辑简单、实用性强、程序开发快
3、基于MVC模式的PHP框架
目前有很多流行的基于MVC模式的PHP框架可以提高开发速度。例如国外的有Zend Framework、Laravel、Yii、Symfony、CodeIgniter等国内也有比较流行的框架如ThinkPHP。
4、常用编译工具
Notepad的特点是小巧占用资源较少非常适合初学者使用。 大家先直接用它就可以了NetBeans和Zend Studio功能强大相当于python pycharm但占用较多资源使用较为复杂适合专业的开发人员使用。
5、PHP环境搭建
使用 PHP 需要先安装环境安装环境比较麻烦需要安装Web服务、PHP应用服务器、MySQL管理系统。
Web服务apache 和 nginx PHP多版本 MySQL多版本
因为多环境、多版本、多系统集成包就出现了。集成包(phpStudy、Xampp、宝塔面板、wdcp面板)安装很方便。只要在您的 web 目录中创建 .php 文件即可服务器将自动为您解析这些文件。不需要编译任何软件或安装额外的工具。由于 PHP 是免费的大多数的 Web 主机都提供对 PHP 的支持。
6、开发工具
推荐使用vscode原因
vscode 可以有函数提示并且放上去可以提示这个函数干嘛的。ctrl / 自动给你多行注释了写起来比较方便。可以拷贝文件相对路径很方便放到浏览器上执行。 三、PHP基本语法格式
PHP每个语句结束必须写“”作为结束符
1、标记
由于PHP 是嵌入式脚本语言它在实际开发中经常会与HTML内容混编在一起所以为了区分HTML与PHP代码需要使用标记对PHP代码进行标识
当解析一个文件时PHP 会寻找起始和结束标记也就是告诉 PHP 开始和停止解析二者之间的代码。此种解析方式使得 PHP 可以被嵌入到各种不同的文档中去而任何起始和结束标记之外的部分都会被 PHP 解析器忽略。
2、输出语句
常用输出语句
echo
print
print_r()
var_dump()echo可将紧跟其后的一个或多个字符串、表达式、变量和常量的值输出到页面中多个数据之间使用逗号“,”分隔。print与echo的用法相同唯一的区别是print只能输出一个值。print_r()PHP的内置函数它可输出任意类型的数据如字符串、数组等。var_dump()不仅可以打印一个或多个任意类型的数据还可以获取数据的类型和元素个数。
示例
?php
echo helloworld\r\n;
print hello
?3、注释
C风格的单行注释// Shell脚本语言风格的单行注释# 多行注释/* */
4、标识符
标识符PHP程序开发中经常需要自定义一些符号来标记一些名称如变量名、函数名、类名等这些符号被称为标识符。
标识符的定义需要遵循一定的规则具体如下
标识符只能由字母、数字、下划线组成且不能包含空格标识符只能以字母或下划线开头的任意长度的字符组成不包含数字标识符用做变量名时区分大小写 a , a, a,A如果标识符由多个单词组成那么应使用下划线进行分隔例如user_name合法标识符: itcast、itcast88、_itcast、username、password等。非法标识符:66itcast、it cast、123、itcast等。 四、数据与运算
1、常量
常量就是在脚本运行过程中值始终不变的量。是一旦被定义就不能被修改或重新定义。
比如数学中的圆周率π就是一个常量其值就是固定且不能被改变的。 常量遵循标识符的命名规则默认大小写敏感习惯上常量名称总是使用大写字母表示。
1.1、常量定义
常量定义方式有两种
define() 函数
举例
define(PAI, 3.14);
echo 圆周率, PAI; // 输出结果圆周率3.14define(R, 5, true);
echo 半径, R; // 输出结果半径5
echo 半径, r; // 输出结果半径5首个参数定义常量的名称第二个参数定义常量的值可选的第三个参数规定常量名是否对大小写不敏感。默认是 false。 如果设置为 TRUE该常量则大小写不敏感。默认是大小写敏感的。
const 关键字
举例
const R 6;
const P 2 * R;
echo P, P; // 输出结果P121.2、预定义常量
常量名功能描述FILEPHP程序文件名LINEPHP程序中的当前行号PHP_VERSIONPHP程序的版本如“7.1.4”PHP_OS执行PHP解析器的操作系统名称如“WINNT”TRUE该常量是一个真值trueFALSE该常量是一个假值falseNULL该常量是一个空值nullE_ERROR该常量表示错误级别为致命错误E_WARNING该常量表示错误级别为警告E_PARSE该常量表示错误级别为语法解析错误E_NOTICE该常量表示错误级别为通知提醒
举例
?php
echo PHP程序当前文件路径名: .__FILE__;
echo br /;echo PHP程序当前行数: .__LINE__;
echo br /;echo PHP_VERSION;
echo br /;echo PHP_OS;
?2、变量
概念变量是用于存储信息的容器。 组成在PHP中变量是由$符号和变量名组成的。 规则变量名的命名规则与标识符相同。
举例
如$number、$_it为合法的变量名而$123、$*math为非法变量名。2.1、变量赋值
由于PHP是一种弱语言变量不需要事先声明就可以直接进行赋值使用。
实现方式一种是默认的传值赋值另一种是引用赋值。传值赋值变量默认总是传值赋值将“”右边的数据赋值为左边的变量。引用赋值所谓引用赋值就是在要赋值的变量前添加“”符号。两种实现方式的区别传值赋值方式当一个变量值发生改变时不影响另一个变量而引用赋值的方式另一个变量会随之变化。
示例
?php
//变量定义
$a10; //将常量值赋给变量会为a分配内存空间
$b$a; //变量赋值给变量b也分配了内存空间a和b的内存空间互不干扰
$c$a; //引用是不会为c分配空间的c和a是共用一份空间的。可以把c理解成是一个快捷方式。
echo $a,PHP_EOL;
echo $b,PHP_EOL;
echo $c,PHP_EOL;
$c 99;
echo 重新打印a b c变量检查哪几个变量值变更了说明了什么问题,PHP_EOL;
echo $a,PHP_EOL;
echo $b,PHP_EOL;
echo $c,PHP_EOL;
?#PHP_EOL 是一个空格兼容更大平台。
2.2、超级全局变量
PHP中预定义了几个超级全局变量superglobals 这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明就可以在函数及类中使用。
PHP 超级全局变量列表
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION预定义的 $_GET 变量用于收集来自 method“get” 的表单中的值。 从带有 GET 方法的表单发送的信息对任何人都是可见的会显示在浏览器的地址栏并且对发送信息的量也有限制。 预定义的 $_POST 变量用于收集来自 method“post” 的表单中的值。 从带有 POST 方法的表单发送的信息对任何人都是不可见的不会显示在浏览器的地址栏并且对发送信息的量也没有限制。 预定义的 $_REQUEST变量包含了$_GET 、$_POST 和 $_COOKIE的内容。 $_REQUEST 变量可用来收集通过 GET 和 POST 方法发送的表单数据。 也许也碰到过这样的需求传递某个参数时如果表单POST来就用$_POST的值如果没有就获取$_GET里的值。很多人就会想到$_REQUEST因为当$_GET和$_POST同时有同名的参数时$_REQUEST里的就是$_POST满足了$_POST优先的需求(这个谁优先其实是在php.ini里配置的默认POST是比GET优先的)。 为什么.__FILE__ 被称为常量而$_GET称为变量呢因为.__FILE__代表了当前文件名是不会变化的$_GET请求随着请求的不同它的值是不一样的。
3、数据类型
PHP中支持3类数据类型
标量数据类型Boolean布尔类型、int整型、float浮点型、string字符串类型复合数据类型array数组、object对象特殊数据类型resource资源、null空类型
在PHP中所讲的数据类型指的是变量所保存的数据本身。
3.1、标量数据类型 1Boolean布尔类型 布尔型是PHP中较常用的数据类型之一通常用于逻辑判断。 表示事物的“真”和“假”并且不区分大小写。 2int整型 整型可以由十进制、八进制和十六进制数指定用来表示整数 1、在它前面加上“-”符号可以表示负数。2、八进制数使用0~7表示前缀为03、十六进制数使用0-9与A~F表示以0x为前缀
举例
?php$number 0;var_dump($number);echo hr;$number 67;var_dump($number);echo hr;$number -322;var_dump($number);echo hr;$hex 0xa; //将16进制转换为10进制var_dump($hex);echo hr;$oct 012; //将8进制转换为10进制var_dump($oct);
?3float浮点型 浮点数是程序中表示小数的一种方法或是指数形式。 通常使用标准格式和科学计数法格式表示。 4string字符串类型 概念字符串是由连续的字母、数字或字符组成的字符序列。 表示方式分别为单引号、双引号、heredoc语法结构和nowdoc 语法结构。 注意双引号里面可以解析变量单引号输出字符串单引号跟双引号区别对比下面两个输出
?php$str1I like php;$str2I like php;echo $str1;echo br;echo $str2;
?
输出结果
I like php
I like php?php$testphp;$str1I like $test;$str2I like $test;echo $str1;echo br;echo $str2;
?
输出结果
I like $test
I like php注意双引号包裹起来的表达式中间如果存在“$”符号是会自动检索这个变量的值。 5php中字符串拼接 1、PHP中可以使用字符串连接符.来拼接字符串它可以把两个或两个以上的字符串拼接成一个新的字符串。 2、字符串拼接有两种形式分别是直接使用字符串连接符.和赋值运算符.。 3.2、php 特殊数据类型
NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。
NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。
可以通过设置变量值为 NULL 来清空变量数据。 在下列情况下一个变量被认为是NULL
被赋值为NULL。尚未被赋值。被unset()。
3.3、数据类型检测
PHP中变量的数据类型通常不是开发人员设定的而是根据该变量使用的上下文在运行时决定的。常使用var_dump()函数
3.4、数据类型检测函数
PHP中提供了许多检测数据类型的函数但大致可以分为两种gettype()函数和is_*类函数。
is_*()如果检测的值符合检测的数据类型则返回true否则返回false。
is_*函数
函数名称功能描述is_bool()检测是否属于布尔类型is_string()检测是否属于字符串类型is_float()检测是否属于浮点类型is_int()检测是否属于整型is_null()检测是否属于空值is_array()检测是否属于数组is_resource()检测是否属于资源is_object()检测是否属于对象类型is_numeric()检测是否属于数字或数字组成的字符串
3.5、数据类型转换
时机在PHP中对两个变量进行操作时若其数据类型不相同则需要对其进行数据类型转换。
分类通常情况下数据类型转换分为自动类型转换和强制类型转换。 1、自动类型转换指的是当运算需要或与期望的结果类型不匹配时PHP将自动进行类型转换无需开发人员做任何操作。 分类最常见的有3种分别为转换成布尔型、转换成整型和转换成字符串型。 2、强制类型转换就是在编写程序时手动转换数据类型在要转换的数据或变量之前加上“(目标类型)”即可。 4、运算符
运算符专门用于告诉程序执行特定运算或逻辑操作的符号。根据运算符的作用可以将PHP语言中常见的运算符分为9类。
运算符类型作用算术运算符用于处理四则运算赋值运算符用于将表达式的值赋给变量比较运算符用于表达式的比较并返回一个布尔类型的值true或false逻辑运算符根据表达式的值返回一个布尔类型的值true或false递增或递减运算符用于自增或自减运算 php有字符串运算符用于连接字符串 .位运算符用于处理数据的位运算错误控制运算符用于忽略因表达式运算错误而产生的错误信息instanceof用于判断一个对象是否是特定类的实例
4.1、算数运算符
是用来处理加减乘除运算的符号也是最简单和最常用的运算符号 注意a和aa相当于a这个变量先自增后运算a就相当于先运算后自增。
4.2、赋值运算符
是一个二元运算符即它有两个操作数。它将运算符右边的值 赋给左边的变量 例子 $a $b c 5 ; ①将 5 赋值给变量 c 5; ①将5赋值给变量 c5;①将5赋值给变量c ②再把变量 c 的值赋值给变量 c的值赋值给变量 c的值赋值给变量b ③把变量 b 的值赋值变量 b的值赋值变量 b的值赋值变量a表达式赋值完成
$i 1;
等价于
$i $i 1;$str . Tom;
等价于
$str $str . Tom;4.3、比较运算符
是用来对两个变量或表达式进行比较其结果是布尔类型的true或false 注意和的区别是比较内容不单比较内容还比较类型
4.4、逻辑运算符
是在程序开发中用于逻辑判断的符号其返回值类型是布尔类型。就是常说的与、或、非
4.5、递增递减运算符
也称作自增自减运算符可被看作是一种特定形式的复合赋值运算符
“ ”或“- -”放在操作数的前面则先进行自增或自减运算再进行其他运算。“ ”或“- -”放在操作数的后面则先进行其他运算再进行自增或自减运算。
4.6、位运算符
是针对二进制数的每一位进行运算的符号它专门针对数字0和1进行操作。
按位与都是1才是10000011000001011
——————————————————00000010按位或有一个是1就是100000110
| 00001011
——————————————————00001111按位非全部取反
~ 00000110
——————————————————11111001按位异或两个值都相同就是0两个值不相同就100000110
^ 00001011
——————————————————000011014.7、位移运算
是针对二进制数的每一位进行左移或者右移
左移00001011 1
——————————————————00010110右移00001011 1
——————————————————000001014.8、错误运算符
PHP的错误控制运算符使用 符号来表示把它放在一个PHP表达式之前将忽略该表达式可能产生的任何错误信息。
简单来说就是强制执行代码忽略错误不报错。
4.9、三元运算符
格式(expr1) ? (expr2) : (expr3) 对 expr1 求值为 TRUE 时的值为 expr2在 expr1 求值为 FALSE 时的值为 expr3。
自 PHP 5.3 起可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1否则返回 expr3。
4.10、运算符的优先级
左结合方向表示同级运算符的执行顺序为从左到右
右结合方向则表示执行顺序为从右到左
与、或、非优先级是not and or 五、if 语句
1、if 单分支语句 2、if…else选择结构语句 3、三目运算符实现if…elseif…else语句 六、switch 语句
概念switch语句也是多分支语句功能与if系列条件语句相同不同的是它只能针对某个表达式的值作出判断从而决定执行哪一段代码。 七、while 循环
while循环语句是根据循环条件来判断是否重复执行这一段代码的 八、do …while循环
概念do…while循环语句的功能与while循环语句类似
唯一的区别在于while是先判断条件后执行循环体而do…while会无条件执行一次循环体后再判断条件。 九、for 循环
for循环语句是最常用的循环语句它适合循环次数已知的情况
for关键字后面小括号“()”中包括了三部分内容
初始化表达式循环条件操作表达式
它们之间用“;”分隔{}中的执行语句为循环体
举例求0-100之间奇数之和$sum0;for($i0;$i100;$i) {if($i%21){$sum$i;} }echo $sum;?求0-100之间偶数之和$sum0;for($i0;$i100;$i2) {$sum$i;}
echo $sum;十、continue 和break跳转指令
continue语句与break语句的区别在于前者continue用于结束本次循环的执行开始下一轮循环的执行操作后者break 用于终止当前循环跳出循环体。
break语句可应用在switch和循环语句中其作用是终止当前语句的执行跳出switch选择结构或循环语句执行后面的代码。 十一、换行
PHP 中换行可以用 PHP_EOL 或 hr 来替代以提高代码的源代码级可移植性 十二、流程替代语法
大量的HTML与PHP代码混合编写时为了方便区分流程语句的开始和结束位置可以使用PHP提供的替代语法进行编码。
!-- 输出1~99之间的偶数 --
ul?php for ($i 1; $i 100; $i){ ??php if ($i % 2 0){ ?li ?$i? /li?php } ??php } ?
/ul!-- 输出1~99之间的偶数 --
ul?php for ($i 1; $i 100; $i): ??php if ($i % 2 0): ?li ?$i? /li?php endif; ??php if ($i % 2 0): ?li ?$i? /li?php endif; ??php endfor; ?
/ul备注“? ?”是短标记输出语法自PHP 5.4起短标记关闭的情况下仍然可用
流程控制包括 if,while,for,foreach,switch这几个语句有替代语法。 左花括号{换成冒号:把右花括号}分别换成 endif;endwhile;endfor;endforeach; 以及 endswitch; 十三、文件包含语句
作用在程序开发中会涉及到多个PHP文件。为此PHP提供了包含语句可以从另一个文件中将代码包含进来。只需要写对文件的路径。
有哪些包含语句 include、require、include_once、require_once
当正常执行的时候被包含文件的变量才可以引用到。
1、inclue语句
具体语法include 文件路径; “文件路径”指的是被包含文件所在的绝对路径或相对路径。
所谓绝对路径就是从盘符开始的路径如“C:/web/test.php”。所谓相对路径就是从当前路径开始的路径假设被包含文件test.php与当前文件所在路径都是“C:/web”则其相对路径就是“./test.php”。
在相对路径中./表示当前目录../表示当前目录的上级目录。
2、require语句与include语句区别
include()引入文件时如果找不到文件 include语句会发生警告信息并继续执行require()引入文件时文件不存在会发生致命错误程序终止执行。
require()语句一般放在php脚本页面的最前边在php执行前先读入require()引入的文件文件的内容会变成此脚本的一部分但是出现错误会立即退出。
include()语句一般在用到时才引入所以经常是在流程控制的处理区段中php脚本在执行到它时才会将文件包含进来。
也就是说require()是预加载机制位置在脚本的最前边一开始就引入所有可能用到的文件include()是即用即加载位置灵活。
3、include_once()、require_once()和include()、require()的区别
include()、require()执行包含的文件不会对引入的文件进行比较判断可能会出现重复包含的情况
include_once()、require_once()会在包含时先判断文件是否存在已经包含过了就不在包含这样的引入方式可以节约资源又可以避免重复定义。