php架构师生涯一个月总结

版权声明:猫猫无心 https://blog.csdn.net/qq_18358973/article/details/81305037

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

    公司的技术团队虽然不算很大,但是团队的后台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");   //允许自定义的头部参数
}

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

猜你喜欢

转载自blog.csdn.net/qq_18358973/article/details/81305037