首頁  >  文章  >  後端開發  >  ArrayAccess 建立一個類別數組對象

ArrayAccess 建立一個類別數組對象

巴扎黑
巴扎黑原創
2016-11-23 13:38:361769瀏覽

/**

 * 單例模式實作類別-->ArrayAccess(陣列式存取)介面

 *

 * @author flyer0126

 * @since 2012/4/27*/

class Single{


private $name;

private static $_Instance = null;

private static $_Instance = null;

}

{

靜態函數load()

{

if(null == self::$_Instance)

{

_Instance;

}

public function setName($name)

{

$this->name = $name;

}

$this->name = $name; return $這個->名稱;

}

}

$s = Single::load();

$s->setName("jack");

echo $s-getName (); /jack

//調整一下(繼承ArrayAccess && 實作4個方法)

class Single 實作ArrayAccess

{


🜵st pri

私有函數__construct()

{


}

靜態函數load()

{

if(null == self::$_Instance)

{

self::$_Instance = new Single();

}

return self::$_Instance;

}

public function setName($name)

= $this

public function getName()

{

return $this->name;

}

/

       * 實作四個方法

       * offsetExists(),用於識別一個元素是否已定義

      為一個元素設定新值

       * offsetUnset(),用於刪除一個元素和對應的值

      *f///fid

if (is_null($offset)) 

{

$this->container[] = $value;

else s = $

}

}

public function offsetGet($offset) 

{

return isset($this->container[$]

}

public function offsetExists($offset) 

{

return isset($this->container[$offset]); set) 

{

unset($this->container[$offset]);

}

}

$s = Single::load ();

jack

$s = Single::load ();

jack

$s = Single::load ();

jack

$s = Single::load ();

jack

$");


$s["name"] = "mike";

echo $s->getName(); //傑克

echos["name"]; print_r($s);

/**


單一物件

(

    [name:Single:private] => jack

    [container] => Array

       )


)

**/


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn