网络安全之Web后端PHP

devtools/2025/2/26 12:57:22/

目录

一、PHP基础语法

1.PHP基础

php%E7%9A%84%E4%BC%98%E7%82%B9-toc" name="tableOfContents" style="margin-left:80px">(1)php的优点

(2)PhpStorm的优点

2.PHP基本语法

 3.PHP变量

4.PHP运算符

二、PHP流控与数组

php%E6%B5%81%E7%A8%8B%E6%8E%A7%E5%88%B6%E8%AF%AD%E5%8F%A5%E4%BB%A5%E5%8F%8A%E5%BE%AA%E7%8E%AF-toc" name="tableOfContents" style="margin-left:40px">1.php流程控制语句以及循环

(1)if 语句

(2)if...else 语句

 (3)if...elseif....else 语句

(4)switch 语句

(5)while语句

(6)do...while语句

(7)for语句

php%E6%95%B0%E7%BB%84-toc" name="tableOfContents" style="margin-left:40px">2.php数组

(1)创建数组

(2)遍历数值数组

三、PHP其他概念

php%E5%87%BD%E6%95%B0-toc" name="tableOfContents" style="margin-left:40px">1.php函数

(1)函数的定义

(2)函数的使用

(3)PHP 函数准则

2.PHP表单与web操作

php%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0-toc" name="tableOfContents" style="margin-left:40px">3.php文件上传

php%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1-toc" name="tableOfContents" style="margin-left:40px">4.php面向对象

5.创建对象和类


一、PHP基础语法

1.PHP基础

php是一种通用的脚本语言,语法吸收了c语言、java和perl的特点,利于学习,使用广泛

php%E7%9A%84%E4%BC%98%E7%82%B9" name="%EF%BC%881%EF%BC%89php%E7%9A%84%E4%BC%98%E7%82%B9">(1)php的优点

  • PHP 可在不同的平台上运行(Windows、Linux、Unix、Mac OS X 等)
  • PHP 与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS 等)
  • PHP 提供了广泛的数据库支持
  • PHP 易于学习,并可高效地运行在服务器端

(2)PhpStorm的优点

  • 智能代码补全:PhpStorm提供智能代码补全功能,可以帮助PHP开发者快速完 成代码输入,提高编码效率。
  • 快速导航:通过快速导航功能,开发者可以迅速定位到类、方法、变量等定 义位置,方便进行代码修改和调试。
  • 即时错误检查:即时显示语法错误和其他潜在问题,并提供快速修复建议, 帮助开发者及时纠正错误。
  • 多语言支持:除了PHP外,PhpStorm还支持HTML、CSS、JavaScript等前端技术, 以及Smarty和PHPDoc等标记语言,满足现代web开发的需求。
  • 数据库管理:PhpStorm内置SQL编辑器,支持常见的数据库如MySQL,可以执 行SQL查询、管理数据库结构等。

2.PHP基本语法

PHP 脚本可以放在文档中的任何位置。

PHP脚本以<?php开始,以?>结束。

php"><?php
//正文
?>
  • PHP文件的默认文件扩展名是 .php
  • PHP文件通常包含HTML标签和一些PHP脚本代码。

PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来 通过 PHP,有两种在浏览器输出文本的基础指令:echo和 print。print不推荐使用,一般都是echo echo由于其性能优势,速度更快,print一次只能输出一个字 符串,如果你需要输出多个,你需要使用连接符(.)来连 接它们,或者使用多个 'print' 语句,这会让代码看起来更加繁琐。

php"><?php
echo "内容";
?>

 3.PHP变量

是用来存储数据的一个容器,你可以给它赋予任何值(数字、文本、文件路径等),并且可以在PHP代码中随时使用这个值。变量名前面会有一个美元符号$。

php">//举例:
<?php
$a=7;
$b=8;
$c="I love";
echo $c;
echo "<br>"
echo $a;
?>

PHP 变量规则:

  • 变量以 $ 符号开始,后面跟着变量的名称
  • 变量名必须以字母或者下划线字符开始
  • 变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
  • 变量名不能包含空格- 变量名是区分大小写的($y 和 $Y 是两个不同的变量)

注意:当赋一个文本值给变量时,需要在文本值两侧加上引号。 PHP 语句和 PHP 变量都是区分大小写的。

4.PHP运算符

用于执行各种数学、逻辑、比较、赋值等操作的符号。

并置运算符(.)用于把两个字符串连接起来。

运算符名称描述

++X

预递增X加1,然后返回X
X++后递增返回X,然后X加1
--X预递减X减1,然后返回X
X--后递减

返回X,然后X减1

