当前位置: 首页 > 面试题库 >

魔术__get getter用于PHP中的静态属性

高朝明
2023-03-14
问题内容

public static function __get($value)

不起作用,即使它起作用了,碰巧我已经需要神奇的__get getter来获取同一类中的实例属性。

这可能是一个是或否的问题,那么,可能吗?


问题答案:

不,不可能。

引用__get的手册页:

成员重载仅在对象上下文中有效。这些魔术方法不会在静态上下文中触发。因此,不能将这些方法声明为静态。

在PHP5.3中,__callStatic已添加;但没有__getStatic也不__setStatic之中; 即使拥有/编码它们的想法经常出现在php internals @ mailling-list上。

甚至有一个请求注释的[请求:PHP的静态类但是,仍然没有实现 (还好吗?)



 类似资料:
  • 问题内容: 根据PHP手册,为了使代码更易于移植,他们建议使用类似于以下内容的转义数据: 我还有其他将要执行的验证检查,但是从转义数据的角度来看,上述检查严格地安全吗?我还看到在PHP 6中将不再使用魔术引号。这将如何影响上述代码?我希望不必依赖于特定于数据库的转义函数,例如mysql_real_escape_string()。 问题答案: 魔术引号天生就坏了。它们本来是要清理PHP脚本的输入,但

  • 主要内容:__LINE__,实例,__FILE__,实例,__DIR__,实例,__FUNCTION__,实例,__CLASS__,实例,__TRAIT__,实例,__METHOD__,实例,__NAMESPACE__,实例PHP 向它运行的任何脚本提供了大量的预定义常量。 不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。 有八个魔术常量它们的值随着它们在代码中的位置改变而改变。 例如 __LINE__ 的值就依赖于它在脚本中所

  • 本文向大家介绍php面向对象中static静态属性和静态方法的调用,包括了php面向对象中static静态属性和静态方法的调用的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php中static静态属性和静态方法的调用。分享给大家供大家参考。具体如下: 这里分析了php面向对象中static静态属性和静态方法的调用。关于它们的调用(能不能调用,怎么样调用),需要弄明白了他们在内存中存放位置

  • 本文向大家介绍php 魔术方法详解,包括了php 魔术方法详解的使用技巧和注意事项,需要的朋友参考一下 从PHP 5以后的版本,PHP中的类就可以使用魔术方法了。其规定以两个下划线(__)开头的方法都保留为魔术方法,所以建议大家函数名最好不用__开头,除非是为了重载已有的魔术方法。PHP 将所有以 _ _(两个下划线)开头的类方法保留为魔术方法。 __toString() 和__invoke()

  • 本文向大家介绍PHP 静态属性和变量,包括了PHP 静态属性和变量的使用技巧和注意事项,需要的朋友参考一下 示例 用public可见性定义的静态类属性在功能上与全局变量相同。可以从定义类的任何位置访问它们。 函数也可以在自己的范围内定义静态变量。这些静态变量通过多个函数调用持久化,这与在函数范围内定义的常规变量不同。这是实现Singleton设计模式的非常简单的方法:            

  • 本文向大家介绍浅谈PHP中的那些魔术常量,包括了浅谈PHP中的那些魔术常量的使用技巧和注意事项,需要的朋友参考一下 之前我们已经了解了一些常用的魔术方法,除了魔术方法外,PHP还提供一些魔术常量,相信大家在日常的工作中也都使用过,这里给大家做一个总结。 其实PHP还提供了很多常量但都依赖于各类扩展库,而有几个常量是通用并且是跟随它们所在代码的位置来提供一些与位置有关的信息,这些就是魔术常量。魔术常