PHP基础

PHP基础
WhYqZzPHP基础
以<?php开头,以?>结尾
变量前加$,如定义变量$x
打印echo
函数
1 |
|
1 |
|
PHP面向对象
OOP(面向对象程序设计):把事物封装成对象,然后操控对象完成各种行为
基础
- 类(Class):类是抽象的,是不具体的。例如新建一个名为Human的类,Human(人类)就是一个抽象的概念,是对世界上所有人的总称
- 对象(Object):具体的某个事物。对类进行实例化的一个实例
1
2
3
4
5
6
7
8
9
10
11
12
class Person{//定义一个类
var $name ="李白";//定义成员变量(属性)
var $age =20;
function show_age(){//定义成员函数(方法)
echo $this->age;//输出当前对象age字段的值
}
}
$person1=new Person;//从Person类创建对象
$person1->show_age()//调用Person1对象的show_age方法
其他的一些概念
- 构造函数:名为_construct()的函数,会在类被实例化为对象的时候自动执行。
- 析构函数:名为_destruct()的函数,对象销毁时自动执行
- 继承:
class A extends B{以这种形式使用extend关键字就可以让A继承B,子类会继承父类已有内容 - 重写:在子类中写一个方法,自动覆盖了继承下来的父类的方法
- 访问控制:定义属性时,如把var换成public private protected其中一个关键字,即设置了访问控制。这决定了是否能从外部访问这个属性,还是只能让对象自己访问。方法同理,可以在方法前面加上访问控制修饰符。如果不明确修饰符的话,默认都是public。访问控制的好处是可以将类的具体细节隐藏起来,封装成getter和setter方法,使得开发过程能够规范化。
1
2
3
4
5
6
7
8
9
10
11
12
Class Person{
public $name="李白";
private $age=20;
public function show_age($age){
echo show->$age;
}
}
$person1=new Person;
person1->show_age();//这里可以正常打印,因为是从内部访问
echo $person1->age;//会报错,因为试图访问私有属性
PHP作用域和全局变量
在函数内部定义的变量,我们称为局部变量,反之则是全局变量。
分支与循环
if、switch case、while循环、for循环和c语言用法类似
1 |
|
PHP的网络操作
php代码一般用来编写Web应用,因此需要获取前端输入的数据。前端一般用嵌入到html代码里的Javascript编写脚本来获取用户的输入,并且将其打包发送给后端
常用的Http请求方法,有GET和POST。
- GET提供给服务器的参数是在浏览器地址栏里边的,如果抓包分析是在浏览器最上边一行。(同时GET请求有长度限制,因此GET一般用来传一些简短和不敏感的数据)
- POST方法提交的数据在POST请求体中,也就是数据包的下方
在php代码中,可以通过$_GET接受GET方法传入的参数,$POST则是接受POST传入的参数,可以使用Burp或者Yakit工具来构造数据包。$_REQUEST同时支持GET/POST/COOKIE传入的内容
1 |
|
如上形式会接收一个name参数,并用echo打印出来
评论
匿名评论隐私政策







