/** * Returns a collection of indexed logic classes with name * @return Collection */ public static function lists() { if (is_null(static::$list)) { // run the static method to enable overiding // and save the list to the correct class static::$list = static::createLogicList(); } return static::$list; }
static function make($list = null) { if ($list instanceof static) { return $list; } $obj = new static(); if (isset($list)) { $obj->list($list); } return $obj; }