Zend Framework 입문 지식 포인트 요약

高洛峰
풀어 주다: 2023-03-04 10:42:01
원래의
1233명이 탐색했습니다.

이 글은 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는 인스턴스를 반환하기 위해 getInstance 메서드만 호출할 수 있습니다(제 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(&#39;./application/config.ini&#39;, &#39;general&#39;);
$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 중국어 웹사이트를 주목하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