小编wiz*_*ard的帖子

如何解析参数的Zend URL?

我试图从ZF REST URL中提取GET参数.这不是当前的请求,我不想调用URL或执行路由,我只需要参数.我正在寻找像parse_url()这样的实用程序函数,但是对于Zend REST格式.有一个,还是我必须重新发明轮子?

我尝试了一些事情,比如创建一个新的Zend_Controller_Request_Http,但参数没有被填充.它是一个有效的HTTP URL.

编辑:根据请求,Zend URL示例:

http://localhost/index/index/param1/foo/param2/bar
Run Code Online (Sandbox Code Playgroud)

所以我只是试图从这个URL中获取param1和param2.

编辑#2:我试过这个,但它似乎不起作用:

$request = new Zend_Controller_Request_Http('http://localhost/home/test/param1/foo/param2/bar');
$front = Zend_Controller_Front::getInstance();
$route = new Zend_Rest_Route($front);
var_dump($route->match($request));
Run Code Online (Sandbox Code Playgroud)

php zend-framework

11
推荐指数
2
解决办法
1万
查看次数

使用Zend DB Select选择任意字符串?

我正在使用流畅的界面来创建Zend DB Select对象/查询.作为查询的一部分,我想选择一个任意字符串,例如"SELECT'foo'AS'type'FROM ...".foo不是一个列,它只是一个字符串文字.

当我选择任意数字时,查询按预期工作.当我将其更改为字符串时,Zend会尝试将foo视为列,并抛出错误:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'l.foo' in 'field list'
Run Code Online (Sandbox Code Playgroud)

我尝试以各种方式在Zend_Db_Expr中包装字符串,例如:

$select->columns(array('type' => new Zend_Db_Expr('foo')));
Run Code Online (Sandbox Code Playgroud)

这会阻止Zend添加相关名称,但它仍然将其视为列:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'foo' in 'field list'
Run Code Online (Sandbox Code Playgroud)

我觉得我必须在这里遗漏一些明显的东西.我如何告诉Zend停止将其视为一个列?

zend-framework zend-db

11
推荐指数
1
解决办法
3304
查看次数

捕获当前操作中另一个动作的输出?

我一直试图找到一种方法来捕获当前动作中另一个动作的输出(渲染视图)......类似于输出缓冲.

场景是我需要保存报告的"快照".报告中使用的数据不断变化,无论出于何种原因,我需要实际保存视图HTML而不仅仅是数据数组.我创建了一个snapshotAction(),我想以某种方式捕获其中单独的reportAction()的输出.我不想将reportAction()渲染到屏幕上,我希望它在操作完成之前在当前操作中呈现.

在ZF有什么办法吗?


Benedict Cohen在下面正确回答,但直到我在ZF邮件列表档案中看到这种用法我才意识到: 如何渲染多个动作视图?

我正在使用类似的东西:

public function snapshotAction () {
    $content = $this->view->action('run', 'report');
    ...etc...
}
Run Code Online (Sandbox Code Playgroud)

zend-framework

5
推荐指数
1
解决办法
2132
查看次数

标签 统计

zend-framework ×3

php ×1

zend-db ×1