Yii - [新]项目开发流程指南

发布于:2022-12-05 ⋅ 阅读:(759) ⋅ 点赞:(0)

1.应用场景

主要用于使用Yii 快速进行「新」项目开发, 借助该指南能按部就班,合理高效地落地项目/服务。

2.学习/操作

1.文档阅读

Yii Framework 中文网 - 文档手册 - 视频教程 - 扩展下载

Yii 2.0 权威指南 | Yii PHP Framework -- 国外官方-中文版

2.整理输出

Yii
1. 开发项目指南

    1.1 项目结构组织
        适用于:小项目开发/新项目开发

        在设计良好的应用中,控制器很精练,包含的操作代码简短; 
        如果你的控制器很复杂,通常意味着需要重构, 转移一些代码到其他类中。

        归纳起来,控制器
        可访问 请求 数据;
        可根据请求数据调用 模型 的方法和其他服务组件;
        可使用 视图 构造响应;
        不应处理应被模型处理的请求数据;
        应避免嵌入HTML或其他展示代码,这些代码最好在 视图中处理.

        简单说,项目采用框架的默认的目录结构
        controllers
        models
        views

        至于
        repositories // 当业务逻辑重复比较多的时候,可以抽离出来,放到该目录下
        components // 可以在使用到新的component时使用
        extensions // 可以在使用到新的extension时使用

      

        可以在后面需要增加,小重构时再使用
        至于components,extensions之间的区别 ---------- TBD

2. 性能考虑

        1. 请尽量不要注册太多引导组件【框架启动时】只有他需要在 HTTP 请求处理的全部生命周期中都作用时才需要使用它。
        

        2. 在生产环境中,可以开启字节码缓存,比如 APC, 来进一步最小化加载和解析 PHP 文件所需的时间。
        

        3. 一些大型应用都包含有非常复杂的应用配置, 它们会被分割到许多更小的配置文件中。 「文件放到一个文件中和放到多个文件中的差别,和性能开销?TBD」
        此时,可以考虑将整个配置数组缓存起来, 并在入口脚本创建应用实例之前直接从缓存中加载 「意思是放到内存中,如:redis?但是会存在网络开销吧」

        

        4. 在开发复杂的 Web 应用程序时,优化 URL 规则非常重要,以便解析请求和创建 URL 所需 的时间更少。
        通过使用参数化路由,您可以减少 URL 规则的数量,这可以显著提高性能。
        当解析或创建URL时,URL manager 按照它们声明的顺序检查 URL 规则。 
        因此,您可以考虑调整 URL 规则的顺序,以便在较少使用的规则之前放置更具体和/或更常用的规则。 -- 越早匹配越好,执行概率越大的放到前面

        如果多个 URL 规则使用相同的前缀,你可以考虑使用 yii\web\GroupUrlRule, 这样作为一个组合,URL管理器会更高效。 --- Laravel也是如此
        特别是当应用程序由模块组合而成时,每个模块都有各自的 URL 规则且都有各自的模块 ID 作为前缀。

后续补充

...

3.问题/补充

TBD

4.参考

参见上面文档列表

后续补充

...

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到