05 php基础 02

php类的继承

继承就是子类继承父类的特征和行为,使得子类对象拥有父类的子类的属性和方法。而子类并不单纯的是对父类的复制,子类可以重写父类的方法或属性,也可以新添加属性。

 

类的访问控制

php对属性或方法的访问控制,是通过在前面添加关键字来控制的

protected 受保护的 受保护的类成员可以被其自身以及其子类和父类访问。

public 公有的 公有的类可以在任何地方被访问

private 私有的 私有的类成员只能在背其定义的所在的类中访问。

 

接口

接口可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。接口里所有的方法都是空的。

接口中定义的所有方法都必须是公有的,这是接口的特性。

接口不能定义变量,但能定义常量。

 

抽象类

抽象类和接口有一些相似,但不同之处在于抽象类可以定义确定的方法。

任何一个类,如果它里边至少有一个方法被声明为抽象的,那么这个类就必须声明为抽象类。

抽象类不能被实列化。

 

超级全局变量

$GLOBALS  一个包含了全部变量的全局组合数组。变量的名字就是数组的键。

$_SERVER  一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组

$_REQUEST  用于收集HTML表单提交的数据。它可以获取 cookie  get  post

$_POST  广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="post"。

$_GET  广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="get"。

$_FILES  

$_ENV  

$_COOKIE  

$_SESSION

 

include 文件包含

可以使用include(或require)语句获取指定文件中存在的所有文本/代码/标记。使用include语句就好像把所包含的代码文件中的所有内容完全copy到当前文件了一样。

include 与 require语句

include 与 require 除了在错误处理方面之外其他的所有地方都是相同的。

require语句会生成致命错误并停止脚本

include语句只会生成警告并继续脚本运行。

一般而言网站采用的include语句用的比较多,也没有哪个网站说因为导入不了文件就停止服务了的。

 

文件处理

fopen()打开文件

fread() 读取打开的文件

fgets()单行读取

feof() 检查是否已经到达文件末尾

fclose()文件句柄关闭

rename() 文件重命名

copy() 文件复制

unlink() 文件删除

file_exists() 判断文件是否存在

is_file() 判断是否为文件

 

php目录操作

目录操作

新建目录:mkdir(路径,权限,递归创建)

删除目录:rmdir()

移动(改名):rename()

获取目录内容:

//打开目录

目录句柄 = opendir()

//读取目录

文件名 = readdir(目录句柄)

依次读取文件名,同时向下移动文件句柄指针,读取不到则返回false

//关闭目录

closedir()

 

命名空间 

之前学C的时候一直没理解的命名空间到这里算是理解了

命名空间主要是用于解决一个命名冲突问题,其次就是简化标识符名称。

命名空间 namespace 是指人为的将内存进行分割,让不同内存区域的同名结构共存,从而解决在大型项目中可能出现的重名结构的问题。

 

命名空间的访问

非限定名称的访问:直接访问空间元素的名字(只能够访问自己命名空间的元素)

限定名称的访问:使用当前子空间的名字+\+元素名字

完全限定名称访问:全局空间的名称+元素名字

 

命名空间的引用

use关键字

       1. 引入类:use 空间名\类名

       2. 引入函数:use function 空间名\函数名

       3. 引入常量:use const 空间名\常量名

2.当引入元素时重名,通过 as 来起别名

    use 空间名\类名 as 别名

3.引入多个元素

       use 空间名\{

              类名,

              function 函数名,

              const 常量

       }        

4. 引入空间

    use 空间名

 

正则表达式

正则表达式是用于描述字符排列和匹配模式的一种语法规则,主要是用于字符串的模式的分割、匹配、查找以及替换操作。

正则匹配模式使用分隔符与元字符组成,经常使用的分隔符是 /、#、~

元字符是用于构造规则表达式的具有特殊含义的字符。如果要在正则表达式中包含元字符本身,必须在其前面加上\进行转义

元字符                说明

*                          0次、1次或多次匹配其前的原子

+                          1次或多次匹配其前的原子

?                          0次或1次匹配其前的原子

|                           匹配两个或多个选择

^                          匹配字符串串首的原子

$                          匹配字符串串尾的原子

