使用ZF2 param()插件作为模块(没有ZF2就位)

时间:2014-06-10 13:42:41

标签: php zend-framework zend-framework2 zend-form

我有一个通过GET方法接收变量的php脚本。我可以使用$_GET['var']访问变量,但我想使用ZF2的$this->params()->fromQuery('var')构造,而不使用ZF2引擎。

我对'如何'感兴趣。如果您对“为什么(我想要这样做)”感兴趣,那是因为我正在处理大型现有遗留代码库,将其重写为逐步使用ZF2。下一步是使用params()。

因此,我有兴趣构建所需的代码以使params()插件工作。我的想法是写一个可以调用到我的班级的特性,然后在课堂内我可以使用$this->params()->fromQuery()

我目前的想法

trait ParamTrait
{
    public function params(string $param = null, mixed $default = null)
    {
        //magic

        return $params;
    }
}

class X
{
    use ParamTrait;

    function showGet()
    {
        echo $this->params()->fromQuery('var');
    }
}

我正在寻找magic部分。

1 个答案:

答案 0 :(得分:0)

params()只是Zend \ Http \ Request

的控制器插件代理

您可以在完整的ZF2 MVC应用程序之外的任何地方使用它,方法是将zendframework / zend-http添加到您的composer.json

require{
    "zendframework/zend-http": "2.3.0"
}

在文件中加入./vendor/autoload.php

<?php
require 'vendor/autoload.php';

$request = new \Zend\Http\PhpEnvironment\Request();

//post
$post = $request->getPost();

//query
$query = $request->getQuery();

// etc, etc...
相关问题