2015-08-13 3 views
2

Я пытался найти, как я могу переименовать папку приложения в Symfony 2, но я ничего не мог найти. Я думаю, что это возможно, но я не знаю, как это сделать.Переименовать папку приложения в Symfony2

Может кто-нибудь мне помочь?

+0

Я переименовал все «приложение» к «ядру» в app.php и app_dev.php. Когда я запускаю сервер, я получаю «Файл» D: /wolendev/app/config/config_dev.yml ». –

ответ

3

Просмотрите ваш файл composer.json. В частности:

"extra": { 
    "symfony-app-dir": "app", 
    "symfony-web-dir": "web", 
    "symfony-assets-install": "relative", 
    "incenteev-parameters": { 
     "file": "app/config/parameters.yml" 
    } 
} 

Изменение symfony-app-dir к значению, которое вы хотите. Вам также придется изменить путь на incenteev-parameters.file и любые другие пути, которые могут явно нацеливаться на каталог app.

Затем вам нужно будет изменить некоторые пути в ваших web/app.php и web/app_dev.php файлах соответственно. Например:

<?php 

use Symfony\Component\ClassLoader\ApcClassLoader; 
use Symfony\Component\HttpFoundation\Request; 

$loader = require_once __DIR__.'/../apps/bootstrap.php.cache'; 

// Enable APC for autoloading to improve performance. 
// You should change the ApcClassLoader first argument to a unique prefix 
// in order to prevent cache key conflicts with other applications 
// also using APC. 
/* 
$apcLoader = new ApcClassLoader(sha1(__FILE__), $loader); 
$loader->unregister(); 
$apcLoader->register(true); 
*/ 

require_once __DIR__.'/../apps/AppKernel.php'; 
//require_once __DIR__.'/../apps/AppCache.php'; 

$kernel = new AppKernel('prod', false); 
$kernel->loadClassCache(); 
//$kernel = new AppCache($kernel); 

// When using the HttpCache, you need to call the method in your front controller instead of relying on the configuration parameter 
//Request::enableHttpMethodParameterOverride(); 
$request = Request::createFromGlobals(); 
$response = $kernel->handle($request); 
$response->send(); 
$kernel->terminate($request, $response); 

В $loader и require_once пути будет меняться. Я предполагаю, что кэш может быть чистым, и может потребоваться обновление композитора.

Тогда он должен хорошо работать. В документации обсуждается overriding the default file structure, но он ничего не говорит о директории app. Тем не менее, я сделал быстрый тест здесь, и, похоже, он работает отлично. YMMV!

Надеется, что это помогает :)

+0

Спасибо, он отлично работает: D. –

+0

@Wolen no problem! Я обновил ответ там, так что может быть некоторые детали, которые могут помочь. –

Смежные вопросы