# Ejemplos

Ejemplo #1 Distribución clásica del directorio Application

    - index.php
    - .htaccess
    + conf
      |- application.ini //configuración de la aplicación
    - application/
      - Bootstrap.php
      + controllers
         - Index.php //controlador predeterminado
      + views
         |+ index
            - index.phtml //plantilla de vistas para la acción predeterminada
      + modules
      - library
      - models
      - plugins

Ejemplo #2 Entrada

index.php en el directorio superior es la única forma de entrada de la aplicación, se deberían reescribir todas las peticiones al mismo (se puede emplear .htaccess de Apache+php_mod)

    <?php
    define("APPLICATION_PATH",  dirname(__FILE__));

    $app  = new Yaf_Application(APPLICATION_PATH . "/conf/application.ini");
    $app->bootstrap() //llamar a los métodos de arranque definidos en Bootstrap.php
    ->run();
    ?>

Ejemplo #3 Regla de sobrescritura

    #para apache (.htaccess)
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule .* index.php

    #para nginx
    server {
    listen ****;
    server_name  domain.com;
    root   document_root;
    index  index.php index.html index.htm;

    if (!-e $request_filename) {
      rewrite ^/(.*)  /index.php/$1 last;
    }
    }

    #para lighttpd
    $HTTP["host"] =~ "(www.)?domain.com$" {
    url.rewrite = (
        "^/(.+)/?$"  => "/index.php/$1",
    )
    }

Ejemplo #4 Configuración de la aplicación

    [yaf]
    ;APPLICATION_PATH es la constante definida en index.php
    application.directory=APPLICATION_PATH "/application/"

    ;la sección 'product' hereda de las sección 'yaf'
    [product:yaf]
    foo=bar

Ejemplo #5 Controlador predeterminado

    <?php
    class IndexController extends Yaf_Controller_Abstract {
       /* acción predeterminada */
       public function indexAction() {
           $this->_view->word = "hola mundo";
           //or
           // $this->getView()->word = "hola mundo";
       }
    }
    ?>

Ejemplo #6 Plantilla de vistas predeterminada

    <html>
      <head>
        <title>Hola Mundo</title>
      </head>
      <body>
        <?php echo $word;?>
      </body>
      </html>

Ejemplo #7 Ejecutar la aplicación

Resultado del ejemplo anterior es similar a:

    <html>
     <head>
       <title>Hola Mundo</title>
     </head>
     <body>
       hola mundo
     </body>
    </html>

> Nota:

> También se puede generar el ejemplo de arriba usando el generado de código de Yaf, el cual se puede encontrar en yaf@github.

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open