Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Symfony中创建全局函数的最佳方法_Php_Symfony - Fatal编程技术网

Php 在Symfony中创建全局函数的最佳方法

Php 在Symfony中创建全局函数的最佳方法,php,symfony,Php,Symfony,我想知道在Symfony 3中创建全局函数的最佳方法是什么 我将提供一个例子:在我的网站上,你可以订阅时事通讯。当你这样做的时候,它会给你发送一封电子邮件来感谢你。用户可以在许多页面上执行此操作 因此,我想创建一次,并在所有需要它的控制器中使用发送邮件功能 我必须在应用程序中将其创建为类,还是必须专门为其创建捆绑包 我找到了这个答案,但不确定它是否是最好的:最好的方法是。只需创建所需的服务,并将其注入控制器或在控制器中使用$this->get('your.service.name')->…。最好

我想知道在Symfony 3中创建全局函数的最佳方法是什么

我将提供一个例子:在我的网站上,你可以订阅时事通讯。当你这样做的时候,它会给你发送一封电子邮件来感谢你。用户可以在许多页面上执行此操作

因此,我想创建一次,并在所有需要它的控制器中使用
发送邮件功能

我必须在应用程序中将其创建为类,还是必须专门为其创建捆绑包


我找到了这个答案,但不确定它是否是最好的:

最好的方法是。只需创建所需的服务,并将其注入控制器或在控制器中使用
$this->get('your.service.name')->…

最好的方法是。只需创建您所需的服务,并将其注入控制器或在控制器中使用
$this->get('your.service.name')->…

我肯定会坚持回答您链接到的问题。我的一般规则是,如果函数对其他功能(例如,其他服务)有任何依赖性,那么就有一个服务,如果没有,那么实用函数{publicstaticfunction}就可以了。很好,这就是我需要的答案,谢谢!即使他们都有一个或两个功能,拥有大量服务是否重要?还是创建一个包含所有功能的服务更好?@DesTunk拥有大量的服务,而很少承担责任更好。您将提高代码的可测试性和可维护性。例如:NewslettesMailSender UserProvider COmmandValidator…@Destunk:服务是动态实例化的,因此直到您实际使用它之前,服务的数量(内存消耗方面)是不相关的。但是,我同意goto的观点,你应该有很多较小的服务,它们都有自己的责任……我肯定会坚持回答你所链接的问题。我的一般规则是,如果函数对其他功能(例如,其他服务)有任何依赖性,那么就有一个服务,如果没有,那么实用函数{publicstaticfunction}就可以了。很好,这就是我需要的答案,谢谢!即使他们都有一个或两个功能,拥有大量服务是否重要?还是创建一个包含所有功能的服务更好?@DesTunk拥有大量的服务,而很少承担责任更好。您将提高代码的可测试性和可维护性。例如:NewslettesMailSender UserProvider COmmandValidator…@Destunk:服务是动态实例化的,因此直到您实际使用它之前,服务的数量(内存消耗方面)是不相关的。但是,我同意后藤的观点,你应该有很多较小的服务,由他们自己负责。。。