运算符名称描述
x==y等于如果x等于y,则返回true
x===y绝对等于如果x等于y,且它们类型相同,则返回true
x!=y不等于如果x不等于y,则返回true
x<>y不等于如果x不等于y,则返回true
x!==y不绝对等于如果x不等于y,或它们类型不同,则返回true
x>y大于如果x大于y,则返回true
x<y小于如果x小于y,则返回true
x>=y大于等于如果x大于或等于y,则返回true
x<=y小于等于如果x小于或等于y,则返回true
php">//举例:
<?php
$a=7;
$b=8;
var_dump(...vars:$a===$b);
//var_dump输出变量的数据类型、值、长度(如字符串或数组)等详细信息
?>

运算符名称描述
x and y如果x和y都为true,则返回true
x or y如果x和y至少有一个为true,则返回true
x xor y异或如果x和y仅有一个为true,则返回true
x && y如果x和y都为true,则返回true

x || y

如果x和y至少有一个为true,则返回true
! x如果x不为true,则返回true

二、PHP流控与数组

php%E6%B5%81%E7%A8%8B%E6%8E%A7%E5%88%B6%E8%AF%AD%E5%8F%A5%E4%BB%A5%E5%8F%8A%E5%BE%AA%E7%8E%AF" name="1.php%E6%B5%81%E7%A8%8B%E6%8E%A7%E5%88%B6%E8%AF%AD%E5%8F%A5%E4%BB%A5%E5%8F%8A%E5%BE%AA%E7%8E%AF">1.php流程控制语句以及循环

PHP流程控制语句用于决定代码的执行顺序,循环则是重复执行某段代码直到满足特定条件为止

(1)if 语句

在条件成立时执行代码

php">if(/*条件*/)
{
/*条件成立时要执行的代码*/;
}

(2)if...else 语句

在条件成立时执行一块代码,条件不成立时执行另一块代码 

php">if(/*条件*/)
{
/*条件成立时执行的代码*/;
}
else
{
/*条件不成立时执行的代码*/;
}

 (3)if...elseif....else 语句

在若干条件之一成立时执行一个代码块

php">if(/*条件1*/)
{
/*条件1成立时执行的代码*/;
}
else if(/*条件2*/)
{
/*条件1不成立且条件2成立时执行的代码*/;
}
/*......*/
else if(/*条件N*/)
{
/*条件1~N-1不成立且条件N成立时执行的代码*/;
}
else
{
/*条件1~N不成立时执行的代码*/;
}

(4)switch 语句

有选择地执行若干代码块之一

php">switch(/*N(条件)*/)
{case /*label1*/:/*如果N=label1,此处代码将执行*/;break;case /*label2*/:/*如果N=label2,此处代码将执行*/;break;/*......*/case /*labeln*/:/*如果N=labeln,此处代码将执行*/;break;default:/*如果N不等于label1~labeln,此处代码将执行*/;
}

(5)while语句

只要指定的条件成立,则循环执行代码块

php">while(/*条件*/)
{
/*要执行的代码*/;
}

(6)do...while语句

首先执行一次代码块,然后在指定的条件成立时重复这个循环

php">do
{
/*要执行的代码*/;
}
while(/*条件*/);

(7)for语句

循环执行代码块指定的次数

php">for(/*初始值*/;/*条件*/;/*增量*/)
{/*要执行的代码*/;
}

php%E6%95%B0%E7%BB%84" name="2.php%E6%95%B0%E7%BB%84">2.php数组

PHP数组是一种数据结构,用于存储键值对集合,其中每个键可以 是整数索引或字符串索引,而值可以是任何类型的数据

php">/*数组的创建*/
/*自动分配下标*/
$arr=array(/*下标为0的元素*/,/*下标为1的元素*/,/*...*/,/*下标为N-1的元素*/);/*手动分配下标*/
$str[/*下标*/]="/*下标对应的元素*/";/*数据的索引*/
echo $arr[/*下标*/];/*数组长度获取*/
echo count($/*数组名*/);

(1)创建数组

array() 函数用于创建数组

count() 函数用于返回数组的长度(元素的数量)

(2)遍历数值数组

可以使用for循环以及foreach循环

三、PHP其他概念

php%E5%87%BD%E6%95%B0" name="1.php%E5%87%BD%E6%95%B0">1.php函数

将实现某一功能的代码块封装到一个结构中,实现代码复用,只要系统在内存中能够找到对应的函数,就可以执行(函数的调用可以在函数定义之前)

(1)函数的定义

php">function /*函数名*/(/*参数*/)
{ /*函数体*/ 
}

(2)函数的使用

php">/*函数名*/(/*参数*/);

(3)PHP 函数准则

函数的名称应该提示出它的功能,函数名称以字母或下划线开头(不能以数字开头)

2.PHP表单与web操作

表单是一个包含表单元素的区域。表单的作用是搜集不同类型的用户输入,然后将用户信息提交给服务器。

