zoukankan      html  css  js  c++  java
  • PHP 类 静态static

    报错:PHP Fatal error: Access to undeclarde static property:  model::$order_type

    原因: 在文件中调用model层的静态变量时,不是直接用类名,而是用的时对象名。

              错: $test_model = new TestModel();    

                     $test_model::$order_type;

              对:如果要访问静态变量,直接用类名:TestModel::$order_type;

    总结:const时一个定义常量的关键字,在php中定义常量使用的时define函数,但是在类中定义常量使用的时const关键字

             1、在程序中不能修改它的值

             2、访问const修饰的成员属性要使用类名,在本类中使用self关键字,但不使用 $也不能使用对象来访问

             static关键字可以描述类中的成员属性和成员方法

              1、static的成员属于类,而不属于任何对象

              2、static的成员是在类第一次加载的时候分配空间,其他类无法访问的,只对类的实例共享,能一定程度对类成员形成保护

              3、静态变量放到了初始化静态段,在类的第一次加载的时候放入的,可以让堆内存的每个对象共享,调用静态方法也是用类名

              4、在类的静态方法中不能访问类的非静态成员,但是非静态方法可以访问静态成员,self::成员属性

              5、访问:类名:静态变量;类名:静态函数;类名:静态函数名;

    注意:在controller里面不能声明一个变量来引用model里面的一个变量,因为在后期重构的时候会很麻烦

             如果要用model中的静态变量,最优的方法时在model层定义一个静态方法,在静态方法中做好判断,原则就是尽量不能暴漏类的内部属性

    多看优秀的人写的代码并且多想想为什么这么写。

  • 相关阅读:
    火狐浏览器插件开发工具
    MyEclipse设置JSP页面默认编码方式
    如何让editplus保存时不生成.bak备份文件
    Sublime Text 2 使用心得
    火狐浏览器的一些常用设置
    能帮你提高工作效率的10个在线工具
    如何治疗颈椎病
    企业架构研究总结(2)——问题的由来和基本概念
    企业架构研究总结(1)——参考资料列表
    企业架构研究总结(4)——企业架构与企业架构框架概论
  • 原文地址:https://www.cnblogs.com/weiluoyan/p/7050168.html
Copyright © 2011-2022 走看看