小编Sla*_*vic的帖子

双美元符号php

可能重复:
PHP(美元或双美元)在PHP中意味着什么?

我发现自己在我的一个控制器中使用了这种代码:

foreach(get_object_vars($this->view) as $property=>$value){
   $$property = $value;
}
Run Code Online (Sandbox Code Playgroud)

使用$$属性将视图属性"本地化"为简单的$变量是否有任何问题?

编辑:

我应该补充一点,这个代码是在特定于视图的方法的范围内运行的,因此没有覆盖局部变量的问题.这是为了转移你们中的一些人指出覆盖局部变量的问题.

php syntax

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

如何从Ember应用程序模板中的路径访问数据?

我正在按照Ember 2.3的文档进行操作,似乎找不到任何基本的东西:如何访问主模板中路由模型钩子提供的值:application.hbs

路线/ client.js

// ...
export default Ember.Route.extend({
    model() {
        return {
            navigation: [
                {
                    title: "Projects",
                    link: "projects"
                },
                {
                    title: "My Specifications",
                    link: "specs"
                }
            ]
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

模板/ application.hbs

<nav>
   {{#each navigation as |navItem|}}
      <li>{{#link-to navItem.link}} {{navItem.title}} {{/link-to}}</li>
   {{/each}}
</nav>
{{outlet}}
Run Code Online (Sandbox Code Playgroud)

就像现在一样,导航对象可以被路径的模板(client.hbs)访问,但不能访问应用程序模板.

javascript ember.js ember.js-2

8
推荐指数
1
解决办法
5483
查看次数

如何捕获Zend视图输出而不是实际输出它

问题:有时在我们的zend控制器中,我们不希望脚本直接输出,而是想要该脚本的内容.一个例子:当我们需要结果时,视图脚本的html输出被包含在另一个结构中,如JSON或XML,以便在客户端进行处理.

我在堆栈溢出时发现了结果,但不是那么快,因为它处于不同的上下文中.我现在已经为此困难了2天了.事实证明这很简单:

    // in our controllers' action method
    $this->_helper->layout()->setLayout('empty');    // disable layout
    $this->_helper->viewRenderer->setNoRender(true); // make sure the script is not being rendered

    // any of your code here
    $html = $this->view->render('projects/climate.phtml');  // return the view script content as a string
    $json = array('html'=>$html, 'initData'=>'my other needed data');
    echo json_encode($json);
Run Code Online (Sandbox Code Playgroud)

我希望这很清楚,对某人有用.

zend-framework capture zend-view

6
推荐指数
1
解决办法
5147
查看次数

如何重置OpenCart 2+管理密码?

显然,新的(v2)OpenCart的密码加密方案不是简单的md5哈希.在我为OpenCart安装更改主机但无法找到任何内容后,我试图在网上搜索重置管理员密码的方法.

谢谢.

php opencart2.x

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

Chrome 会发出两次请求的原因

我的 nginx 服务器日志中有以下内容(为了示例而更改了 IP 和一些路径):

101.101.101.101 - - [15/Apr/2020:14:46:03 +0000] "GET /item/download-file/ready/5e971e290107e HTTP/2.0" 200 142940 " https://example.com/referer " Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36"

101.101.101.101 - - [15/Apr/2020:14:46:04 +0000] "GET /item/download-file/ready/5e971e290107e HTTP/1.1" 200 5 " https://example.com/referer " " Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36"

问题是访问的链接是针对非幂等资源的(只能访问一次),因此客户端会遇到错误。

这些链接用于文件下载,可通过涉及window.location.href = "...". 响应服务器标头包括Content-Disposition: attachment.

在什么情况下,Chrome 会先发送两个涉及 HTTP/2.0 的请求,稍后再发送 HTTP/1.1?也许有可能导致这种情况的扩展?

请注意,我无法在我拥有的任何浏览器中重现它。

更新 2:

我已经确定它不仅仅发生在 Chrome 中。Edge 44 也出现在日志中。此外,针对此问题的其他实例的第二个请求没有切换到 HTTP/1.1。相反,它们是 …

javascript google-chrome http

6
推荐指数
1
解决办法
285
查看次数