첫 장
Zend Framework에 대한 입문 튜토리얼일 뿐만 아니라 ZF 애플리케이션 수준에 대한 심층적인 해석도 제공합니다. 즐거운 학습 과정이 되길 바랍니다.
1. PHP의 개발 현황 - 프로세스 지향과 객체 지향
PHP의 개발은 2000년경 PHP3.0의 인기에서 한때 침체에 빠진 PHP까지 순조롭게 진행되지 않았습니다. 2005년을 저점으로 PHP의 현재 상황이 다시 상승하면서 PHP는 우여곡절을 겪었습니다. PHP 5.0부터 객체지향 기능이 완성되는 경향이 있으며, Zend Framework의 출시는 Zend가 엔터프라이즈 개발 시장에 진출하려는 의지와 야망을 보여줍니다.
PHP 4.0 이전에는 프로세스 중심 개발이 주를 이루었고 코드에는 수많은 시스템 함수와 사용자 정의 함수가 포함되어 있었습니다. 그러나 PHP5.0이 클래스와 개체에 대한 지원을 충분히 고려했음에도 불구하고 대부분의 프로그래머는 실제로 코드에서 개체를 많이 사용하지 않습니다. 프로그래머는 여전히 ASP와 같은 구조화된 프로세스 지향 코드를 작성하는 데 익숙합니다. 모든 사람이 객체 지향의 이점을 완전히 활용하지 못했습니다.
2. 프레임워크의 개념
프레임워크는 여러 애플리케이션에서 사용할 수 있는 디자인을 제공하는 것입니다. 클래스와 데이터베이스 간의 인터페이스, 일부 프로그램 논리, 애플리케이션이 사용자에게 제공하는 콘텐츠 등과 같이 모든 애플리케이션에 공통된 기본 사항이 많이 있습니다. 많은 PHP 애플리케이션을 작성해 본 적이 있다면 이것이 무엇인지 알 것입니다. 데이터베이스에서 데이터를 읽거나 쓰는 함수 세트를 작성했을 수도 있고 Smarty와 같은 템플릿 엔진을 사용했을 수도 있습니다. 많은 애플리케이션을 작성했다면 아마도 동일한 작업을 반복해서 수행했을 것입니다. 때때로 한 애플리케이션의 코드가 복사되어 다른 애플리케이션에 붙여넣어집니다.
프레임워크는 이러한 일반적인 작업(데이터베이스 상호 작용, 프레젠테이션 레이어, 애플리케이션 로직)에 대한 구조를 제공하도록 특별히 설계되었으므로 프로그래머는 데이터베이스 인터페이스 코드 또는 프레젠테이션 레이어 인터페이스를 작성하는 데 소요되는 시간을 줄이고 더 많은 시간과 노력을 쏟을 수 있습니다. 애플리케이션 자체의 비즈니스 로직을 작성합니다. 이런 방식으로 애플리케이션을 분해하는 것을 MVC(Model-View-Controller) 아키텍처라고 합니다. 모델은 데이터를 참조하고, 뷰는 프리젠테이션 계층을 참조하며, 컨트롤러는 애플리케이션 로직 또는 비즈니스 로직을 참조합니다. (MVC의 구체적인 개념과 설명은 온라인에서 검색할 수 있습니다.)
3. 프레임워크 선택 - 엔터프라이즈 개발 시장 진출: Zend Framework(약칭 ZF)
거의 모든 언어에는 여러 가지 프레임워크가 있습니다. 비즈니스 요구 사항에 딱 맞는 프레임워크를 선택하는 것이 다소 어려울 수 있지만, 프레임워크를 선택할 때 최대한 많은 시간과 노력을 절약할 수 있도록 요청해야 합니다. 프레임워크가 매우 잘 작동하지만 지원 비용이 많이 들거나 지원하기 쉽다고 하더라도 긍정적인 보조 개발 효과보다 부정적인 효과가 더 많은 경우에는 좋은 프레임워크가 아닙니다. 프레임워크가 매우 "우아"하지만 지원 및 개발에 빈번한 문제가 있는 경우 프레임워크는 쓸모가 없습니다.
프레임워크를 선택할 때 고객, 프로그래머 및 관련된 모든 사람의 의견을 고려하세요. 그리고 평가할 때 다양한 영향을 고려하세요. 또한 프레임워크가 실제로 필요한지 확인하려면 프로젝트 요구 사항을 추가로 고려해야 합니다. 프레임워크는 필수가 아니며, 프레임워크를 사용하지 않고도 애플리케이션을 프로그래밍하는 것이 전적으로 가능합니다.
고려해야 할 점: 프레임워크가 프로젝트에 도움이 될까요? 모든 사람의 시간과 에너지를 절약할 수 있을까요? 애플리케이션이 프레임워크에서 더 잘 수행됩니까? …모든 대답이 '아니오'라면 프레임워크를 사용하는 것은 상황을 복잡하게 만들 뿐입니다.
현재 Zend 프레임워크, CodeIgniter, Symfony, CakePHP, FleaPHP 등 인기 있고 널리 사용되는 PHP 프레임워크가 많이 있습니다. 프레임워크를 배우는 것은 개인 취향에 따라 다를 수 있지만 개발 전망과 인기를 고려하여 Zend Company에서 개발한 프레임워크인 Zend Framework를 선택했습니다. 가장 큰 이유는 ZF가 유명한 가문 출신이고 실제 직계 친척이기 때문입니다. . 또한 ZF는 현재 인기 있는 RoR(Ruby On Rail)과 설계 면에서 많은 유사점을 가지고 있습니다. ZF를 학습하면 향후 RoR 개발에도 도움이 될 수 있습니다.
4. ZF 학습에 필요한 소프트웨어 및 권장 환경
모든 소프트웨어 학습(및 개발)은 환경 설정과 소프트웨어 설치부터 시작됩니다. 이번에도 예외는 아닙니다. 이러한 작업은 종종 시스템 관리자의 작업이지만 프로그래머로서 이러한 작업을 직접 수행하고 소프트웨어의 환경 구성 및 구성에 익숙해지면 프로그램 개발에 큰 이점을 가져올 수 있습니다. 코드.
과거와 달라진 점은 오픈 소스 환경에서 작업하기 때문에 소프트웨어 소스를 인터넷에서 다운로드한다는 점입니다. PHP는 "LAMP"(linux, Apache, MySQL, PHP)의 일원이지만 학습하고 개발할 때 일반적으로 Windows에서 수행하는 데 사용됩니다. 그 이유는 Windows가 사용하기 쉽고 Windows에서 개발되기 때문입니다. Linux에서 배포하면 다른 OS에서 코드의 성능을 확인할 수 있습니다.
ZF 학습은 Apache 환경에서 수행하는 것이 좋습니다. 그 이유는 나중에 자세히 설명하겠습니다. Apache에서 디버깅한 후 IIS에서 테스트할 수 있습니다. IIS에는 추가 구성도 필요하며 이에 대해서는 나중에 자세히 설명합니다. 또한 IIS보다는 Apache에서 실제 소프트웨어 프로젝트를 개발하고 배포하는 것이 좋습니다.
5, 필수 소프트웨어:
Windows Server2003+SP2
Windows용 mySQL: 일반적으로 Windows와 동일한 시스템에 설치됩니다. 동일한 머신에 있을 필요는 없으며 Linux용 mySQL일 수도 있습니다. 다운로드 주소: http://www.mysql.cn.
Windows용 Apache: 현재 Apache 버전은 2.2 이상입니다. 다운로드 주소: http://httpd.apache.org.
PHP 및 관련 소프트웨어: 이 튜토리얼에서는 PHP-5.2.5를 사용합니다. ZendOptimizer-3.2.6-Windows-i386.exe가 설치되었습니다. 다운로드 주소: http://www.php.net/downloads.php.
Zend Framework: Zend Framework에는 PHP 버전 5.1.4 이상이 필요하며, 버전 5.2.2 이상을 권장합니다. 1.5.2는 ZF의 최신 버전입니다. 내 튜토리얼은 ZF1.5.1을 기반으로 하므로 ZF1.5.2와 크게 다르지 않습니다. 다운로드 주소 : http://framework.zend.com
위 내용은 Zend Framework 프로그래밍 1(초기)의 내용이며, 기타 관련 글은 PHP 중국어를 참고하시기 바랍니다. 홈페이지(www.php.cn)!