我将在我的Symfony 2应用程序中创建一个模块系统。每个模块都是一个捆绑包。
我不知道如何我可以动态(在我的服务代码)加载路由文件(例如。Acme某些ModuleBundle/Resources/config/routing.yml),并使用一些前缀(或主机)应用它们。就像在app/config/routing.yml中嵌入代码一样:
berg_applications:
resource: "@AcmeSomeModuleBundle/Resources/config/routing.yml"
host: foobar.com
有什么解决办法吗?
如果您对每个模块都采用真正的捆绑方法,那么完成您尝试的任务的最简单方法就是使用JMS安全额外捆绑,并使用基于属性的路由。
在您的composer.json文件中,添加以下内容:“需要”:{..."jms/security-out-bundle":"1.5。*",
使用更新您的composer文件
php composer.phar update
然后在BundleName/Resources/config/routing.yml文件中执行以下操作:
some_name:
type: annotation
resource: "@SomeBundle/Controller"
最后,对于控制器中的每个动作,用@Route属性装饰它:
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
/**
* @Route("/SomeBundle/SomeController")
*/
class SomeController extends Controller {
/**
* @Route("someAction", name="myAction")
* @Method("GET") OR
* @Method({"GET", "POST"})
*/
public function someAction() {
}
}
JMS包中的一些其他属性也让事情变得非常好。例如,我经常在操作中使用@Template属性。这意味着我不再需要做:
public function recentListAction() {
...
return $this->render(
'AcmeArticleBundle:Article:recentList.html.twig',
array('articles' => $articles)
);
}
我可以简单地做到:
/**
* @Route("/Articles/List")
* @Template()
*/
public function recentListAction() {
...
return array('articles' => $articles);
}
只要我有一个Resources/view/ControlllerName/recentList.html.twig文件,所有内容都会自动编织在一起。
您需要自定义路由加载程序:http://symfony.com/doc/current/cookbook/routing/custom_route_loader.html
对于一个项目,我必须构建路由加载器,通过CURL从远程URL获取路由加载器,它工作得很好。
文档非常清晰,当您查看示例时,您很容易自己构建一个文档。基本上,关键是:
::load()
方法。若你们遇到任何具体问题,不要犹豫,在评论中发表问题。基本上,您的路由器阅读器将在其load
方法中接收“resource”,并应尽其所能向路由器添加新的
Route
。
本文向大家介绍怎样动态加载路由?相关面试题,主要包含被问及怎样动态加载路由?时的应答技巧和注意事项,需要的朋友参考一下 vue-router的addRoutes方法
本文向大家介绍vue addRoutes路由动态加载操作,包括了vue addRoutes路由动态加载操作的使用技巧和注意事项,需要的朋友参考一下 需求:增加权限控制,实现不同角色显示不同的路由导航 思路:每次登陆后请求接口返回当前角色路由 核心方法:vue-router2.2.0的addRoutes方法 + vuex 以下是我实现的获取菜单路由的方法,我将该方法的调用放在首页组件的生命钩子中,即
问题内容: 如何从库本身中获取共享库的路径? 换句话说,假设使用来加载库X ,如何从库本身内部访问用于加载所述库的路径? 请注意,我不能首先将这个库加载到该库中。 更新: 这是使用静态变量的方法: 问题答案: 动态链接器实际上搜索几个位置以找到每个动态库。其中包括(来自man ld.so): 环境变量给定的路径 烘焙到二进制文件中的路径将加载条目下的库 缓存文件/etc/ld.so.cache /
问题内容: 我正在使用express在Node.js中做一个项目。这是我的目录结构: 该目录包含许多与API相关的JS文件。我需要做的是建立一个挂钩系统,每当从快速HTTP服务器请求一个API函数时,它就会执行相应的API处理程序中指定的任何操作。这可能令人困惑,但希望您能理解。 Larry通过POST发送请求以获取用户详细信息。 服务器查找以查找与该请求关联的功能。 服务器执行操作并将数据发送回
问题内容: 是否可以基于路由组动态加载控制器,js文件和模板?伪代码不起作用: 我已经看到了很多这样的问题,但是没有一个问题基于路由组加载js文件/控制器。 问题答案: 我设法解决了受@ calebboyd,http : //ify.io/lazy-loading-in-angularjs/ 和http://weblogs.asp.net/dwahlin/archive/2013/05/22/dy
问题内容: 我正在尝试为我的网站创建页面主题功能。我想使用单独的CSS文件在页面上动态加载相应的主题。 我正在使用此代码: 效果很好,但是如果CSS文件未加载,它不会返回任何信息。 加载时,有什么方法可以捕捉吗?也许通过使用ajax? 问题答案: 加载CSS文件(或其任何其他更改)时,Internet Explorer会触发一个事件。其他浏览器不会触发任何事件,因此您将必须手动检查样式表是否已加载