powered by nequal
Home » Acme_IdolMaster » Timeline » 1194

Changeset 1194 -- 2009-09-21 19:23:12

Author
Sotaro KARASAWA
Comment
formatting

Diffs

Acme_IdolMaster/trunk/Acme/IdolMaster.php

@@ -1,103 +1,234 @@
-<?php
-/**
- * Acme_IdolMaster
- *
- * @author  yohei.kawano@gmail.com
- * @package openpear
- * @version $Id$
- */
-
-class Acme_IdolMaster implements Iterator{
-    public $members = array();
-    private $memberNames = array(
-            'AmamiHaruka',
-            'KisaragiChihaya',
-            'HagiwaraYukiho',
-            'TakatsukiYayoi',
-            'AkizukiRitsuko',
-            'MiuraAzusa',
-            'MinaseIori',
-            'KikuchiMakoto',
-            'FutamiAmi',
-            'FutamiMami',
-            'HoshiiMiki',
-            );
-    private $position = 0;
-    private $current_member = false;
-
-    public function __construct() {
-        foreach ($this->memberNames as $member) {
-            require_once 'Acme/IdolMaster/Member/' . $member . '.php';
-            $class = 'Acme_IdolMaster_Member_'. $member;
-            $this->members[$member] = new $class();
-        }
-    }
-
-
-//メンバーを指定
-    public function select($memberName=false){
-		if(isset($this->members[$memberName])){
-			$this->current_member=$memberName;
-			return true;
-		}elseif($memberName==false){
-			$this->current_member=false;
-		}else{
-			throw new Exception('member not found');
-		}
-	}
-
-//マジックメソッド__get
-    public function __get($memberName) {
-		return $this->get($memberName);
-	}
-
-//メンバーを取得	メンバー指定後であれば要素を取得
-    public function get($memberName=false) {
-		//メンバー指定があれば$memberNameのかわりに$propertyが来る
-		if($this->current_member){
-			if($memberName){
-				return $this->members[$this->current_member]->{$memberName};
-			}else{
-				return $this->members[$this->current_member];
-			}
-		}
-		//引数のメンバー取得
-		if(isset($this->members[$memberName])){
-			return $this->members[$memberName];
-		}else{
-			throw new Exception('member not found');
-		}
-	}
-
-//マジックメソッド__set
-    public function __set($property,$value) {
-		return $this->set($property,$value);
-	}
-//値ゲット
-    public function set($property,$value) {
-		//メンバそのものは追記不可
-		if(!$this->current_member){ return false;}
-		//セット
-		return $this->members[$this->current_member]->set($property,$value);
-	}
-
-//マジックメソッド__call
-    function __call($method, $args){
-        if(empty($args)) { return $this->get($method); }
-        elseif(isset($args[0])) { return $this->set($method,$args[0]); }
-        return null;
-    }
-
-//イテレータ
-    public function current(){
-	 return $this->members[$this->memberNames[$this->position]]; }
-    public function valid(){
-		return isset($this->members[$this->memberNames[$this->position]]);
-	}
-    public function key(){ return $this->position; }
-    public function next(){ $this->position++; }
-    public function rewind(){ $this->position=0; }
-
-
-
-}
+<?php
+/**
+ * Acme_IdolMaster
+ *
+ * @author  yohei.kawano@gmail.com
+ * @package openpear
+ * @version $Id$
+ */
+
+class Acme_IdolMaster implements Iterator
+{
+
+    /**
+     * Array for Object
+     * @var    array
+     * @access public
+     */
+    public $members = array();
+
+    /**
+     * Members list
+     * @var    array
+     * @access private
+     */
+    private $memberNames = array(
+        'AmamiHaruka',
+        'KisaragiChihaya',
+        'HagiwaraYukiho',
+        'TakatsukiYayoi',
+        'AkizukiRitsuko',
+        'MiuraAzusa',
+        'MinaseIori',
+        'KikuchiMakoto',
+        'FutamiAmi',
+        'FutamiMami',
+        'HoshiiMiki',
+    );
+
+    /**
+     * Iterator position
+     * @var    integer
+     * @access private
+     */
+    private $position = 0;
+
+    /**
+     * @var    boolean
+     * @access private
+     */
+    private $current_member = false;
+
+    /**
+     * Constructor
+     *
+     * @return void
+     * @access public
+     */
+    public function __construct()
+    {
+        foreach ($this->memberNames as $member) {
+            require_once 'Acme/IdolMaster/Member/' . $member . '.php';
+            $class = 'Acme_IdolMaster_Member_'. $member;
+            $this->members[$member] = new $class();
+        }
+    }
+
+
+    //メンバーを指定
+    /**
+     * Select member
+     *
+     * @param  boolean   $memberName
+     * @return boolean
+     * @access public
+     * @throws Exception
+     */
+    public function select($memberName = false)
+    {
+        if (isset($this->members[$memberName])) {
+            $this->current_member = $memberName;
+            return true;
+        }
+        elseif ($memberName == false) {
+            $this->current_member = false;
+        }
+        else{
+            throw new Exception('member not found');
+        }
+    }
+
+    //マジックメソッド__get
+    /**
+     *
+     * @param  string    $memberName
+     * @return Object
+     * @access public
+     */
+    public function __get($memberName)
+    {
+        return $this->get($memberName);
+    }
+
+    //メンバーを取得    メンバー指定後であれば要素を取得
+    /**
+     *
+     * @param  boolean   $memberName
+     * @return mixed
+     * @access public
+     * @throws Exception
+     */
+    public function get($memberName = false)
+    {
+        //メンバー指定があれば$memberNameのかわりに$propertyが来る
+        if ($this->current_member) {
+            if ($memberName) {
+                return $this->members[$this->current_member]->{$memberName};
+            }
+            else {
+                return $this->members[$this->current_member];
+            }
+        }
+        //引数のメンバー取得
+        if (isset($this->members[$memberName])) {
+            return $this->members[$memberName];
+        } else {
+            throw new Exception('member not found');
+        }
+    }
+
+    //マジックメソッド__set
+    /**
+     * @param  mixed    $property
+     * @param  mixed    $value
+     * @access public
+     */
+    public function __set($property, $value)
+    {
+        return $this->set($property, $value);
+    }
+
+    // 値ゲット
+    /**
+     * @param  mixed    $property
+     * @param  mixed    $value
+     * @return mixed
+     * @access public
+     */
+    public function set($property, $value)
+    {
+        //メンバそのものは追記不可
+        if (!$this->current_member) {
+            return false;
+        }
+
+        //セット
+        return $this->members[$this->current_member]->set($property, $value);
+    }
+
+    //マジックメソッド__call
+    /**
+     * @param  string    $method
+     * @param  array    $args
+     * @return mixed
+     * @access public
+     */
+    function __call($method, $args)
+    {
+        if (empty($args)) {
+            return $this->get($method);
+        }
+        elseif (isset($args[0])) {
+            return $this->set($method, $args[0]);
+        }
+
+        return null;
+    }
+
+    //イテレータ
+    /**
+     * Iterator::current
+     *
+     * @return mixed
+     * @access public
+     */
+    public function current()
+    {
+        return $this->members[$this->memberNames[$this->position]];
+    }
+
+    /**
+     * Iterator::valid
+     *
+     * @return boolean
+     * @access public
+     */
+    public function valid()
+    {
+        return isset($this->members[$this->memberNames[$this->position]]);
+    }
+
+    /**
+     * Iterator::key
+     *
+     * @return integer
+     * @access public
+     */
+    public function key()
+    {
+        return $this->position;
+    }
+
+    /**
+     * Iterator::next
+     *
+     * @return void
+     * @access public
+     */
+    public function next()
+    {
+        $this->position++;
+    }
+
+    /**
+     * Iterator::rewind
+     *
+     * @return void
+     * @access public
+     */
+    public function rewind()
+    {
+        $this->position = 0;
+    }
+
+}