2012-03-26 5 views
0

Cake PHP를 사용하여 매우 MVC 방식으로 작성한 응용 프로그램이 있습니다. 이제 응용 프로그램 내에서 쉘 스크립트를 실행해야합니다. Cake PHP는 쉘 스크립트를 실행하는 방법을 제공합니까? 나는. 이 일을하기 위해 무엇인가 내장되어 있습니까? 나는 CakePHP 2를 사용하고있다.Cake PHP에서 쉘 스크립트 실행

많은 감사 :).

답변

10

예. 응용 프로그램 내에서 수동으로 쉘 스크립트를 쉽게 실행할 수 있습니다. 2.X에서 이 1.3 등의보다 쉽게 ​​:

App::uses('MyShell', 'Console/Command'); 
$this->My = new MyShell(); 
$this->My->myMethod(); 

내가 테스트 케이스 내부에 쓰기 껍질을 테스트하는 데 사용합니다. 하지만 그것은 또한 애플 리케이션 내에서 작동합니다 :

작업과 비슷합니다. 컨트롤러/모델 레벨에서 직접 특정 설정으로 코어의 ExtractTask를 실행하기 위해 TranslatePlugin에서 사용합니다.

특정 셸 스크립트가있는 경우 일부 ConsoleOutput 클래스를 추가/전달해야 할 수도 있음을 알아 두십시오. 가능한 경우 코드를 작업 (셸이 아닌!)으로 옮기는 것이 좋습니다. 더 나아가서는 Lib 또는 쉘과 일반 앱 코드 모두에서 디스패치 할 수있는 다른 일반 파일로 이동하십시오. 이것은이 주제에 대해 가장 깨끗한 접근법이 될 것입니다.

+0

내가 뭘 찾고 있었는지 :). 고맙습니다. – ale

+0

감사합니다. CakePHP Queue 플러그인을 사용하고 Task를 테스트하고 싶은 사람은 App :: uses ('QueueMyTask', 'Plugin/Queue/Console/Command/Task'); –

0

아니요, 아니요. 쉘 스크립트는 - 이름에서 알 수 있듯이 - 앱에서가 아니라 셸에서 실행되도록 의도 된 것입니다.

비록 개발자가 this question에 대한 deizel의 답변에서 귀하의 응용 프로그램과 쉘을 상호 작용하게 만들 수있는 몇 가지 방법이 있습니다.

관련 문제