[]                         匹配方括号中的任一原子

[^]                匹配除方括号中的原子外的任何字符

{m}              表示其前原子恰好出现m次

{m,n}                  表示其前原子至少出现m次,至少出现n次(n>m)

{m,}                    表示其前原子出现不少于m次

()                         整体表示一个原子

.                           匹配除换行之外的任何一个字符

 

边界限制

我们使用"^"来确定匹配字符的开头,"$"来确定匹配字符的结束

如果不加边界限制字符,我们可能匹配到一些意料之外的结果

 

特殊字符

所谓特殊字符,就是一些有特殊含义的字符,如上面说的 * ,*简单来说就是表示任意字符串的意思,如果要查找文件名中含有*的文件,则需要对*进行转义

x|y  匹配 x 或 y。例如,’z|food’ 能匹配 “z” 或 “food”。’(z|f)ood’ 则匹配 “zood” 或 “food”。

[xyz]     字符集合。匹配所包含的任意一个字符。例如, ‘[abc]’ 可以匹配 “plain” 中的 ‘a’。

[^xyz]    负值字符集合。匹配未包含的任意字符。例如, ‘[^abc]’ 可以匹配 “plain” 中的’p'。

[a-z]      字符范围。匹配指定范围内的任意字符。例如,’[a-z]’ 可以匹配 ‘a’ 到 ‘z’ 范围内的任意小写字母字符。

[^a-z]    负值字符范围。匹配任何不在指定范围内的任意字符。例如,’[^a-z]’ 可以匹配任何不在 ‘a’ 到 ‘z’ 范围内的任意字符。

\b    匹配一个单词边界,也就是指单词和空格间的位置。例如, ‘er\b’ 可以匹配”never” 中的 ‘er’,但不能匹配 “verb” 中的 ‘er’。

\B   匹配非单词边界。’er\B’ 能匹配 “verb” 中的 ‘er’,但不能匹配 “never” 中的 ‘er’。

\cx  匹配由 x 指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 ‘c’ 字符。

\d    匹配一个数字字符。等价于 [0-9]。

\D   匹配一个非数字字符。等价于 [^0-9]。

\f    匹配一个换页符。等价于 \x0c 和 \cL。

\n    匹配一个换行符。等价于 \x0a 和 \cJ。

\r    匹配一个回车符。等价于 \x0d 和 \cM。

\s    匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。

\S    匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。

\t     匹配一个制表符。等价于 \x09 和 \cI。

\v    匹配一个垂直制表符。等价于 \x0b 和 \cK。

\w   匹配包括下划线的任何单词字符。等价于’[A-Za-z0-9_]’。

\W  匹配任何非单词字符包括下划线。等价于 ‘[^A-Za-z0-9_]’。

\xn  匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如,’\x41′ 匹配 “A”。’\x041′ 则等价于 ‘\x04′ & “1″。正则表达式中可以使用 ASCII 编码。.

\num      匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。例如,’(.)\1′ 匹配两个连续的相同字符。

\n    标识一个八进制转义值或一个向后引用。如果 \n 之前至少 n 个获取的子表达式,则 n 为向后引用。否则,如果 n 为八进制数字 (0-7),则 n 为一个八进制转义值。

\nm 标 识一个八进制转义值或一个向后引用。如果 \nm 之前至少有 nm 个获得子表达式,则 nm 为向后引用。如果 \nm 之前至少有 n 个获取,则 n 为一个后跟文字 m 的向后引用。如果前面的条件都不满足,若 n 和 m 均为八进制数字 (0-7),则 \nm 将匹配八进制转义值 nm。

\nml      如果 n 为八进制数字 (0-3),且 m 和 l 均为八进制数字 (0-7),则匹配八进制转义值 nml。

\un  匹配 n,其中 n 是一个用四个十六进制数字表示的 Unicode 字符。例如, \u00A9 匹配版权符号 (?)。

 

php与mysql

php对mysql的操作主要是数据库的连接和关闭,以及在php中生成sql语句发送到mysql中进行执行。

 

posted @ 2022-01-13 16:20  r0nGer  阅读(40)  评论(0)    收藏  举报