zoukankan      html  css  js  c++  java
  • PHP 自动加载 克隆 类型约束 魔术方法

    有关类和对象的相关知识
     1.类的自动加载:
      在需要一个类名的时候,自动获取类名,并且引入文件
      引入文件的4中方式:include,require,include_once,require_once。
     2.对象的复制(克隆) clone
        浅克隆: 浅克隆不能克隆对象
        深克隆:完全复制
     3.对象遍历
        也可以使用foreach语句进行遍历 只能遍历属性 和 看得到的属性(公共的属性)
     4.PHP内置标准类
        不需要定义 直接写
     5.将数据转换为对象
        对象转换为对象:没有变化;
        数组转换为对象:数组的键名当做属性名,值为对应值 如果数字下标 通常都是关联数组 其他数组没有意义
        null转换为对象:空对象;
        其他标量数据转换为对象:属性名为固定的“scalar”值为该变量的值
     6.类型约束
        其他语言中如(java)类型约束是语法上的要求,即定义个一个变量,必须指定类型,并以后也只能存该数据类型--这种就是强类型语言
        如:int n1=1  //int类型
            float f1;   //float类型
        php是弱类型语言。无须为变量指定类型
        但是在某些特定的场合,针对某些特定的类型,也可以进行语法约束
            特定的场合:函数(或方法)的变量形参
            特定类型:对象类型(类名),接口类型(接口名),数组类型(array),函数类型(callable)
     7.与类有关的魔术常量
        _class_获取其所在的类的类名
        _METHOD_获取其所在的方法的方法名
     8.数据(变量)序列化/反序列化
          序列化:就是将一个变量的数据“转换为”字符串--但并不是类型转换
          其目的是将该字符串储存起来 然后在其他时间(或其他运行环境/电脑)上将其恢复原样
          比如:很多有些设计中,都有一个功能:保留场景及当前所有装备,武器,服装。。。。则也就是对应了有“反序列化”工作
     9.其他魔法方法
          当对一个对象进行“序列化”操作的时候,会自动调用类中的__sleep()方法;
          当“反序列化”一个对象的时候,会自动调用对应类中的__wakeup()方法
          当把一个对象当作一个“字符串”来看待(处理)的时候,会自动调用__tostring()方法
          对象当作一个“方法”(函数)的时候,会自动调用__invoke()方法
     10.一些有关类和对象的系统函数和运算符
              class_exists(), :判断某个类是否存在(定义过)
            interface_exists(), :判断接口是否存在
            get_class():获取某个对象的“所属类名”
            get_parent_class(), :获取某个对象的“所属父类的类名”
            get_class_methods(), :获取一个类的所有方法,返回一个索引数组,就是这些方法的名字。
            get_class_vars(), :获取一个类的所有属性,返回一个数组,下标为属性名,值为属性值。
            get_declared_classes():获得所有声明过的类(含系统中的类)
            is_object():判断是否对象
            get_object_vars():获得对象的所有属性,返回一个数组,下标为属性名,值为属性值
     11.两个特定的语法场景的辨析
          对象向下传递特性:
             当一个对象($o1) 调用一个实例方法,然后,在该实例方法(f1)中又去“静态”调用另一个类的方法(f2),则在方法f2中,会自动获得在方法f1中的那个$this对象。
        

  • 相关阅读:
    android自定义Activity窗体大小
    Android UI设计--半透明效果对话框及activity(可做遮罩层)
    Android借助Handler,实现ViewPager中页面的自动切换(转)
    Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
    阅读(1)
    Android 之 下拉框(Spinner)的使用-转
    android中自定义下拉框(转)
    androidwebview网页显示事件
    androidwebview timeout
    android开源框架
  • 原文地址:https://www.cnblogs.com/xzz123-/p/9153355.html
Copyright © 2011-2022 走看看