打开PHP5对象,不需要先声明变量名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了打开PHP5对象,不需要先声明变量名相关的知识,希望对你有一定的参考价值。

I use this object verry often, so that I only need to pass one object as parameter on any function. No need to wory when we refactore the function
Usage:
$var = new open();
$var->url = 'http://www.world.com';
$var->title = 'Testing Site';

echo some_function($var);
  1. //php5 only//
  2.  
  3. class open
  4. {
  5. var $____x = array();
  6. function __construct($a = array())
  7. {
  8. $this->fromArray($a);
  9. }
  10.  
  11. function __set($name,$val)
  12. {
  13. $this->____x[$name] = $val;
  14. }
  15.  
  16. function __get($name)
  17. {
  18. if(isset($this->____x[$name])) return $this->____x[$name];
  19. }
  20.  
  21. function __isset($name)
  22. {
  23. return isset($this->____x[$name]);
  24. }
  25.  
  26. function toArray()
  27. {
  28. return $this->____x;
  29. }
  30.  
  31. function fromArray($a = array())
  32. {
  33. if(count($a)>0) foreach($a as $k => $v) $this->____x[$k] = $v;
  34. }
  35.  
  36. }

以上是关于打开PHP5对象,不需要先声明变量名的主要内容,如果未能解决你的问题,请参考以下文章

在一些片段之间填充对象变量的最佳方法

按 方法返回值 为本地变量赋值(自动生成变量名声明)

浅谈PHP5中垃圾回收算法

C语言变量的定义和声明有啥不同?

java 面向对象:类结构 属性

通过变量名声明一个新对象