태그 게시물 : INI

빠른 시작 Symfony DI (종속성 주입) 자습서

에 의해 , 토요일 2010년 8월 14일 오후 2시 21분

무엇인가 종속성 주입 (DI)는?

종속성 주입은 소프트웨어 응용 프로그램 내에서 느슨하게 결합된 개체에 대해 허용하는 기법입니다. 개체가 내부적으로 밀접하게 결합된 시스템을 선도하는 인스턴스 될 또 다른의 기능에 액세스해야하는 경우 일반적으로. 종속성 주입을 구현함으로써 우리는 (- IOC 또한 때로는 제어 역전 함)를 사용하여 준비가 필요한 개체를 삽입. 다음 예제를보세요 :

  <? PHP
 수업 DecisionMaker {
     공용 함수 makeDecision (배열 $ 매개 변수) {
         / /이 데이터베이스 어댑터를 필요
         $ DP = 새로운 DecisionParameters ();
         $는 parameterScore = $ DP -> getScore ($ 변수);
         / * ...  좀 더 결정 논리 ...  * /
         수익 ($> 50 parameterScore);
     }
 } 

코드의이 부분은 ​​단단히 DecisionParameters 개체에 결합이라고합니다. 우리가 같은 것을했을 느슨하게 결합된 방식으로 위의을 고쳐 쓰고 ....

  <? PHP
 수업 DecisionMaker {
     개인 $ _dp;
     공개 기능 __construct ($ DP) {
         $이 -> _dp = $ DP;
     }
     공용 함수 makeDecision (배열 $ 매개 변수) {
         $는 parameterScore = $이 -> _dp -> getScore ($ 변수);
         / * ...  좀 더 결정 논리 ...  * /
         수익 ($> 50 parameterScore);
     }
 } 

우리가 때마다 개체가 우리가 또한 종속성의 인스턴스를 너무 이러한 통과해야 인스턴스 그러한 복잡성을 추가하는 느슨하게 결합된 코드의 이점을 얻는 반면. 예를 들어,이 :

  $ 선택 = 새로운 DecisionMaker ();
 에코 $ 선택 -> makeDecision (배열 ( '노력'=> '낮음', '리턴'=> '고급')); 

지금됩니다 :

  $ DP = 새로운 DecisionParameters ();
 $ 선택 = 새로운 DecisionMaker ($ DP);
 에코 $ 선택 -> makeDecision (배열 ( '노력'=> '낮음', '리턴'=> '고급')); 

이러한 상황은 클래스에 대한 의존성의 숫자가 증가로 더욱 슬픈건되고, 무엇을 자신이 의존성을 가지고 의존성면? 이것은 매우 신속하게 개체 관리 악몽이 될 수 있습니다! 의존성 주입 컨테이너 (또는 프레임 워크를) 입력 ...
독서 '빠른 시작 Symfony DI (종속성 주입) 튜토리얼'을 계속»

사용자 정의 컨트롤러 / 행동 sitemap.xml에 대한 경로 요청

에 의해 2010 12시 13분 오전 수요일 1월 6일

/에 대한 직접적인 요청하기 위해서는 sitemap.xml의 사용자에서 사용자 지정 컨트롤러와 액션에 젠드 프레임 워크 응용 프로그램을 간단하게 (예 : 나는 navigation.ini 사용)하여 application.ini 또는 다른 구성 파일에 다음을 추가 :

 resources.router.routes.sitemap.route는 = "sitemap.xml에"
 resources.router.routes.sitemap.defaults.controller = 인덱스
 resources.router.routes.sitemap.defaults.action = 사이트맵

출력에 대한 예제 코드는 해당 컨트롤러 (내 Sitemap 색인 컨트롤러 사이트맵 액션에있다 예)의 동작을 만들어 볼 수 있습니다 :

 < PHP
 수업 IndexController
     Zend_Controller_Action를 확장
 {
     / **
      * Zend_Navigation 설정에 따라 사이트맵 찔려서
      * /
     공용 함수 sitemapAction ()
     {
    	 에코 $이 ->보기 -> 탐색 () -> 사이트맵 ();
    	 $이 ->보기 -> 레이아웃 () -> disableLayout ();
    	 $이 -> _helper -> viewRenderer -> setNoRender (TRUE);
     }
 }

사이트맵가 신속하고 간편하게 사용하여 생성할 수 있습니다 Zend_Navigation을 , 좋은 빠른 튜토리얼 (그리고 젠드 프레임 워크 튜토리얼 일반적으로 매우 유용)입니다 젠드은 기초가 - 동적 Sitemap 및 빵부스러기를 메뉴를 만들기 .













파노라마 테마로 Themocracy

7 방문자 온라인 지금
1 인용, 6 봇, 0 회원
최대 방문자 오늘 : 6시 43분에서 15 세계 협정시 오전
이번 달 : 19-08-2011 6시 9분에서 19 세계 협정시 오전
올해 : 28-03-2011 세계 협정시 오후 10시 40분시 130
모든 시간 : 28-03-2011 세계 협정시 오후 10시 40분시 130