小编And*_*eth的帖子

使用VIM在新选项卡中打开多个文件

如何使用VIM在每个文件的新选项卡中使用通配符打开多个文件?

类似于如何在Vim中一次打开多个文件?但在新标签而不是缓冲区.

vim

21
推荐指数
4
解决办法
7152
查看次数

Opera post(GET)是URL的哈希片段

根据Apache访问日志中的这一行,似乎Opera有时会在发送到服务器的URI中包含哈希片段:

[26/Apr/2011:01:09:03 +0200]"GET/dagbok/#type = food HTTP/1.1"500 - " - ""Opera/9.80(Windows NT 6.1; U; nb)Presto/2.8. 131版/ 11.10"

关于它为什么这样做的经验或见解?

URI应该被jQuery的哈希更改事件捕获,而事件又会触发URI上的.load()/dagbok/food/.

PS!500 Internal Server发生这种情况是因为路由不理解带有哈希片段的URI.也不应该.

使用RewriteRules更新:

RewriteEng在
RewriteCond%{REQUEST_FILENAME}!-d
RewriteCond%{REQUEST_FILENAME}!-f
RewriteRule!.(js | ico | txt | gif | jpg | png | css)$ index.php

然后Index.php启动Zends前端控制器/路由器,它无法找到此URI的任何路由.这是正确的,因为这个URI永远不会到达服务器.

javascript apache opera

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

如何使用后端数据填充Zend_Layout变量?

当试图遵守既定的最佳实践,避免像单身,注册表,静态属性和基本控制器,我怎么能填充我的布局(和谐音的布局设计中使用),与仅跨越所有操作使用的布局和共同的数据?

典型的场景是基于可变数据的菜单,如数据库.记住问题的分离,视图/布局不应该直接与后端对话,而应该告诉要包含什么.

如果不使用Zend_Layout中的单例"功能",则无法使用前端控制器插件.该插件只知道请求和响应对象,也无法访问控制器,视图或布局.

Zend的动作助手有init/preDispatch/postDispatch方法.可以向HelperBroker添加动作助手(例如使用引导程序),这些将在正常的应用程序流程中执行.

使用init方法将数据注入视图是不可能的,因为它在控制器/视图准备就绪之前被触发.preDispatch/postDispatch是可能的,但并不完美,因为在执行控制器操作时总是会触发这些方法.

这意味着Zend_Controller_Action :: _ forward()的所有使用也将在所有动作助手中执行preDispatch/postDispatch.这不有,除了速度的代码有什么大的影响,我真的不希望被设置视图(或视图助手)可变几次.可以使用某种$ firstRun变量来解决这个问题,但我真的不想在我自己的代码中跟踪它.

另一种方法是在引导程序中执行此操作,但在我看来它确实不属于那里.

那么,我如何使用数据库中的数据填充布局/视图助手,只执行一次并仍然保持良好的关注点分离?

php zend-framework zend-layout

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

标签 统计

apache ×1

javascript ×1

opera ×1

php ×1

vim ×1

zend-framework ×1

zend-layout ×1