表单元素是允许用户在表单中(比如:文本域、下拉列表、单选框、复选框等等)输入信息的元素。

用户提交数据通常是使用表单进行提交,也可以使用网址中的参数传递数据,这些数据通过HTTP请求的方式发送,使web服务器获取。PHP提供了预定义的超全局变量,用来获 取HTTP请求信息,这些变量的数据类型均为数组。

php%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0" name="3.php%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0">3.php文件上传

PHP文件上传是Web开发中常见的功能之一,它允许用户通过Web表单将文件(如图片、文档、 视频等)上传到服务器

(1)PHP脚本处理

(2)文件验证

(3)文件存储

php%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1" name="4.php%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1">4.php面向对象

php面向对象是一种编程思想,面向对象是一种以对象(Object)为中心的编程思想。面向对象编程更注重对问题的抽象和封装,通过将问题分解为一系列相互协作的对象来实现程序的功能

php类和对象: 类是抽象的概念,仅仅是模板。用来描述具有相同属性和方法的对象的集合。

5.创建对象和类

在PHP中,使用class关键字来定义一个类,类可以包含属性(变量)和方法(函数)。

属性用于存储数据,而方法用于执行操作。 

在类内部,可以通过$this关键字访问当前对象的属性和方法。在类外部,需要通过实例化对象来访问这些成员。new关键字直接跟类名来创建对象。


http://www.ppmy.cn/devtools/162793.html

相关文章

如何在java中用httpclient实现rpc get请求

如果你想用 Java 的 HttpClient 实现 RPC 的 GET 请求&#xff0c;过程会稍微不同&#xff0c;因为 GET 请求通常通过 URL 参数&#xff08;查询字符串&#xff09;传递数据&#xff0c;而不是像 POST 那样通过请求体。以下是详细的讲解和示例代码。 1. GET 请求与 RPC 的特点…

Docker run --add-host参数解析(在容器启动时向/etc/hosts文件中添加自定义的主机名与IP映射)(适用于临时调试或测试)

文章目录 Docker run --add-host 参数解析一、参数概述二、工作原理三、应用场景1. **开发与调试**2. **环境隔离**3. **跨网络访问** 四、使用示例示例 1&#xff1a;单个自定义映射示例 2&#xff1a;多个映射同时使用 五、注意事项六、总结 Docker run --add-host 参数解析 …

pandas 数据的查看与选择

数据的查看与选择 查看数据的函数&#xff1a; 对象变量.head(n) 查看 前 n 行的数据 如果不设置n的值 默认为 n 5 对象变量.tail(n) 查看 后 n 行的数据 如果不设置n的值 默认为 n 5例如&#xff1a; 查看数据的前两行 # 数据的查看 # 引用 pandas import pandas as pd # …

linux centos8 安装redis 卸载redis

准备环境 系统&#xff1a;linux CentOS8 安装步骤 一、下载redis 1.进入官网找到下载地址 https://redis.io/download 2.右键点击复制链接地址 3.进入到Xshell控制台(默认当前是root根目录)&#xff0c;&#xff0c;输入wget 加你复制的地址 &#xff08;示例 &#xff…

【uniapp】上传文件流图片

需求&#xff1a;从接口下载指定文件&#xff0c;把这个文件再上传到后端。 背景&#xff1a;文件的上传、下载接口都是现有的&#xff0c;原本在pc端下载使用的responseType为blob&#xff0c;在uniapp不支持。如果按照原本的方式请求接口&#xff0c;返回的值会是字符串&…

【洛谷】【CF1207F】Remainder Problem(分块数组)

传送门&#xff1a;Remainder Problem 分块数组 题目描述 给你一个长度为 500000 的序列&#xff0c;初值为 0 &#xff0c;你要完成 q 次操作&#xff0c;操作有如下两种&#xff1a; 1 x y : 将下标为 x 的位置的值加上 y2 x y : 询问所有下标模 x 的结果为 y 的位置…

[021-22].Redis的线程模型原理分析

Java学习大纲 1.Redis自身出道就是优秀&#xff0c;基于内存操作、数据结构简单、多路复用和非阻塞 I/O、避免了不必要的线程上下文切换等特性&#xff0c;在单线程的环境下依然很快&#xff1b; 2.但对于大数据的 key 删除还是卡顿厉害&#xff0c;因此在 Redis 4.0 引入了多线…

在spring项目中,引入mybatis

目录 一、什么是mybatis 二、在项目中引入mybatis 1、引入mybatis和数据库驱动的依赖 2、数据源配置 三、使用mybatis 1、创建数据库映射的实体类 2、创建Mapper层接口 3、创建service层 ①定义service接口 ②实现service接口 4、创建controller层 5、使用apifox发…