zend-framework2 - 如何在zend框架二中创建服务层?

标签 zend-framework2

我需要为 Zend 框架的两个 Controller 功能创建一个服务层,以便将服务与 Controller 解耦。

最佳答案

您将需要使用 ServiceManager (SM) 才能使其正常工作。

这只是我如何做到这一点的一个例子:

在您的ModuleName/src/ModuleName/中创建一个名为Service的文件夹并创建您的ExampleService.php,示例:

namespace ModuleName\Service;

class ExampleService
{
    public function SomeFunctionNameHere()
    {
        echo 'Hello World';
    }
}

现在编辑您的 Module.php 并将服务层添加到您的可调用对象中,IE:

public function getServiceConfig()
{
    return array(
        'invokables' => array(
            'ModuleName\Service\ExampleService' => 'ModuleName\Service\ExampleService',
        ),
    );
}

现在编辑您的 ModuleNameController.php

protected $service_example;

public function indexAction()
{
    $service = $this->getServiceExample()->SomeFunctionNameHere();
}

private function getServiceExample()
{
    if (!$this->service_example) {
        $this->service_example = $this->getServiceLocator()->get('ModuleName\Service\ExampleService');
    }

    return $this->service_example;
}

这应该可以帮助您入门。

关于zend-framework2 - 如何在zend框架二中创建服务层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17376453/

相关文章:

php - zf2 tablegateway 按列名选择列

php - 如何强制 Composer 重新安装库?

zend-framework2 - zf2 导航 - 'Zend\ServiceManager\ServiceManager::get was unable to fetch or create an instance for navigation'

zend-framework2 - zf2中的loadModules.post是一个函数吗?

unit-testing - phpunit单元测试错误zf2教义

zend-framework2 - ZfcRbac 角色提供者和身份 getRoles()

php - 跨数据库连接学说

zend-framework2 - 如何将语言变量传递给ZF2中的布局?

PhpUnit 抛出捕获的异常

php - 使用 zend 模型和 Controller 实现登录认证