编辑:Symfony最佳实践回答了我的大部分问题.
我有几个关于我的Symfony2应用程序的问题.
它将有一个前端和后端,并且它们将使用一些公共代码(例如日期显示器,分页器,经常使用的一些模板等).
所以,我创建了一个FrontendBundle和一个BackendBundle,每个都包含例如它们各自的布局.第一个问题:为前端和后端创建捆绑包是不是很好的做法,这些捆绑包是甚至没有控制器的"通用"捆绑包?
第二个问题:我在食谱上读到我不应该将我的布局放在捆绑包中,而是放在app/Resources/views /目录中.我已经有了一个base.html.twig文件,我想知道是否应该将我的布局放在那里,比如frontend_layout.html.twig文件?
我创建了一个名为RootBundle的包,它将包含我的应用程序在前端和后端需要的所有内容.这是一个好的做法吗?或者我应该为每个提议的功能创建一个专用的捆绑包,例如PaginatorBundle,DateDisplayerBundle等等?听起来很奇怪,我有一个"杂项"捆绑包含我不知道放在哪里的所有内容.你是怎样做的?
我在使用标签时遇到了一些问题(Spring 3.0.5).我想将图像添加到我的Web应用程序,但它不起作用.
这是我的bean配置的一部分:
<mvc:annotation-driven/>
<mvc:default-servlet-handler default-servlet-name="ideafactory"/>
<mvc:resources mapping="/resources/**" location="/, classpath:/WEB-INF/public-resources/" cache-period="10000" />
Run Code Online (Sandbox Code Playgroud)
尝试在jsp文件中添加图像:
<img src="<c:url value="/resources/logo.png" />" alt="Idea Factory" />
Run Code Online (Sandbox Code Playgroud)
首先,我不知道在哪里存储资源(src/main/resources/public-resources?src/main/webapp/WEB-INF/public-resources?).其次,这个配置不起作用,我看不到图像.怎么了?
谢谢!
编辑:这里给出的解决方案:Spring Tomcat和静态资源以及mvc:资源也不起作用......添加没有成功.
编辑2:我试图删除mvc:resource标签,只让mvc:default-servlet-handler> one,给了我无限循环和stackoverflow ... o_O(用Spring 3提供静态内容)
我使用spring 3.0,我有一个非常简单的问题,但在互联网上没有找到任何答案.我想生成一个路径(URI),就像在我的JSP中一样:
<spring:url value="/my/url" />
Run Code Online (Sandbox Code Playgroud)
但在控制器内部.使用的相关服务是什么?谢谢!
编辑:可能与此有关:http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/resources.html#resources-resourceloader?对此没有更好的解决方案吗?
我对Symfony2的性能有疑问.
我已经在Ubuntu 11.04下使用Symfony2进行了几周的开发,Apache 2.2.17,PHP 5.3.5,APC 3.1.9,没有xDebug
在开发环境中,Symfony2工具栏上给出的时间从未超过70毫秒.
今天,我尝试在Windows 7环境中安装我的应用程序:Wampserver 2.2,PHP 5.3.8,Apache 2.2.21,APC 3.1.7,no xDebug
Windows环境中的计算机比ubuntu(SSD,Quad core等)上的计算机要好得多.
当我在开发环境中运行应用程序时,工具栏始终指示至少300毫秒.
所以,你知道怎么可能吗?
谢谢 !
编辑:找到关于这个主题的链接:http://fossplanet.com/f6/%5Bsymfony-users%5D-symfony2-slow-windows-xp-116465/
我也注意到了file_exists函数的问题(使用webgrind).
那么,有什么想法吗?
也许这个问题已经讨论过,但我很惊讶没有发现任何相关内容.
就像在本主题中一样,在我的应用程序中添加twig"render"标记时,我在开发模式下遇到性能问题(相关文档:嵌入控制器).
如果没有此渲染标记,我的页面将在不到70毫秒的时间内生成.使用渲染标记,它至少为170毫秒.并且在应用程序中添加的每个渲染标记都会使页面生成增加100毫秒(这很多:为什么普通页面在60毫秒内运行,渲染标记在100毫秒内运行?).我可能在我的应用程序的每个页面上需要4或5个,因此这意味着在开发模式下每个页面至少需要500毫秒.
我完全理解产品模式没有问题,但在开发中显然不太舒服.那么,在开发模式下使用"render"标签时,是否有人知道如何摆脱任何无用的调用,日志或代码?
我在检索用户(消息应用程序)的新消息数量的查询中使用Doctrine 2的结果缓存:
$query->useResultCache(true, 500, 'messaging.nb_new_messages.'.$userId);
Run Code Online (Sandbox Code Playgroud)
我试图像这样(在我的实体库中)使这个缓存无效:
public function clearNbNewMessagesOfUserCache($userId) {
$cacheDriver = $this->getEntityManager()->getConfiguration()->getResultCacheImpl();
$result = $cacheDriver->delete('skepin_messaging.nbNewMessages.'.$userId);
if (!$result) {
return false;
}
return $cacheDriver->flushAll();
}
Run Code Online (Sandbox Code Playgroud)
因此,我不需要在我的网站的每个页面上进行无用的查询.
我的问题:这是推荐的做法吗?我最终会遇到问题吗?
我已经阅读了很多东西来设置我的SSL客户端/服务器系统(没有HTTP).
我从安全聊天示例和websocket ssl服务器示例中获得灵感.已经使用该命令创建了我的cert.jks文件
keytool -genkey -alias app-keysize 2048 -validity 36500
-keyalg RSA -dname "CN=app"
-keypass mysecret-storepass mysecret
-keystore cert.jks
Run Code Online (Sandbox Code Playgroud)
在安全聊天示例中,有这个类:
public class SecureChatTrustManagerFactory extends TrustManagerFactorySpi {
private static final TrustManager DUMMY_TRUST_MANAGER = new X509TrustManager() {
@Override
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0];
}
@Override
public void checkClientTrusted(
X509Certificate[] chain, String authType) throws CertificateException {
// Always trust - it is an example.
// You should do something in the real world.
// You will …Run Code Online (Sandbox Code Playgroud) 我试图阻止用户在当前选项卡无效时更改选项卡.所以当他点击一个标签时,我想检查当前标签是否"有效",如果不是,请保持当前标签.我试图使用一个不起作用的VetoableChangeListener,代码永远不会进入vetoableChange方法:
jTabbedPane.addVetoableChangeListener(new VetoableChangeListener() {
@Override
public void vetoableChange(PropertyChangeEvent evt) throws PropertyVetoException {
if (!isCurrentTabValid()) {
throw new PropertyVetoException("test", evt);
}
}
});
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
谢谢!
我目前正在尝试创建一个能够解释动态字符串的软件组件,例如:
%TO_LOWER%(%DELETE_WHITESPACES%("A SAMPLE TEXT"))
Run Code Online (Sandbox Code Playgroud)
这会产生这个字符串:
asampletext
Run Code Online (Sandbox Code Playgroud)
我希望能够定义一组可用的函数,具有语义参数等.我已经知道(或多或少)如何使用正则表达式来完成它.
我的问题是:
谢谢!
我用来rundll32 url.dll,FileProtocolHandler my_file.dotx在 Windows 下打开文件。
它适用于 .docx 文档,但当我尝试使用 .dotx 文档(模板文档)时,它会根据模板创建一个新的 .docx。
就像 Windows 资源管理器中的正常行为一样:当您双击 .dotx 模板文件时,它会基于它创建一个新的 .docx 文件。如果你想打开真正的.dotx文件,你必须右键单击它并选择“打开”而不是“新建”。
问题是:如何对 rundll32 执行同样的操作?命令中是否有一个选项可以强制打开底层模板而不是创建新文档?
编辑:我需要一种方法来做到这一点,无需C函数,只需纯文本,在命令行中(我使用Java来做到这一点)。