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 作为前缀。 后续补充 ... |