您的位置:首页 > 编程语言 > PHP开发

(php)类、接口、空间、序列化、PDO

2015-10-15 23:54 441 查看
10/12

1.对象中保存了与类的关系

2.self每个方法都可以使用 但是$this不能再静态方法中使用;

3.静态方法里面不能有$this;静态方法是通过类进去的。

4.clone方法在被调用时被调用 如果clone方法私有化之后 就禁止clone

5.class_exists()判断内存里面是否存在 file_exists()判断所在文件夹是否存在此文件;

6.单实例化 遵行三私一公;私有化构造 私有化clone 私有化静态变量 共有化静态方法

7.工厂模式:根据需求实例化对象;

8.php面对对象两个特点 封装和继承

10.public方法和protect方法会被继承 private是私有不会被继承;

11.protected专门用来继承在内部访问 private相当于隐藏 能继承但是不能访问(解决方法:在父类加一个public方法让子类可以访问)

12.继承是对象的继承(属性和方法),

13.子类访问父类的 方法要添加一个public function 用$this

14.继承:私有属性不存在重写 在那个类中访问就用哪个

15.在子类重新改变public属性值时子类会覆盖掉父类

16.static其实和self差不多 但是self是固定的 在子类对象调用时 用static时会返回调用的那个类名;

17.最先继承的容易被覆盖

18.final类不可改变 不可继承 abstract抽象类:不可实例化;继承的话要也要在前面加abstract

19.抽象类的作用:规范团队代码开发;因为抽象类是用来继承的,而子类必须用上父类没有加{}的那个方法,否则不能继承,所以会起到规范作用;

20.接口里面可以放 常量和 抽象方法(只能是publi且前面不用带abstract)

21.类连接接口用implements;

22.接口能被类实现,不能被类继承,接口可以被接口继承;

23.接口跟抽象类差不多,不过要使用得先(implements,和继承使用差不多)。

10/14

1.define是函数;

2.受空间影响的有:类 函数 常量;

3.namespace所有目录的创建都是从根目录开始;namespace就是可以在同一个php文件下创建同名函数或者类

4.如果有三个空间 里面有同名 最下面echo时 找最下面访问;

5.绝对路径空间访问就是在限定访问前面加\

6.补昨天:接口由抽象类继承不用实现继承的函数,再有正常类继承抽象类实现接口里面的抽象方法;

7.非限定就是可以直接访问,限定就是在最后的子目录加上要访问的东西 完全限定就是 先\然后完整目录再加上要访问的东西;

8.全局空间包含有空间的文件时:如果没命名空间 引入的时候就是全局空间 不用use 空间名 直接目录\方法 访问

9.有空间包含全局空间时:也是不用use 但是访问时要使用权限定名称;

10.关于序列化,要使用file_put_contents 新建txt 写入 序列化的实例对象 序列化对象用serialize ;

使用时 新建php文件 用file_get_contents打开文件获取里面内容;里面的内容系统会在内存寻找这个类

但是找不到 因为内存没有 所以在当前文件创建一个要找的那个空类 这样只是把属性加载过来 所以还要用autoload把方法也 加载进来

10/15

1.pdo 利用别人的扩展实现增删改查 便于后期维护没其他优点

2.exec返回的是row 也有可能是0 这都正常 错误返回false

3.读(query) 写(exec)

4.PDO::FETCH_ASSOC 内容+ PDO::FETCH_NUM 内容= query($sql)

5.fetchAll 获取所有数据 query($SQL)的)

6.PDO没有实物处理 本质还是mysql的事务处理

7.PDO没有提供回滚点 可以自己实现用exec

8.PDO属性设置 设置的是数据库与服务端的属性 控制服务器的表项(修改服务器的变量)

9.预处理关键字: prepare 执行execute 预处理是会话级别 记录在日志里面;

10.高级预处理“?” 变量传参 set @id = ?;

11.预处理意义: 提高网络效率 节省带宽;

12.反射是为了让更好的利用结构

13.总结:PDO:使用时要先连接mysql数据库用 PDO($dsn,$username,$password)

pdo相当于一个隐藏类 里面有很多方法可以调用 exec是执行 写操作 query是读操作 查看

fetch系列是查看结果 可以用reflection把pdo的方法反射出来,再一个个看

query()执行后得到的是一个对象 exec执行后 得到的是1

pdo的事务处理实质是mysql的事务处理

pdo预处理 首先PDO::prepare() 然后用 bindValue方法绑定参数,execute执行 预处理命令
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: