当前位置: 首页 > news >正文

Symfony学习笔记 - The Symfony Framework Best Practices

原书链接
本书是Symfony开发者的推荐的应用开发哲学。

Configuration

1、用.env文件,并为每个环境构建一个.env文件。
2、当有敏感信息的时候,比如API key,你可以将这些敏感信息存在Symfony's secrets management system.
3、对于应用程序参数,在config/services.yaml中,进行定义,你可以根据环境来覆盖这些配置,比如services_dev.yaml或者services_prod.yaml
4、应用程序参数用短和前缀的参数名,比如:
config/services.yaml parameters: # don't do this: 'dir' is too generic, and it doesn't convey any meaning app.dir: '...' # do this: short but easy to understand names app.contents_dir: '...'
5、用常量定义很少改变的选项
`
namespace App\Entity;

class Post
{
public const NUMBER_OF_ITEMS = 10;

// ...

}
`
6、不要创建任何Bundle来组织你的应用程序逻辑
如果你要复用一些项目中的特性,创建Bundle,否则,通过namespace来组织你的业务模块。

7、用自动装配(Autowiring)来构造应用程序服务(Service)
服务自动装配(Service autowiring)是一项功能,它通过读取您构造函数(或其他方法)中的类型提示(type-hints),自动将正确的服务传递给每个方法,从而无需显式配置服务,并简化应用程序的维护工作。
将其与服务自动配置(service autoconfiguration)结合使用,还可为需要特定标签的服务(如Twig扩展、事件订阅器等)自动添加相应的服务标签。

8、无论什么时候,Service都必须是私有的
声明Service是private,以避免在外部同get来访问该Service。你应该通过依赖注入(Dependency Injection)的方式来使用Service。

9、用yaml格式来配置你自己的Service
如果你使用默认的yaml文件来配置service,大多数的service可以自动配置。但在一些特殊情况下,你可能需要手工进行配置。
yaml格式是symfony推荐的配置格式,因为他对新来者友好并且精确。

10、用属性(Attributes)来定义Doctrine的实体(Entity)映射
Doctrine Entity是你将存在数据库里面的php 对象。Doctrine通过你配置的属性,来了解你的Entities。
Doctrine支持多种元数据格式,但是属性是迄今为止最方便、快捷的方式,来寻找你的映射信息。

http://www.wxhsa.cn/company.asp?id=623

相关文章:

  • 大学军训
  • Vue Day3【综合案例2】vue小兔鲜儿
  • Java 基础知识解析
  • 力扣第3题 无重复字符的最长子串
  • UniApp 自定义导航栏
  • P3177 [HAOI2015] 树上染色
  • UniApp 自定义tabBar
  • NOIP2024复盘
  • Avalonia 学习笔记04. Page Navigation(页面导航) (转载)
  • 判断左手坐标系和右手坐标系的方法
  • 题解:P11894 「LAOI-9」Update
  • 题解:P2012 拯救世界2
  • 今日随笔
  • 一键安装小雅Alist
  • 题解:AT_abc394_c [ABC394C] Debug
  • Lumion Pro 12.0 下载安装教程包含安装包下载、安装、激活超详细图文步骤
  • 题解:CF348C Subset Sums
  • 题解:CF351B Jeff and Furik
  • 题解:CF2118D1 Red Light, Green Light (Easy version)
  • Project Euler题解思路导航(私人)
  • 27届春招备战一轮复习--第五期
  • 阅读方式
  • Audition 2025(AU2025)超详细直装版下载安装教程保姆级
  • pg 解析select语句的返回值
  • 长乐一中 CSP-S 2025 提高级模拟赛 Day2
  • 费用流
  • [豪の学习笔记] 软考中级备考 基础复习#6
  • RAG
  • 手撕深度学习:矩阵求导链式法则与矩阵乘法反向传播公式,深度学习进阶必备!
  • CF *3200