1 | <?php |
||
17 | class ModelContainerBuilder extends EntityContainerBuilder |
||
18 | { |
||
19 | static $DEFAULT_ANNOTATIONS=[ |
||
20 | [ClassAnnotationHandler::class, 'class'], |
||
21 | [PKAnnotationHandler::class, "class.children[?name=='pk']"], |
||
22 | [TableAnnotationHandler::class, "class.children[?name=='table']"], |
||
23 | [PropertyAnnotationHandler::class, 'properties'], |
||
24 | [VarAnnotationHandler::class, "properties.*.children[?name=='var'][]"], |
||
25 | //[ValidateAnnotationHandler::class, "properties.*.children[?name=='".Names::VALIDATE."'][]"], |
||
26 | ]; |
||
27 | |||
28 | 11 | public function __construct(FactoryInterface $factory, |
|
35 | /** |
||
36 | * load from class with local cache |
||
37 | * @param string $className |
||
38 | * @return ModelContainer |
||
39 | */ |
||
40 | 11 | public function build($className) |
|
44 | |||
45 | /** |
||
46 | * @param $className |
||
47 | * @return ModelContainer |
||
48 | */ |
||
49 | 2 | public function buildWithoutCache($className) |
|
53 | /** |
||
54 | * @param string $className |
||
55 | * @return ModelContainer |
||
56 | */ |
||
57 | 2 | protected function createContainer($className) |
|
61 | } |
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion: