这似乎是与Symfony2有关的最可怕的话题,因为经过一周的搜索和测试,我仍然无法找到答案.
简而言之,我正在构建一个具有多个子域的应用程序,我想为所有这些子域提供不同的配置,同时从/ src共享多个bundle,更重要的是,导入中央配置和路由(以及每个应用程序自己的)
我开始创建个人/应用程序目录,AppKernal.php文件和引导程序文件.这个问题的主要问题在另一个问题中有详细说明,但没有得到答案(不是我责怪任何人TBH:D). Symfony2用于子域路由的多个配置和路由文件
我发现有关此事的讨论,Fabian甚至参与了这个:https://groups.google.com/forum/?fromgroups =#!topic / symfony-devs / yoojUuFiqw
这个讨论关于PR的github在2.2版本中提供支持(我听说仍然是6mo) https://github.com/symfony/symfony/pull/3378
那之前有没有人做过这件事?这个过程很容易解释吗?有没有可用的信息来帮助解决这个问题?
我几乎处于看似无法实现的阶段.对于一个被称为Symfony的系统,我觉得很奇怪,特别是当它出现时,Symfony1.4很容易做到这一点.
更新
谢谢你的回复.挑战在于,有一种层次的配置.这些配置反过来导入自己的routing.yml文件.
例如:域名http://testing.api.mydomain.com将包含以下配置:
config_api.yml - > config_testing.yml - > config_dev.yml - > config.yml
全部导入自己的routing.yml文件.但只加载了config_api.yml中的那个.似乎框架:router:config选项覆盖了其他配置文件中的先前用法,而不是扩展.
平心而论,应用代码的位置无关紧要.具有分层路由的分层配置似乎是gotacha.
干杯
Dam*_*ien 12
通过在多个内核中拆分代码,可以实现多个应用程序项目.
然后你可以受益:
我在这里介绍的全过程:http://jolicode.com/blog/multiple-applications-with-symfony2,你可以在这里找到一个例子分布:https://github.com/damienalexandre/symfony-standard
对不起,这是一个坏死的......
我只想说我已经研究过Symfony2的多种应用程序结构.从版本2.4开始,当路由支持基于主机名的路由时,不需要多个应用程序.
你现在需要做的是独立的"应用"到不同的包,说AcmeSiteBundle和AcmeApiBundle,然后在app/config/routing.yml:
acme_site:
host: "www.{domain}"
resource: "@AcmeSiteBundle/Resources/config/routing.yml"
prefix: /
defaults:
domain: "%domain%"
requirements:
domain: "%domain%"
acme_api:
host: "api.{domain}"
resource: "@AcmeApiBundle/Resources/config/routing.yml"
prefix: /
defaults:
domain: "%domain%"
requirements:
domain: "%domain%"
Run Code Online (Sandbox Code Playgroud)
记得要domain设置参数app/config/parameters.yml
parameters:
.....
domain: example.com
Run Code Online (Sandbox Code Playgroud)
您可以使用testing/Dev示例创建不同的配置:
步骤1 创建与子域名一样多的web/app.php文件.
web/app_subdomainx.php
Run Code Online (Sandbox Code Playgroud)
步骤2 在每个app_subdomain_X.php文件中更改配置:
$kernel = new AppKernel('subdomainx', false);
Run Code Online (Sandbox Code Playgroud)
步骤3 创建与您的环境匹配的配置文件
config_subdomainx.yml
security_subdomainx.yml
Run Code Online (Sandbox Code Playgroud)
第4步
通过访问您的特定域名
/web/app_subdomainx.php
PS:
保持config.yml用于常见配置(如数据库连接)并将config.yml包含到config_subdomainx.yml中
imports:
- { resource: config.yml }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8090 次 |
| 最近记录: |