Creado por:
*Barrios Carolina
*Carrizales Andres
*Padron Kathiusca
*Rojas Tibisay
Introducción
Zend es conocido como “The PHP Company”. Zend podría considerarse el framework más popular de la actualidad. Posee propiedades importantes que están construidas para el desarrollo a nivel corporativo y requiere un gran conocimiento de PHP.
Es un framework de código abierto para realizar aplicaciones web y servicios web con php 5 está basado en programación orientada a objetos (POO), implementa el patrón MVC.
Framework
Es una estructura conceptual y tecnológica de soporte definido, normalmente con artefactos o módulos de software concretos, con base a la cual otro proyecto de software puede ser más fácilmente organizado y desarrollado. Típicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para así ayudar a desarrollar y unir los diferentes componentes de un proyecto.
Zend Framework
Es un framework de código abierto para realizar aplicaciones web y servicios web con php 5 está basado en programación orientada a objetos (POO), implementa el patrón MVC, sus componentes tienen un bajo acoplamiento por lo que los puedes usar en forma independiente. Un punto importante es que nos brinda un estándar de codificación que deberíamos seguir en nuestros proyectos. los componentes de la biblioteca estándar de Zend Framework conforman un potente y extensible framework de aplicaciones web al combinarse. Ofrece un gran rendimiento y una robusta implementación MVC, una abstración de base de datos fácil de usar, y un componente de formularios que implementa la prestación de formularios HTML.
Posee adapters para gran cantidad de tipos de bases de datos diferentes; brinda componentes para la autenticación y autorización de usuarios, envío de mails, cache en varios formatos, creación de web services, etc. Es simple, si tienes algo que hacer, seguramente ya lo tuvo que hacer alguien antes! Así que aprovecha eso para invertir menos tiempo en el desarrollo y hacer uso de componentes ya testeados.
Facilita el setup de nuestro proyecto brindándonos herramientas para crear la estructura de directorios, clases, etc. por línea de comandos, integración con phpUnit por medio de Zend_Test para facilitar el testing de nuestra aplicación.
Características
* Trabaja con MVC (Model View Controller)
* Cuenta con modulos para manejar archivos PDF, canales RSS, Web Services.
* El marco de Zend también incluye objetos de las diferentes bases de datos . por lo que es simples para consultar su base d datos.
* Acceso a base de datos que balancea el ORM con eficiencia y simplicidad.
* Completa documentación y tests de alta calidad
* Soporte avanzado para i18n (internacionalización.
* Buscador compatible con lucene.
Conclusión
Los frameworks PHP son una gran forma de reducir la necesidad de código repetitivo, acelerar el proceso de desarrollo y asegurar la codificación apropiada al crear aplicaciones web, tanto para desarrolladores avanzados como para principiantes. Si bien algunos expertos PHP no sienten la necesidad de utilizar frameworks al construir aplicaciones web, estos pueden resultar una ventaja a la hora de necesitar desarrollar rápidamente un proyecto. Y para los principiantes, los frameworks pueden mejorar el proceso de aprendizaje PHP, mientras promueven buenas prácticas de codificación. Existen una gran cantidad de frameworks dando vueltas por la red de redes actualmente. Sólo debes asegurarte de seleccionar el que mejor se adapte a tus necesidades.
Crear un Proyecto en Zend Framework
-
creo carpeta en www
-
creo servidor virtual que apunte alli
-
Zend Studio File > new Zend Framework Project
-
poner nombre
-
crear carpeta en www
-
project layout (default)
-
quedan creadas las carpetas automáticamente con su contenido
-
application/
-
configs/
-
controllers/
-
ErrorController.php
-
IndexController.php
-
models/
-
helpers/
-
scripts/
-
error/
-
index/
-
index.phtml
-
views/
-
Bootstrap.php
-
docs/
-
README.txt
-
library/
-
index.php
-
application/
-
library/
-
bootstrap.php
-
phpunit.xml
-
public/
-
Zend Framework Library/
-
tests/
-
Javascript Resources/
-
PHP IncludePath/
-
PHP Language Library/
application/configs/aplication.ini
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0
[staging : production]
[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1
application/controllers/ErrorController.php
class ErrorController extends Zend_Controller_Action
{
public function errorAction()
{
$errors = $this->_getParam('error_handler');
if (!$errors) {
$this->view->message = 'You have reached the error page';
return;
}
switch ($errors->type) {
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ROUTE:
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER:
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION:
// 404 error -- controller or action not found
$this->getResponse()->setHttpResponseCode(404);
$this->view->message = 'Page not found';
break;
default:
// application error
$this->getResponse()->setHttpResponseCode(500);
$this->view->message = 'Application error';
break;
}
// Log exception, if logger available
if ($log = $this->getLog()) {
$log->crit($this->view->message, $errors->exception);
}
// conditionally display exceptions
if ($this->getInvokeArg('displayExceptions') == true) {
$this->view->exception = $errors->exception;
}
$this->view->request = $errors->request;
}
public function getLog()
{
$bootstrap = $this->getInvokeArg('bootstrap');
if (!$bootstrap->hasResource('Log')) {
return false;
}
$log = $bootstrap->getResource('Log');
return $log;
}
}
application/controller/IndexController.php
class IndexController extends Zend_Controller_Action
{
public function init()
{
/* Initialize action controller here */
}
public function indexAction()
{
// action body
}
}
application/bootstrap.php
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
}
application/views/scripts/index/index.phtml
Welcome to the Zend Framework!
This is your project's main page
public/index.php
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
// Define application environment
defined('APPLICATION_ENV') || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library'),
get_include_path(),
)));
/** Zend_Application */
require_once 'Zend/Application.php';
// Create application, bootstrap, and run
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap()
->run();
Al ejecutar public/index.php obtenemos:

|
|
Agregar un comentario