• 面向对象,命名空间,pdo复习


    一、面向对象知识总结
    1.传统的过程式,优点上手容易,缺陷不满足要求代码就要重写,需求复杂,代码改变非常
    2.面向对象,分析属性行为。作用目的
    3.面向对象和过程式编程的区别
    4.面向对象特点
    封装:即隐藏,访问修饰符(public,protected可以被自己和扩展出来的对象访问,private)
    继承:关键字extends,私有属性和私有方法不能被继承,目的实现复用,特点是单继承,可以通过 parent:: 来访问被覆盖的方法或属性;被final终态类修饰的类不能被继承
    多态:变化的形态 重写,有继承关系的两个类之间,子类重新定义父类的方法,特点名字必须一样
    5.什么是抽象类,被abstract关键字修饰的类就是抽象类。特点,不能被实例化,要扩展子类去实例化,抽象类的方法必须全部实现
    抽象方法只有声明部分,没有实现部分,以;结束
    有抽象方法的类必须是抽象类,反之则错误
    6.接口,关键字interface,用implement去实现它;特点,实现它的所有方法,接口里只有常量和公共的方法;目的变相的实现多继承,接口是实现;

    面向对象:万事万物皆对象(使用类比的方式,对于事物进行归类处理);

    关键字
    1.class
    2.new
    3.this $this指当前类的对象
    4.访问父类,parent
    5.访问静态变量和常量,self,可以访问当前类的资源
    6.static 可以加访问修饰符
    静态资源不用实例化对象就能进行访问;

    在外部访问静态资源
    访问静态变量的方式
    类名::静态
    对象名::静态
    访问静态方法的方式
    类名::静态
    对象名::静态
    对象名->静态

    非静态类访问静态资源
    访问静态变量的方式
    类名::静态
    对象名::静态
    访问静态方法的方式
    类名::静态
    对象名::静态
    对象名->静态

    在静态方法中不能访问非静态资源,反之则可以,静态中不能用$this

    7.const(修饰类中的常量)特点大写,必须给值,全局变量,不能加访问修饰符
    不用实例化对象去访问
    访问常量的方式
    类名::常量
    对象名::常量

    8.final终态类 修饰类(不能被继承),修饰方法(不能被重写)
    9.::范围解析操作符

    二、延伸
    1.魔术方法,什么是魔术方法?具有特殊功能的一套方法;特点 __大头,自动被调用,必须写在类里面
    构造函数的特点,__construct,在当前类中完成初始化工作,创建对象时被自动调用,可以传入参数,可被继承,可用访问修饰符,被私有修饰不能创建对象
    析构函数的特点,__destruct,当对象被显示消销毁时被调用,不可以传入参数,可用访问修饰符,被私有修饰不能被销毁,不能使用这种方式,要报错
    重载属性
    __get($name)
    __set($name,$value)
    proprty_exists
    被访问修饰修饰报错 warning,要设置为公共的

    __isset() empty()
    __unset()
    重载方法
    __call()
    __callStatic($name,$argumeents)
    $name函数的名称,$arguments函数的参数值

    特殊
    public
    __toString(){return "对象转换成字符串形式";}必须有一个返回值,用在把类当成字符串输出的时候被调用
    __clone(){echo"对象被克隆了";}什么叫对象被克隆?什么时候执行?不能调用析构函数;private修饰,表示不能被克隆;


    大部分只能公用,一些可以私有,构造和克隆

    对象之间的比较
    ==值
    ===地址

    2.类的自动加载
    php文件越写越多,引入很多个文件,这样很麻烦。
    传统方式__autoload()老版本会被淘汰掉,没办法扩展。
    推荐用spl_autoload_register(),一次到位,加载队列,
    两者的区别

    include
    include_once

    require
    require_once
    二者的区别

    3.命名空间
    什么是命名空间?一种封装的形式,解决名字重复问题。目的为了区分名字,命名空间扩展出来的可用别名
    关键字namespace,特点,必须在其他所有代码之前书写,可书写多个命名空间

    4.异常
    异常是什么?exception/error
    意料之外
    try(throw) catch finally
    5.没讲的
    trait
    &取地址符号
    //传值,传递地址(对象传入的是地址)

    三、
    mysql库==>访问 mysql数据库
    设计到的函数,
    mysql_connect
    mysql_select_db
    mysql_query
    mysql_fetch_row
    mysql_fetch_assoc
    mysql_fetch_array
    mysql_free_result
    mysql_close

    mysqli库==》访问mysql数据库
    mysqli_init
    mysqli_options
    mysqli_real_connect
    mysqli_query
    mysqli_fetch_all
    mysqli_free_result
    mysqli_close
    pdo库==》通用于所有数据库
    __construct
    $pdo->query/$pdo->exec
    $pdo->prepare
    $pdo==null
    PDOStatment===》
    $ps->execute,$ps->fetchAll/$ps->fetchObject

  • 相关阅读:
    存储与服务器的连接方式对比(DAS,NAS,SAN)
    FreeNAS系统总结
    FreeNAS-9.10虚拟机测试安装
    rsync实时同步服务部署
    无限循环与嵌套循环
    几种循环语句
    选择结构if
    java引用数据类型
    java运算符的优先级
    java运算符-逻辑、三元运算符
  • 原文地址:https://www.cnblogs.com/chenduzizhong/p/7274143.html
Copyright © 2020-2023  润新知