【发布时间】:2016-11-10 07:51:40
【问题描述】:
我对 Symfony2 非常陌生,并且正在努力将现有 CodeIgniter 站点中当前运行的所有内容重写为 Symfony2 以用于该站点的新 Symfony2 版本。
在远程服务器上安装 Symfony2 版本 2.8.13,标准版后,我已经能够在我电脑的 Chrome 浏览器中成功运行 app.php 和 app_dev.php 页面。我使用“创建你的第一页”说明开始学习 Symfony2,现在我正在逐步应用这些知识开始重写我的旧 CodeIgniter index.php 页面以在我的新 Symfony 站点中运行。
由于旧的 CodeIgniter 站点主要使用 php、css、javascript、jquery,以及一些插件和一些 CodeIgniter 函数来连接到支持的数据库并渲染输出页面,所以我决定不重写视图在树枝上。
相反,我只是使用 Symfony 控制器来容纳 CodeIgniter 控制器的“逻辑”并查看文件。稍后我会将控制器/视图文件分解为多个文件,以创建可重用的组件文件,这些文件最初在 CodeIgniter 站点中使用,但被重写为使用 Symfony2 框架。
说了这么多,下面是我的问题:
1) 我如何“告诉”呈现的网页在哪里可以找到我放在供应商目录下的 javascript (js)、图像、css 和其他文件的第三方插件文件?我没有使用 composer 来执行此操作,因为其中大部分是我刚刚从我的 CodeIgniter 站点复制过来的文件。
2) 我如何“告诉”呈现的网页在哪里可以找到我放在 src/project 目录下的非第三方 main.css 文件?
3) 我如何“告诉”渲染的网页在哪里可以找到我也放在 src/project 目录下的非第三方图像文件?
我知道与供应商产品没有紧密联系的 javascript、图像和 css 文件可以放置在几个不同的位置,其中之一是 app/Resources 目录,但为了清楚起见,尤其是当我'仍在转换 CodeIgniter 站点页面,我宁愿将它们放在 src/ 下的页面特定目录中,至少对我来说,这比将它们全部转储到 Resources 目录中更清晰、更直接。我知道有一个工具可以自动管理这些类型的文件,Assetic,但它不再自动安装在 Symfony2 版本 2.8.x 中,我也不相信这会使我的非供应商文件与它们的相关捆绑包保持紧密联系。
另一个解决方案谈到在 Resources 目录和包之间创建一个符号链接,但我不确定该链接应该指向哪个方向以及它是在哪个目录级别创建的。
有人可以帮助我了解在管理这些资源方面我需要做些什么,而不使用额外的工具和不必要的抽象级别吗?
最后,由于我来自 CodeIgniter,关于 CodeIgniter 函数调用,是否有一份关于如何在 CodeIgniter 中完成各种事情以及在 Symfony2 中应该如何完成相同或相似事情的备忘单?
谢谢
================================================ ========
跟进 Thomas 的回复。
谢谢你,托马斯。
我还没有完全掌握 Symfony 的所有条款。 当你说 MyBundle 时,我在哪里可以找到那个目录?
/var/www/vhosts/symfony2/src/AppBundle/Controller 或 /var/www/vhosts/symfony2/app
只有app目录有Resources子目录还是我放在第一个路径的Controller目录下?
在我使用 app/console 命令之前,我想弄清楚这一点。
另外,由于我没有使用 twig,我还可以使用 {% %} 表示法来指定 html 链接和 img 标签获取文件的位置吗?正如我最初所说,我现在不想将我的html语句转换为twig,html已经完成,结果页面正是我想要的。
再次感谢。
P.S.,我试图在评论中回复,但效果不佳,因为它需要所有换行符和额外的空格。知道必须有一种方法可以在不编辑原始发布的问题的情况下添加到该线程中,但是除了回答我自己的问题之外,我什么也没看到,我绝对做不到。那么有人会这么好心,请告诉我如何将我自己的回复添加到这个线程?
【问题讨论】:
标签: symfony