dqwh1205 2016-01-12 15:52
浏览 13

通过工厂方法调用服务

Right now I can call services from controllers in the following way:

$this -> get('myservice') -> doSomething();

But I want to do this according to the factory method pattern, like this:

ServiceFactory :: createMyservice() -> doSomething();

The problem is that I can't pass parameters with the second method, they're null.


services.yml:

parameters:

services:
    myservice:
        class: AppBundle\Service\Myservice
        factory: [Appbundle\Factory\ServiceFactory, createMyservice]
        arguments:
            - "%kernel.root_dir%"

ServiceFactory.php:

<?php

namespace AppBundle\Factory;

use AppBundle\Service\MyService;

class ServiceFactory
{

    public static function createMyservice($rootDir)
    {
        var_dump($rootDir); // NULL
        $object = new Myservice($rootDir);
        return $object;
    }

}

What's wrong?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 Vue3 大型图片数据拖动排序
    • ¥15 划分vlan后不通了
    • ¥15 GDI处理通道视频时总是带有白色锯齿
    • ¥20 用雷电模拟器安装百达屋apk一直闪退
    • ¥15 算能科技20240506咨询(拒绝大模型回答)
    • ¥15 自适应 AR 模型 参数估计Matlab程序
    • ¥100 角动量包络面如何用MATLAB绘制
    • ¥15 merge函数占用内存过大
    • ¥15 使用EMD去噪处理RML2016数据集时候的原理
    • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大