允许多个类向另一个类添加方法,您可以在您想要扩展的类中定义神奇的 __call() 方法,像这样:class Foo{ // ... public function __call($method, $arguments) { // create an event named 'foo.method_is_not_found' $event = new HandleUndefinedMethodEvent($this, $method, $arguments); $this->dispatcher->
发送电子邮件对于任何 web 应用程序来说,都是一个经典任务,并且具有特殊的复杂性和潜在的缺陷。不是重新创建轮,发送电子邮件的解决方案之一就是使用 SwiftmailerBundle,利用 Swift Mailer 库的能力。这个 bundle 来自于 Symfony 标准版本。配置使用 Swift Mailer 的话,您需要对您的邮件服务器配置。
Doctrine2 ORM 集成在 doctrine 命名空间下提供了几个控制台命令。为了查看命令列表您可以使用 list 命令:$ php app/console list doctrine一列可用的命令将打印出。您可以通过运行 help 命令发现更多关于任何这些命令的消息(或任何 Symfony 命令)。
一些表单有额外的字段,其值不需要存储在数据库中。例如,您可能想创建一个带有额外字段的注册表单(像“条款接受”复选框字段)以及嵌入表单,实际上是存储账户信息。简单的用户模型您有一个简单的 User 实体映射到数据库中:// src/Acme/AccountBundle/Entity/User.phpnamespace Acme\AccountBundle\Entity;use Doctrine\ORM\Mapping as ORM;