文档章节

Symfony2 Service每次get都获取新的实例

l
 light_
发布于 2016/05/12 16:34
字数 180
阅读 22
收藏 0

Services Instance Default

在symfony2中service默认实例化一次,例子如下:

// services.yml
servieces:   
    app_test:
          class: AppBundle\Service\AppService
    $appService1 = $this->get("app_test");
    $appService1->setName("appService1");
    $appService2 = $this->get("app_test");
    $appService2->setName("appService2");
    var_dump($appService1->getName());
    var_dump($appService2->getName());
    var_dump($appService1 === $appService2);
    运行结果:
        string 'appService2' (length=11)
        string 'appService2' (length=11)
        boolean true

##Non Shared Services 在symfony2中service如果需要每次get的时候获取新的实例,需要加上参数shared(这个参数只适用于symfony 2.8以后),例子如下:

// services.yml
servieces:   
    app_test:
          class: AppBundle\Service\AppService
          shared: false
    $appService1 = $this->get("app_test");
    $appService1->setName("appService1");
    $appService2 = $this->get("app_test");
    $appService2->setName("appService2");
    var_dump($appService1->getName());
    var_dump($appService2->getName());
    var_dump($appService1 === $appService2);
    运行结果:
        string 'appService1' (length=11)
        string 'appService2' (length=11)
        boolean false

© 著作权归作者所有

共有 人打赏支持
l
粉丝 1
博文 8
码字总数 2973
作品 0
芜湖
程序员
Symfony2 在服务中注入Request

Uncaught exception 'SymfonyComponentDependencyInjectionExceptionScopeWideningInjectionException' with message 'Scope Widening Injection detected: The definition "user.registrati......

mot_evans
2014/04/15
0
0
深入浅出Symfony2 - 如何提高网站响应速度

简介 Symfony2是一个基于PHP语言的Web开发框架,有着开发速度快、性能高等特点。但Symfony2的学习曲线也比较陡峭,没有经验的初学者往往需要一些练习才能掌握其特性。相对其他框架,Symfony...

丰圣谋
2013/07/30
0
1
SonataEasyExtendsBundle功能包:让您的Symfony2功能包可被扩展

Note this post is not part of the Symfony2 documentation; it is just a state about how things work now (end of 2010) between Doctrine2 and Symfony2. It is not a complaint about ......

firehare
2014/04/18
0
0
dao实例的创建问题

java web 的项目,之前有spring来管理这些 dao service类。 现在的项目没用spring。 service类中的方法都是static的。 而在使用dao的时候 都是((Class)dao).newInstance(); 这样使每次使用都...

霖vv
2011/03/30
258
3
Create new log file/channel for a Symfony Service with Monolog

n this article about WSSE and Rest, we describe how to create a new log file/channel with monolog in Symfony2 Insert the logger in your service with a new Channel In this exampl......

jims
2016/11/13
8
0

没有更多内容

加载失败,请刷新页面

加载更多

#mysql50# not Exist

data 目录有中文名称,可能是复制的"复件...."

少年不搬砖老大徒伤悲
20分钟前
1
0
在yii2中,让你action参数支持POST数据的小方法

我们先来看一段代码 class RaController extends Controller { public $enableCsrfValidation = false; public function actionSay($username = '',$city = ''){ echo "{$......

阿北2017
29分钟前
2
0
macOS 10.14 Mojave

在近日发布的 macOS 10.14 Mojave 操作系统中,有人发现它(在某些机型中)悄然禁用了先前的「次像素平滑渲染」选项,导致部分(尤其是使用非高分辨率显示器)用户觉得字体比先前的更细更难看...

火力全開
33分钟前
2
0
 实现分布式锁的正确姿势

实现分布式锁的正确姿势 原理分析 最近看到好多博主都在推分布式锁,实现方式很多,基于db、redis、zookeeper。zookeeper方式实现起来比较繁琐,这里我们就谈谈基于redis实现分布式锁的正确实...

DemonsI
37分钟前
2
0
微信小程序 、支付宝小程序、百度小程序和钉钉e应用的汇总

2018年9月25日 百度小程序开放企业申请 微信小程序:现在微信小游戏都热火朝天了,而且已经有了云开发,包括提供的能力、文档、社区等都相对完善,也有相关的变现方式; 支付宝小程序:https...

to_be_better
40分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部