コントローラーからサービスを分離するために、Zend フレームワークの 2 つのコントローラー関数のサービス レイヤーを作成する必要があります。
2 に答える
4
これを正しく機能させるには、ServiceManager (SM) を使用する必要があります。
これは、私が行った方法のほんの一例です。
ModuleName/src/ModuleName/ に Service という名前のフォルダーを作成し、ExampleService.php を作成します。例:
namespace ModuleName\Service;
class ExampleService
{
public function SomeFunctionNameHere()
{
echo 'Hello World';
}
}
Module.php を編集して、Service Layer を呼び出し可能な 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;
}
これで始められるはずです。
于 2013-06-30T18:54:06.723 に答える