2012-06-29 2 views
4

심포니 2 앱의 config.yml에서 "web"폴더에 어떻게 액세스합니까? % web %, % base_dir %, % asset_dir % 시도하고 벽돌 벽으로 실행 중입니다.심포니 2의 config.yml에서 "web"폴더에 어떻게 액세스 할 수 있습니까?

+0

왜 이렇게해야합니까? config.yml에서 웹 디렉토리에 액세스하는 것이 올바른 방법이라고 생각하지 않습니다. –

+0

내 번들에서 jquery에 대한 로컬 경로를 구성 할 수있게하려고합니다 : 로컬 경로 : '% web %/bundles/mybundle/js/jquery-1.7.2.min.js' 다음과 같이하면됩니다. 로컬 경로 : '% base_url %/web/bundles/mybundle/js/jquery-1.7.2.min.js' – Purplefish32

답변

1

나뭇 가지의 asset() 함수를 사용하여 웹 디렉토리의 리소스에 액세스 할 수 있습니다.

<script src="{{ asset('bundles/yourbundle/js/jquery-1.7.2.min.js') }}" type="text/javascript"></script> 

자세한 내용은 http://symfony.com/doc/current/book/templating.html#linking-to-assets을 참조하십시오.

config/parameters 파일에 로컬 경로를 설정하지 않고 모든 것을 가능한 동적으로 유지하려고 할 것입니다.

+0

내가 config.yml 파일에서이 작업을 수행 할 때 찾고있는 대답이 아닙니다. ,하지만 난 당신의 대답을 받아 들일 것 "config/parameters 파일에 로컬 경로 설정을 피하십시오"부분. 감사합니다. – Purplefish32

+0

사실 JQuery를 로컬에 포함하면 안됩니다. 대신 https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js를 사용할 수 있습니다. –

14

config.yml에는 %kernel.root_dir%/../web을 사용할 수 있습니다.

당신은 편리한 바로 가기를 원하는 경우에 parameters.ini 당신이 좋아하는 무언가를 정의 할 수 있습니다

web_dir = %kernel.root_dir%/../web 

그런 config.yml 당신이 %web_dir%을 사용합니다. 심포니 3.3에서

0

, 우리는 변화와 단순화를 많이 도입하고하는 것은 이러한 변화 중 일부는 기술적으로 사소한하지만이 11 월 2017 년에

열린다 매혹적인 심포니 4.0 릴리스를 위해 우리를 준비하는 귀하의 응용 프로그램에서 심오한 효과. Symfony 응용 프로그램에서는 Kernel 클래스의 잘 알려진 getRootDir() 메서드와 해당 kernel.root_dir 매개 변수가 잘못된 것입니다.

응용 프로그램 커널 (일반적으로 AppKernel.php)이 저장된 경로를 반환합니다. Symfony 2와 3에서는 일반적으로 app/디렉토리이므로 % kernel.root_dir %/../var/또는 % kernel.root_dir %/../web /와 같은 표현식을 사용하는 것이 일반적입니다. Symfony 4에서는 커널 클래스가 src/디렉토리로 옮겨 졌으므로 이전 표현은 깨지지 않습니다.

그러나 getRootDir()을 사용하여 프로젝트 루트 디렉토리를 가져 오는 경우 Symfony 3.3에서는 getProjectDir()이라는 새로운 클래스를 Kernel 클래스에 추가하기로 결정했습니다. .

이 새로운 방법은 커널이 저장된 디렉토리에서 시작하여 composer.json이 발견 될 때까지 올라가는 composer.json 파일이있는 첫 번째 디렉토리를 찾아서 프로젝트 루트 디렉토리를 찾습니다.

실제로 이것은 응용 프로그램이 % kernel.root_dir %를 사용하는 대부분 또는 모든 표현식을 단순화 할 수 있음을 의미합니다. 예 : % kernel.root_dir %/../web/대신 % kernel.project_dir %/web /를 사용하십시오.

에서 :New in Symfony 3.3: A simpler way to get the project root directory

관련 문제