2012-09-16 4 views
3

새로운 ZF2 튜토리얼 용으로 만들어진 앨범 예제를 따라했습니다. 첫 번째 모듈의 경우 모두 훌륭하게 작동했으며 애플리케이션에 사용하려는 데이터를 표시하도록 수정할 수있었습니다.ZF2, 다중 테이블 추가

제 문제는 두 번째 모듈을 추가하는 것입니다. 더 복잡한 것은 2+ 데이터 테이블을 관리하는 것입니다. 페이지에 갈 때마다 Apache 오류 페이지가 표시되는데 이는별로 도움이되지 않습니다. 내가 수정 한 유일한 주요 클래스는 두 번째 모듈의 모듈 인 Module.php입니다. 어쩌면 누군가 내 추측이 얼마나 틀린 지 알 수 있습니다.

모듈의 배경 :보기에는 육성 자와 자원 봉사자가 포함 된 4 가지 유형의 표가 표시됩니다. 각 모델과 표를 만들었습니다. 모두 내가 각 테이블 (FosterTable 및 VolTable)을 포함하도록 공장 설정을 수정 한 것을 제외하고는 꽤 괜찮은 것 같습니다. 내 실수가있을 수 있다고 생각합니까? 내가 양식이 페이지 일하고

는 : 나는 추가 내 컨트롤러에서 다음

namespace TeamMgr; 

use TeamMgr\Model\FosterTable; 
use TeamMgr\Model\VolTable; 

class Module 
{ 
public function getServiceConfig() 
    { 
     return array(
      'factories' => array(
       'TeamMgr\Model\VolTable' => function($sm) { 
        $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter'); 
        $table  = new VolTable($dbAdapter); 
        return $table; 
       }, 

       'TeamMgr\Model\FosterTable' => function($sm) { 
        $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter'); 
        $table  = new FosterTable($dbAdapter); 
        return $table; 
       }, 
      ), 
     ); 
    } 

    public function getConfig() 
    { 
     return include __DIR__ . '/config/module.config.php'; 
    } 
} 

: 그래서

public function indexAction(){ 
    return new ViewModel(array(
      'fosters'=>$this->getFosterTable()->fetchAll(), 
    )); 
    return new ViewModel(array(
      'vols'=>$this->getVolTable()->fetchAll(), 
    ));  

} 

방법을 완전히 해제 /TeamMgr/Module.php를 들어 http://framework.zend.com/manual/2.0/en/user-guide/database-and-models.html

을, 나는 다음과 같은 추가 내가?

답변

4

return 번을 두 번 이상 호출 할 수 없습니다. 함수의 실행은 첫 번째 return 호출로 종료되고 두 번째 호출은 절대로 호출되지 않습니다. 다음과 같이 작성해야합니다.

return new ViewModel(array(
     'fosters'=>$this->getFosterTable()->fetchAll(), 
     'vols'=>$this->getVolTable()->fetchAll(), 
)); 

기본 PHP입니다. 그래서 ZF를 배우기 전에 먼저 PHP를 배우는 것이 좋습니다. ZF는 일반 바닐라 PHP로 맛을 낸 사람이라도 매우 복잡합니다. 초보자를위한 더 나은 프레임 워크가 있습니다 (코드 점화 기, 코 하나 또는 cakephp와 같은) - 당신은 거기에서 시작해야합니다 ...