php的annotations注解库的使用文档

annotations是通过反射实现的。代码示例是annotations 1.7版本

github地址为、https://github.com/doctrine/annotations

php-di的文档地址:http://php-di.org/doc/annotations.html

声明自己的自定义注解

新定义一个类文件使用value注解(自定义)、注意必须放入命名空间

index.php测试使用

注解的类型

修改自定注解、标注类型app/annotations

然后添加env 文件、在自定义的Value的注解类添加do方法

自定义简单的加载类

index.php代码更改为

结果成功的MyRedis类中的属性赋值了

简易模拟Bean装载功能

定义一个Bean类打上注解,完整的实现Bean装载功能,需要对IOC容器/依赖注入需要完整的理解。

修改MyRedis类、添加上类Bean注解

修改ClassFactory类实现简易装载

代码中的get_declared_classes位置上来说 、并不是唯一方式来引入文件,也可以根据文件名称截取获取这个类名来实例化

修改index.php文件

PHP-di中的@Inject注解

通过Inject的注解实现依赖注入,方法注入

MyDB.php 因为在同一个命名空间、所以不用use

test.php

通过Inject的注解实现属性值的注入

新建MyRedis.php

修改MyUser.php。给MyRedis属性打上注解、因为是同个文件夹的命名空间所以

调用处改成

Bean注解之支持自定义Bean名称

定义AnnotationHandler.php文件

Bean类添加name属性

类注解那里是关键代码、自定义了加载类的名称

修改controller下的user、给user命名aaa

调用index.php

发表评论