|
|
Hay dos caminos para empezar con
Zend_Application
, y dependen de cómo inicia su
proyecto. En cada caso, siempre se comienza con la creación de
la
clase
Bootstrap
, y un archivo de configuración asociado.
Si se planea utilizar
Zend_Tool
para crear su
proyecto, continúe leyendo. Si va añadir
Zend_Application
a un proyecto existente,
debe
ir aquí
.
La forma más rápida para comenzar a utilizar
Zend_Application
es usar
Zend_Tool
para generar su proyecto.
Esto también creará su clase y archivo
Bootstrap
.
Para crear un proyecto, ejecute el comando zf (en sistemas *nix):
% zf create project newproject
O el comando zf.bat en Windows:
C:> zf.bat create project newproject
Ambos crearán una estructura del proyecto que se parece a lo siguiente:
newproject
|-- application
| |-- Bootstrap.php
| |-- configs
| | `-- application.ini
| |-- controllers
| | |-- ErrorController.php
| | `-- IndexController.php
| |-- models
| `-- views
| |-- helpers
| `-- scripts
| |-- error
| | `-- error.phtml
| `-- index
| `-- index.phtml
|-- library
|-- public
| `-- index.php
`-- tests
|-- application
| `-- bootstrap.php
|-- library
| `-- bootstrap.php
`-- phpunit.xml
En el diagrama anterior, su bootstrap se encuentra en newproject/application/Bootstrap.php , y al principio se vería así:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{}
También notará que se ha creado un archivo de configuración, newproject/application/configs/application.ini . Con el siguiente contenido:
[production] phpSettings.display_startup_errors = 0 phpSettings.display_errors = 0 includePaths.library = APPLICATION_PATH "/../library" bootstrap.path = APPLICATION_PATH "/Bootstrap.php" bootstrap.class = "Bootstrap" resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" [staging : production] [testing : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 [development : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1
Todos las opciones en este archivo de configuración son para
su uso con
Zend_Application
y su bootstrap.
Otro archivo de interés es
newproject/public/index.php
,
el cual invoca a
Zend_Application
y lo envía.
bootstrap()
->run();
Para continuar con el inicio rápido, por favor vaya a la sección de Recursos .
Los fundamentos de
Zend_Application
son bastante simples:
Crear un archivo
application/Bootstrap.php
, con la
clase
Bootstrap
.
Crear un archivo de configuración
application/configs/application.ini
con la configuración básica necesaria para
Zend_Application
.
Modificar su
public/index.php
para usar
Zend_Application
.
Primero, genere su clase
Bootstrap
. Crear un archivo,
application/Bootstrap.php
, con el siguiente contenido:
Ahora, debe crear su configuración. Para este tutorial, usaremos
una configuración de
estilo
INI
; puede, por supuesto,
usar un archivo de configuración
XML
o
PHP
. Cree el archivo
application/configs/application.ini
, proporcionando
el siguiente contenido.
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
[staging : production]
[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
Ahora, modifiquemos su script de entrada (gateway),
public/index.php
. Si el archivo no existe, cree uno;
de lo contrario, sustitúyalo por el siguiente
contenido:
bootstrap()
->run();
Se puede observar que el valor constante del entorno de la aplicación
busca una variable
de entorno "APPLICATION_ENV".
Recomendamos este ajuste en el entorno de su servidor web.
En Apache, puede también configurarlo en la definición de su vhost,
o en su archivo
.htaccess
. Recomendamos el siguiente
contenido para su archivo
public/.htaccess
:
SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Nota: Más información sobre mod_rewrite
Las reglas de reescritura le permitin reescribir el acceso a
cualquier archivo en la raíz de los documentos web de su host virtual.
Si hay archivos que no desea que esten expuestos y desea ocualtarlos, puedes
ser mas restrictivo en tus reglas
Ir a la página web de Apache
» para obtener más información acerca de about mod_rewrite
.
En este punto, está listo para comenzar a usar las ventajas de
Zend_Application
.
Si ha seguido las instrucciones anteriores, entonces su clase de arranque estará utilizando un controlador frontal (front controller), y cuando se ejecute, enviará el controlador frontal (front controller). Sin embargo, con toda probabilidad, necesitará un poco más de configuración que ésta.
En esta sección, veremos como añadir dos recursos a su aplicación. En primer lugar, estableceremos los layouts, y luego vamos a personalizar sus objetos de la vista.
Uno de los recursos estándar provistos con
Zend_Application
es el recurso "layout".
Este recurso espera que definas valores de configuración, los
que
entonces utilizará para configurar su instancia
Zend_Layout
.
Para usarlo, todo lo que tenemos que hacer es actualizar el archivo de configuración.
[production] phpSettings.display_startup_errors = 0 phpSettings.display_errors = 0 bootstrap.path = APPLICATION_PATH "/Bootstrap.php" bootstrap.class = "Bootstrap" resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" ; ADD THE FOLLOWING LINES resources.layout.layout = "layout" resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts" [staging : production] [testing : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 [development : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1
Si hasta ahora no lo ha hecho, genere el directorio application/layouts/scripts/ , y el archivo layout.phtml dentro de ese directorio. Un buen layout inicial es como sigue (y vincularlo con los recursos de la vista que cubriremos a continuación):
doctype() ?>
headTitle() ?>
headLink() ?>
headStyle() ?>
headScript() ?>
layout()->content ?>
En este punto, usted tendrá un layout ya trabajando.
Ahora, vamos añadir una vista de recurso personalizada.
Cuando se inicializa la vista,
queremos establecer el DocType
HTML
y un valor predeterminado del título para utilizarlo en la cabecera
de
HTML
. Esto puede llevarse a cabo editando su clase
Bootstrap
para agregar un método.
doctype('XHTML1_STRICT');
$view->headTitle('My First Zend Framework Application');
// Añadir al ViewRenderer
$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper(
'ViewRenderer'
);
$viewRenderer->setView($view);
// Retorno, de modo que pueda ser almacenada en el arranque (bootstrap)
return $view;
}
}
Este método se ejecuta automáticamente cuando arranca la aplicación, y se asegurará que su vista sea inicializada según las necesidades de su aplicación.
Con lo anterior debería poder comenzar con
Zend_Application
y con la creación del bootstrap de su aplicación. De aquí, usted debe comenzar a
crear
sus métodos de recursos, o para la máxima re-usabilidad,
clases de recursos de plugin. Y
seguir leyendo para aprender más!
|
|
Copyright © 2005-2011 Zend Technologies Inc (compiled by mikaelkael with ZFDocumentor - SVN 20189).

