webman 后续迭代有考虑引入注解么?
我是近期有考虑这样会不会简化一些代码。去查了一下。目前得到的资料如下
1 如果需要引入注解在 8.0 以上的版本是可以不用引入额外的库。Annotations 这个库在 8.0 除了以后就进入维护阶段。
2 如果实现注解可以进需要对框架本身的一些生命周期做一些调整就可以。主要的实现点就是拿到注解后,分析注解以及对后续代码的调用进行操作。对项目开发代码影响其实并不大。但是可以带来下面例如参数校验之类的好处。
还有一方面就是注解的使用对项目本身可能有影响的一些路线。就拿spring-boot 举例。spring-boot 的入口函数和入口类上的注解是一些配置开启和代码扫描的目录,配置是否开启很好理解,是管控一些功能是否开启,扫描代码目录的话就是影响的点就比较大了。这个在php(解释型语言和可以自定义载入规则)这种语言下实现也是很简单的。主要就是扫描指定目录,然后加在这些目录下的class。通过class中的注解去进行服务的注册。 如果在php中实现代码的话,至于是否有必要扫描,这个并不是必要的,可以在具体执行的时候在去分析对应的类然后通过解析注解获取配置,进行一些实例化。
至于代码提示方面是没有影响的。
因为我最近也使用java-spring 开发了一段时间(工作所迫)。所以也总结了一下几个在我看来比较不错的点。
1 直接读取配置变量赋值到对应属性
2参数校验
3拦截器
方法上面的锁
4 直接注入属性
webman一直想加入注解
第一步是要有一个通用的注解规范,与其它框架注解相同或者出入不大,不知道是否有这样的规范。
有了规范就好开发了
spring 上我的理解是在aop的基础上的注解。写一个注解class ,控制注解中的参数。再写一个切片函数。切片函数可以控制这个注解再那个位置生效。
并且我认为注解的使用方区别是不大,主要是实现方式上可能都有所区别。难点主要在核心是否可以提供一个较好管理的注解运行方式
等php支持动态代理后吧,不然现在只能部分支持市面上的功能。目前只能做注入类的注解,拦截类的注解实现的有些困难。
关注一下
那symfony的validate组件就是首选择了 : JSR303 Bean Validation specification
记录一下