Zend Framework

Zend Framework to narzędzie przeznaczone do tworzenia aplikacji internetowych w języku programowania PHP. Jest to technologia, która wciąż zdobywa coraz większą popularność wśród programistów. Zgodnie ze statystykami przedstawionymi przez serwis www.sitepoint.pl, Zend Framework zajmuje 8 miejsce pod zwględem popularności.

Zend Framework stanowi zbiór uniwersalnych bibliotek PHP, które są przeznaczone do tworzenia aplikacji. Głównymi powodami dla których to właśnie ten framework warto wybrać do swojego projektu, to:

  • znaczne usprawnienie procesu tworzenia aplikacji, rozwiązania jakie proponuje Zend Framework mogą wpłynąć w dużym stopniu na funkcjonalność tworzonej aplikacji czy też usprawnić sam proces tworzenia jej (jednak proces zapoznania się z tym frameworkiem może okazać się bardzo czasochłonny)
  • wystarczająco prosty sposób wdrażania wzorca MVC w tworzonych aplikacjach, sam framework zapewnia iterfejs komunikacji pomiędzy elementami poszczególnych warstw
  • dość duża swoboda pozostawiana programiście, Zend automatyzuje i usprawnia prace programistyczne, wyróżnia go fakt, że jest on nie tylko w pełni gotową strukturą aplikacji ale i zestawem powiązanych i swobodnie współpracujących ze sobą klas, oprócz tego powiązanie klas jest tak elastyczne, że pozostawia programiście swobodę w wyborze gotowych rozwiązań, które możliwe są do zastosowania w projekcie
  • obsługa technologii takich jak Ajax (ang. Asynchronous JavaScript and XML, technika tworzenia aplikacji internetowych w której interakcja użytkownika z serwerem odbywa się bez przeładowywania całego dokumentu w sposób asynchroniczny)
  • wsparcie dla usług sieciowych (ang. web services, realizowana programistycznie usługa świadczona poprzez sieć telekomunikacyjną a w tym sieć komputerową, jest to składnik oprogramowania niezależnym od platformy sprzętowej czy implementacji)
  • bardzo rozbudowana baza komponentów (komponenty można konfigurować pod względem tego, czy pozwalają one na rozszerzalność oraz współprace z innymi modułami)
  • dobrze przetestowana baza kodu.

Zend udostępnia programistom obszerną bazę pomocnicznych modułów i współpracujących ze sobą klas. Można je wykorzystywać w projektach w celu poszerzenia ich funkcjonalności. Są to przede wszystkim klasy modeli, kontrolerów czy klasa Bootstrap (umożliwia dopasowanie konfiguracji aplikacji do własnych potrzeb).

Standardowa aplikacja Zend Framework składa się z modeli, widoków i kontrolerów. Modele są klasami języka PHP, Kontrolery tak samo jak modele natomiast Widoki są domyślnie plikami z rozszerzeniem phtml.

Przykładowy kod w Zend Framework

Zend Framework Przykład #1

  <?php
  class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
  {
      protected function _initRequest()
      {
          // Ensure front controller instance is present, and fetch it
          $this->bootstrap('FrontController');
          $front = $this->getResource('FrontController');
  
          // Initialize the request object
          $request = new Zend_Controller_Request_Http();
          $request->setBaseUrl('/foo');
  
          // Add it to the front controller
          $front->setRequest($request);
  
          // Bootstrap will store this value in the 'request' key of its container
          return $request;
      }
  }
  ?>
  
Zend Framework Przykład #2

  <?php
  // Get a reference to the singleton instance of Zend_Auth
  $auth = Zend_Auth::getInstance();
  
  // Set up the authentication adapter
  $authAdapter = new MyAuthAdapter($username, $password);
  
  // Attempt authentication, saving the result
  $result = $auth->authenticate($authAdapter);
  
  if (!$result->isValid()) {
      // Authentication failed; print the reasons why
      foreach ($result->getMessages() as $message) {
          echo "$message\n";
      }
  } else {
      // Authentication succeeded; the identity ($username) is stored
      // in the session
      // $result->getIdentity() === $auth->getIdentity()
      // $result->getIdentity() === $username
  }
  ?>