>  기사  >  php教程  >  Zend Framework 입문 지식 포인트 요약

Zend Framework 입문 지식 포인트 요약

高洛峰
高洛峰원래의
2017-01-05 10:54:261416검색

이 글은 Zend Framework의 입문 지식 포인트를 요약하고 분석한 것입니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

zend 프레임워크는 MVC 패턴을 구현한 것입니다. 빠르게 시작하려면 Zend_Controller Zend_View 부분을 살펴보세요.

1.Zend_Controller 부분. 가장 중요한 클래스는 Zend_Controller_Front입니다. 이를 사용하는 클래식 코드는 매우 간단합니다.

$front=Zend_Controller_Front::getInstance();
$front-> setControllerDirectory("./app/controllers");
$front->dispatch();

여기서 설명해야 할 것은 Zend_Controller_Front를 얻기 위해 new를 사용할 수 없다는 것입니다. 인스턴스를 반환합니다(내 zend_framework 1.01이 사용됨). 여기서 지정한 컨트롤러 디렉터리는 www 문서 루트 디렉터리 아래의 app 폴더 아래에 있습니다. 일반적으로 앱을 문서 루트 디렉터리에 배치하면 안 됩니다. 소위 보안 문제입니다. 구성이 엄격하지 않으면 www 문서 루트 디렉터리의 파일이 방문자에게 표시될 수 있습니다. 일반적으로 다른 디렉토리에 배치해야 합니다. 예를 들어 문서 루트 디렉토리와 동일한 수준에 배치하는 경우

$front->setControllerDirectory("../app/controllers")

추가로 "."가 있습니다. 여기에는 상대 경로가 사용됩니다. 전체 경로 이름을 사용하여 다른 디렉터리를 지정할 수 있습니다. 예:

$front->setControllerDirectory("E: /server/app/controllers")

이 부분이 색인에 포함됩니다. PHP에서. 올바른 구성에서 모든 요청은 재작성 기능에 의해 프런트엔드 컨트롤러 Zend_Controller_Front 인스턴스인 이 $front로 리디렉션됩니다. 모든 인증 및 기타 처리는 발송 전에 처리되어야 합니다.

2. Zend_View 공통코드는

$view=new Zend_View();
Zend_Registry::set("view".$view);

Zend_Framework에서 권장하는 디렉토리 구조를 기본으로 채택하고 있습니다. 컨트롤러 모델은 모두 응용 프로그램 디렉터리에 있습니다. 보기 아래에는 scrīpts 도우미 필터라는 세 가지 형제 디렉터리가 있습니다. 이런 방식으로 컨트롤러를 정의할 때 컨트롤러에 종속된 템플릿을 저장하기 위해 스크립트 아래에 새 디렉터리를 만들어야 합니다. 예를 들어, 간단한

Class IndexController extends Zend_Controller_Action
{
 function IndexAction()
 {
 }
}

의 경우 그에 따라 인덱스 디렉터리를 만들고 인덱스 디렉터리에 index.phtml 템플릿을 만들어야 합니다. IndexController 아래에 다른 함수 addAction()을 생성하는 경우 index에 새 add.phtml을 생성해야 합니다. 다른 UserController가 있는 경우 스크립트 아래에 해당 사용자 디렉터리가 있어야 합니다. 이러한 *.phtml 파일은 html 파일과 유사하며 출력하는 콘텐츠가 표시되는 방식을 정의합니다. 그냥 비워두시면 됩니다. 하지만 생략할 수 없습니다. 그렇지 않으면 잘못된 컨트롤러에 "오류" 메시지가 표시됩니다. 이는 기본 ErrorController가 이미 등록되었기 때문입니다. 프런트엔드 컨트롤러가 해당 컨트롤러 배포를 찾을 수 없으면 기본 ErrorController가 호출됩니다.

때로는 기본 디렉토리 구조나 기본 phtml 유형 보기 템플릿을 사용하고 싶지 않을 때가 있습니다. 이때

$view->setParam ("noViewRanderer",true);

을 사용하여 기본 phtml 유형 디렉터리 설정을 취소할 수 있습니다. 기본 ErrorController를 작성하려면

$view->setParam ("noErrorHandler",true);

을 사용하세요. 템플릿 위치를 설정하려면

$view->setscrīptPath ("./app/views");

을 사용하세요. 이는 스마트한 템플릿을 사용할 때 유용합니다.

은 다음과 같이 작성할 수 있습니다.

$view=new Zend_View_Smarty();
$view->setParam("noViewRanderer",true);
$view->setParam("noErrorHandler",true);
$view->setscrīptPath("./app/views");
Zend_Registry::set("view".$view);

은 다음을 사용하여 다음과 같이 얻을 수 있습니다.

$view=Zend_Registry::get("view");

3. 모델을 처음 접하면 간단히 데이터 객체로 이해하면 되는데, 일반적으로 Zend_Db_Table 클래스를 직접 상속받는 경우가 많습니다. 매우 잘 캡슐화되어 있으며 일반적으로 사용하기에 충분합니다.

class data extends Zend_Db_Table
{
 protected $_name="data";
}

테이블 이름만 지정하면 됩니다. 물론 명시적으로 지정할 필요는 없습니다. 이 경우 zendf는 기본적으로 클래스 이름을 사용하여 데이터베이스에서 테이블을 검색합니다. Zend_Db_Table에 대해 defaultAdapter를 지정하는 것을 잊지 마세요:

$config = new Zend_Config_Ini('./application/config.ini', 'general');
$db = Zend_Db::factory($config->db->adapter, $config->db->config->toArray());
Zend_Db_Table::setDefaultAdapter($db);

config.ini는 [general]

db.adapter = PDO_MYSQL
db.config.host = localhost
db.config.username = rob
db.config.password = 123456
db.config.dbname = zftest

과 유사합니다. 이 기사에서는 Zend Framework 프레임워크를 기반으로 PHP 프로그램을 설계하는 것이 모든 사람에게 도움이 될 것이라고 설명합니다.

Zend Framework 입문 지식 포인트와 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.