dev-master
9999999-devScript to scan all classes in Project;
MIT
annotations classes controller
1.0.1
1.0.1.0Script to scan all classes in Project;
MIT
annotations classes controller
Script to scan all classes in Project;
Sample class User.php, (*2)
<?php /** * @Defaults(name="user1", lastname = "sample", age='0', address={country=USA, state=NY}, phone="000-00000000") * @assertResult(false) * @cache(collation = UTF-8) */ class User { /** * @cache(true) * @type(json) * @limits(start=10, limit=50) */ function load(){ } /** * create a record * * @Permission(view) * @Permission(edit) * @Role(administrator) */ public function create() { } }
Sample use., (*3)
include 'User.php'; $annotations = new Annotations(); $result = $annotations->getClassAnnotations('User'); print_r($result);
Result:, (*4)
Array ( [Defaults] => Array ( [0] => Array ( [name] => user1 [lastname] => sample [age] => 0 [address] => Array ( [country] => USA [state] => NY ) [phone] => 000-00000000 ) ) [assertResult] => Array ( [0] => false ) [cache] => Array ( [0] => Array ( [collation] => UTF-8 ) )
$result = $annotations->getMethodAnnotations('User', 'create'); print_r($result);
Result:, (*5)
Array ( [Permission] => Array ( [0] => view [1] => edit ) [Role] => Array ( [0] => administrator ) )
You can crate fast annotated objects., (*6)
Sample Annotated Classes., (*7)
<?php // Annotation.php abstract class Annotation { protected $data = array(); public function __construct($args = array()) { $this->data = $args; } public function set($key, $value) { $this->data[$key] = $value; } public function get($key, $default = null) { if (empty($this->data[$key])) { return $default; } return $this->data[$key]; } public function exists($key) { return isset($this->data[$key]); } }
<?php // PermissionAnnotation.php namespace Annotation; class PermissionAnnotation extends Annotation { }
<?php namespace Base\Annotation; // RoleAnnotation.php class RoleAnnotation extends Annotation { }
require_once 'Annotation/Annotation.php'; require_once 'Annotation/PermissionAnnotation.php'; require_once 'Annotation/RoleAnnotation.php'; $annotations->setDefaultAnnotationNamespace('\Annotation\\'); $result = $annotations->getMethodAnnotationsObjects('User', 'create'); print_r($result);
Result:, (*8)
Array ( [Permission] => Base\Annotation\PermissionAnnotation Object ( [data:protected] => Array ( [0] => view [1] => edit ) ) [Role] => Base\Annotation\RoleAnnotation Object ( [data:protected] => Array ( [2] => administrator ) )
Script to scan all classes in Project;
MIT
annotations classes controller
Script to scan all classes in Project;
MIT
annotations classes controller