php架构师生涯一个月总结

152 阅读2分钟

入职我目前的公司已经一年零五天,为了做公司的一套代码的重构,工作进度总体来说还算在计划之中。作为正式的架构师也已经工作了一个多月,一直忙到现在才有心情和闲暇作个总结。

公司的技术团队虽然不算很大,但是团队的后台php的开发人员已经达到五名,使用的框架为Yii2框架,由于时间紧迫只能对原有系统进行部分重构和整合,其实我还没有完全想好后期该如何进行全部重构,但是工作就是这样,不会等你准备好,大多数时候都不会都给你一个从零开始的系统,解决眼下的问题,并为以后的长远打算留下空间和余地,是我目前能做的。

公司技术团队分为前端,后台,产品,UI,刚进公司时花了大概一天时间用于整体的环境和流程搭建,如下图所示:

结构流程图

后台服务器使用了nginx+php7为基本环境,还使用了redis,mongoDB,rabbitmq,并安装了git管理代码;前端服务较为简单,使用了一台windows服务器,前端技术为vuejs;前后端分离使用api接口通讯,api接口调试及文档管理工具为谷歌插件apizza;产品及Ui使用svn进行文件管理,并在内网nginx上配置了web访问。

迁移的工作是比较繁重的,在迁移的过程中分离出了服务层和数据操作的model,规范化了控制器入口,通用函数及登录验证,并在nginx和php中配置了ajax跨越访问,此为之前没有接触过的技术点。

在nginx中添加(注释部分):

location / {    #以下跨域设置    if ( $request_method = OPTIONS ) {        add_header Access-Control-Allow-Origin *;        add_header Access-Control-Allow-Methods GET,POST,PUT,PATCH,DELETE,OPTIONS,HEAD;        add_header Access-Control-Allow-Headers Origin,X-Requested-With,Content-Type,Accept,Authorization;        return 200;    }    #以上跨域设置    try_files $uri $uri/ /index.php?$args;}

在php控制器(建议写在通用控制器中)中添加:

public function init() {    parent::init();    header('Access-Control-Allow-Origin:*');    //允许所有来源访问     header('Access-Control-Allow-Method:GET,POST,PUT,PATCH,DELETE,HEAD,OPTIONS,HEAD');  //允许访问的方式    header("Access-Control-Allow-Headers:Origin,X-Requested-With,Content-Type,Accept,Authorization");   //允许自定义的头部参数}

暂时就只写这么多吧,迁移任务目前只完成了三分之一,但大多数技术难关都在这个过程中解决了;还需要继续攻关。