Maslosoft Zamm API
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
<?php
/**
* This software package is licensed under `AGPL, Commercial` license[s].
*
* @package maslosoft/zamm
* @license AGPL, Commercial
*
* @copyright Copyright (c) Peter Maselkowski <pmaselkowski@gmail.com>
* @link https://maslosoft.com/zamm/
*/
namespace Maslosoft\Zamm;
use ArrayAccess;
use Exception;
use Maslosoft\Zamm\Interfaces\SourceAccessorInterface;
/**
* @property public
* @property protected
* @property private
* @property
*/
class ClassIterator implements ArrayAccess
{
const AccessPublic = 'public';
const AccessProtected = 'protected';
const AccessPrivate = 'private';
/**
* Working class name
* @var string
*/
private $_className = '';
/**
* $filter could be [public, methods], [public], [protected properties]
*/
public function __construct(SourceAccessorInterface $accessor)
{
$this->_className = $className;
throw new Exception("DRAFT, pleas do not use " . __CLASS__);
}
public function __get($name)
{
$this->resetFilter();
switch ($name)
{
case self::AccessPublic:
// set filter
break;
///...
}
return $this;
}
public function __call($name, $arguments)
{
// Same as __get, but $arguments should contain additional filter:
// a. regexp
// b. filter class
return $this;
}
public function offsetExists($offset)
{
}
public function offsetGet($offset)
{
}
public function offsetSet($offset, $value)
{
}
public function offsetUnset($offset)
{
}
// Array access implementation should return methods
}
API documentation generated by ApiGen