领导说PHP已经过时了,让我滚
前言
作为一名程序员,我们应该都听过这样一个梗:PHP编程语言,是世界上最好用的编程语言~~~但是今天领导让我滚,我不服气写下了这篇PHP入门基础吊打领导。
PHP介绍 PHP又名超文本预处理器,是一种通用开源脚本语言。PHP主要适用于Web开发领域,语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛。其独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
了解了PHP的基本概念后,下面分享PHP的基础知识,希望对PHP学习有所帮助~
一、PHP网页基础
一、静态网站&动态网站
静态网站:(纯HTML页面,页面固定,不会变化),没有与后台服务器的交互,没有数据库的支持。
动态网站:(可以根据交互情况动态显示不同内容),需要与后台服务器进行数据交互,需要数据库的支持。二、支持动态网站的语言
Java—JSPPHP----PHPasp----asp三、常见的服务器
Apache:Apache公司旗下服务器,用于解析PHP类网站Tomcat:Apache公司旗下的另一款服务器,用于解析JSP类的网站;四、常见的数据库
mysql,Access,Oracle,SQLServer……
我们PHP一般匹配MySQL使用。当然,PHP可以连接几乎所有的主流数据库。五、B/S C/S
B/S:浏览器/服务器结构。用户只需要通过浏览器即可访问的网站。大部分操作功能集中在后台服务器。C/S:客户端/服务器结构。用户需要安装客户端使用的程序。客户端可以分担一定的操作功能。六、常见的开发PHP集成环境
安装一个软件,内置多种开发需要的软件或语言环境
Wamp:windows+Apache+mysql+PHPLamp:Linux+Apache+mysql+PHPPHPStudy:APPServer:注:PHP开发首选Linux系统,但是PHP能够友好的兼容各种操作系统。
(Windows, Linux, Unix, MacOS……)二、PHP入门基础
PHP中"+“只有运算功能,没有连接功能。连接功能用”."连接。
关键词:PHP标记的种类、PHP中的指令分隔符、PHP中的变量、PHP中算false的情况、PHP中字符串的声明、PHP中的伪类型、PHP中的数据类型转换、PHP中判断类型、PHP中的输出语句、PHP中的常量
一PHP标记的种类PHP文件中,如果要使用PHP语法,必须要将php语言放到标记当中。PHP支持如下四种标记方式:①<?php ?>这是PHP官方推荐的写法,也是我们主要采用的写法!这种标签可以插入到HTML文档的任意位置;
注:如果页面中,只有PHP语言,推荐省略结束表示’?>’。
原因:如果包含结束符号,在导入PHP文件时,可能会将文件最后的多余换行导入进来。
②<script language="php"></script>长标记写法。这种写法,总是可以使用,但是我们不推荐。
③<? ?>短标记风格。默认不开启,需要修改php.ini文件中"short_open_tag = On"打开。
但是,由于和XML中的标记冲突,不推荐使用。
④<% %>ASA风格。默认不开启,需要修改php.ini文件中"asp_tags = On"打开。但是,由于和ASP,JSP中的标记冲突,不推荐使用。二、PHP中的指令分隔符
1、PHP中的“结构定义语句”(分支,循环,类,函数等{}结尾),不需要使用分号结尾。
2、PHP中的“功能执行语句”,不用{}结尾的,必须使用分号结尾。
3、特例:最后结束标签?>前的最后一条语句,可以省略分号。三、PHP中的变量
1、PHP中的变量,声明与使用,必须用开头。 2、PHP是一种弱类型语言,变量其实并不需要声明,可以直接给变量赋任何类型的 3、PHP中可以使用连等同时声明多个变量,而不能使用逗号分隔;eg:开头。2、PHP是一种弱类型语言,变量其实并不需要声明,可以直接给变量赋任何类型的3、PHP中可以使用连等同时声明多个变量,而不能使用逗号分隔;eg:num1 = $num2 = num3 = 5; 4、常用变量函数: unset();删除并释放变量; isset();检验变量是否设置; empty();检验变量是否为空(未设置或值为null都算空); 5、变量的命名:只能由数字,字母,下划线组成,开头不能是数字。而且,PHP中变量区分大小写!num3=5;4、常用变量函数:unset();删除并释放变量;isset();检验变量是否设置;empty();检验变量是否为空(未设置或值为null都算空);5、变量的命名:只能由数字,字母,下划线组成,开头不能是数字。而且,PHP
中变量区分大小写!name $Name $NAME 都是不同变量!但是,PHP内置函数或类名不区分大小写!echo EcHo 都是有效的!
6、PHP中的数据类型(8种)
4种标量类型:布尔型
Boolean
整型
Integer
浮点型
Float/Double
字符串
String
2种复合类型:
数组
Array
对象
Object
2种特殊类型:
资源
Resource
空
null
7、整型的范围:-231~(231-1),超过这个范围,自动转为浮点型
四、PHP中算false的情况
1、Boolan false
2、整形 0
3、浮点型 0.0
4、字符串"" “0” (“0.0” “000” 都算对!只有一个0算错!)
5、空数组
6、空对象 仅在PHP4算false。其他版本,对象都算true。
7、null和尚未定义的变量;
8、所有资源都算对!(除PHP4,所有对象都算对!!!)五、PHP中字符串的声明
PHP支持三种方式声明字符串:
1、’’:
2、"":
3、<<<(定界符):
$str = <<
//定界符声明字符串,通过<<<(定界标识符)开始
//遇到顶格的定界标识符结束!!一个空格都不能有!!
//定界标识符可以是任意字母,只需要保证开始和结束一致即可!
s;(顶格的定界标识符)4、三种声明方式的区别:
①定界符功能,默认与双引号相同。(但是定界符中可以放双引号)
②单引号中,不能解析变量,而双引号、定界符都可以解析变量。
注:双引号解析变量时,需注意变量名后需用"hahaha{KaTeX parse error: Expected EOF, got } at position 4: num}̲hahaha" "hahaha{num}hahaha"均可!
③单引号中可以放双引号,双引号中可以放单引号。但是不能放自身相同类型的引号。
④单引号中不能使用转义字符(除了单引号’本身,转义符\本身),双引号中可以使用转义字符。六、PHP中的伪类型
伪类型:并不是一种真实存在的数据类型。它的存在,仅仅是告诉程序员可以是哪种,哪些数据类型,常用于撰写帮助文档时使用。
mixed
:代表参数可以是多种不同数据类型。
Number:代表参数可以是Integer或者Float。
callback:代表参数可以是一个回调函数。七、PHP中的数据类型转换
1、自动类型转换:表示运算的时候,Boolean,Null,String等类型,会先自动转为Integer或Float类型
null–>0
true–>1
false–>0
String转非数值字符前的数字,
没有的话转为0 “123a”–>123 “a123”–>02、强制类型转换:根据我们的需要,强制将变量转为其他类型的变量。
新变量 = (新类型)新变量=(新类型)原变量; $str = (String)1;
//新类型,可以使用全拼,也可以使用缩写。Integer/int Boolean/bool都行。可以强制转换的类型如下:
①使用()声明新类型强转:(int),(integer)
转换成整型
(bool),(boolean)
转换成布尔型
(float),(double),(real)
转换成浮点型
(string)
转换成字符串
(array)
转换成数组
(object)
转换成对象
②使用setType();函数强转:
bool setType(mixed var,String type);第一个参数表示任何类型的变量,第二个参数表示字符串类型的数据类型,返回Boolean结果。③两种转换的区别:
第①种:是将转换之后的结果,赋给新变量;第②种:直接修改了原变量的数据类型。八、PHP中判断类型
is_bool()
判断是否是布尔型
is_int()、is_integer()和is_long()
判断是否为整型。
is_float()、is_double()和is_real()
判断是否为浮点型
is_string()
判断是否为字符串
is_array()
判断是否为数组
is_object()
判断是否为对象
is_resource()
判断是否为资源类型
is_null()
判断是否为null
is_scalar()
判断是否为标量
is_numeric()
判断是否是任何类型的数字和数字字符串
is_callable()
判断是否是有效的函数名
九、PHP中的输出语句
echo “……”
输出变量的值
var_dump(num)
输出变量的数据类型&值[&一些其他信息]
print_r(arr)
专门用于打印数组
三、脚本注释
#echo"①形式";十、PHP中的常量
1、常量的定义:bool define(String 常量名,mixed 常量值[,bool 是否区分大小写]);2、常量的注意事项:
①常量定义,只能使用define()函数;
②常量名,原则上要求必须使用大写声明。而且必须不能带符号(符号(只能是变量);
③常量声明以后,默认全局范围有效。没有作用域之说。
④常量不但不能改,而且不能删!unset,setType等函数均无效
⑤常量默认区分大小写!!!但是,可以在声明常量时,将define第三个参数设为true,即可改为不区分大小写。
⑥常量必须使用define()定义后才能使用。如果使用未声明常量,则默认转为常量字符串。但是,会有警告。
var_dump(NUM);–>String “NUM”
⑦常量的值只能是标量Boolean String Float Integer
3、可以使用echo constant(“NUM”);读取常量值!注意!!!
可以使用get_defined_constants(),获取所有已定义的常量!!包括系统自定义的N多个常量。我是一名渗透测试工程师,为了感谢读者们,我想把我收藏的一些网络安全/渗透测试学习干货贡献给大家,回馈每一个读者,希望能帮到你们。
干货主要有:
①2000多本网安必看电子书(主流和经典的书籍应该都有了)
②PHP标准库资料(最全中文版)
③网络安全基础入门、Linux运维,web安全、渗透测试方面的视频(适合小白学习)
④ 网络安全学习路线图(告别不入流的学习)
⑤ 渗透测试工具大全
⑥ 2021网络安全/Web安全/渗透测试工程师面试手册大全
由于篇幅有限,资料都放在我的个人文档,需要的关注我:私信回复“资料”获取网络安全面试资料、源码、笔记、视频架构技术
最后,感谢您的关注和阅读!!