YAF框架学习记录

2017-04-17  本文已影响0人  _Henry_

现状

毕业后就来到W公司工作,随着接触的业务越多,接触到代码风格越来越多,然后有时候可能是工作比较忙、业务比较多的时候,由此无可厚非会有一些代码质量不是很高。一个业务拉的时间越长,参与编写的人员越多,那么这部分代码就会越来越臃肿,代码的风格也是,给后期的维护,以及新业务的扩展带来一定的麻烦。于是心里边总用一种想重构的冲动。

切入点

现在W公司使用的框架是yaf框架,这也是在别的框架上迁移过来的,所以代码量累积的比较多,那么在不是很熟悉yaf框架的基础上,对庞大的代码进行重构,这样的风险是非常大的。

基于以上情况,我考虑从后台代码切入,现在后台的代码也是非常的臃肿,对我非常有利的一点是后台没有往yaf上迁移,可能大家觉得工作量比较大,而且带来不了非常好的效果吧,所以是能用就行。

这样从后台代码切入,既能丰富现在不是很强大的后台功能,也能快速的了解yaf,为以后的重构前端代码做准备。

代码构建

git clone https://github.com/laruence/yaf.git
php yaf_cg Sample

服务器配置

nginx 配置

server {
    listen  80;
    root /data1/www/htdocs/sample/;
    server_name  sample.weibo.com i.sample.weibo.com;

    access_log  /data1/www/logs/sample-access_log  main;
    error_log  /data1/www/logs/sample-error_log;

    if (!-e $request_filename) {
        rewrite ^/(.*)  /public/index.php/$1 last;
    }

    location  / {
        set $script_uri "";
        if ( $request_uri ~* "([^?]*)?" ) {
            set $script_uri $1;
        }
        fastcgi_pass   127.0.0.1:9890;
        fastcgi_param  SCRIPT_URL         $script_uri;
        fastcgi_param  REQUEST_ID           $request_uid;
        include fastcgi/comm_fastcgi_params;
    }
}   

php-fpm 配置

[sample]
user = www
group = www
listen = 127.0.0.1:9890
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 128
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
pm.max_requests = 1500
request_terminate_timeout = 30
catch_workers_output = no
security.limit_extensions = ""

php_admin_value[include_path] = ".:/usr/local/sinasrv2/lib/php"

入口配置

原入口:http://sample.weibo.com/index.php
将入口定向到 public/index
增加action层,减少controller赘余

composer 库导入

1.生成github token : https://github.com/settings/tokens/new?scopes=repo&description=Composer+on+localhost.localdomain+2015-05-14+1600
2.添加 composer.json 文件

{
  "require": {
    "monolog/monolog": "1.0.*",
    "twbs/bootstrap": "3.3.*"
  }
}

3.添加vendor文件夹,使用composer install 安装
4.安裝完成後, 程式內容加入 require 'vendor/autoload.php';就可以直接使用

CSS、JS等静态文件配置

    location ~* .(jpg|gif|png|js|css)$ {
         root /data1/www/htdocs/sample/;
         if (-f $request_filename) {
            expires max;
            break;
         }
     } 
上一篇 下一篇

猜你喜欢

热点阅读