Configuración del proyecto

Normalmente, el instalador limita las modificaciones a realizar en los ficheros de configuración y su aplicación queda operativa tras la instalación

_images/firstProject.png

Configuración principal

La configuración principal de un proyecto se localiza en el archivo app/conf/config.php.

app/conf/config.php
 1return array(
 2             "siteUrl"=>"%siteUrl%",
 3             "database"=>[
 4                             "dbName"=>"%dbName%",
 5                             "serverName"=>"%serverName%",
 6                             "port"=>"%port%",
 7                             "user"=>"%user%",
 8                             "password"=>"%password%"
 9             ],
10             "namespaces"=>[],
11             "templateEngine"=>'Ubiquity\views\engine\twig\Twig',
12             "templateEngineOptions"=>array("cache"=>false),
13             "test"=>false,
14             "debug"=>false,
15             "di"=>[%injections%],
16             "cacheDirectory"=>"cache/",
17             "mvcNS"=>["models"=>"models","controllers"=>"controllers"]
18);

Configuración de los servicios

Los servicios que se cargan al iniciarse se configuran en el archivo app/conf/services.php.

app/conf/services.php
 1     use Ubiquity\controllers\Router;
 2
 3     try{
 4             \Ubiquity\cache\CacheManager::startProd($config);
 5     }catch(Exception $e){
 6             //Do something
 7     }
 8     \Ubiquity\orm\DAO::startDatabase($config);
 9     Router::start();
10     Router::addRoute("_default", "controllers\\IndexController");

URLs bonitas

Apache

El framework incluye un archivo .htaccess que se utiliza para permitir URLs sin index.php. Si utiliza Apache para servir su aplicación Ubiquity, asegúrese de habilitar el módulo mod_rewrite.

.htaccess
AddDefaultCharset UTF-8
<IfModule mod_rewrite.c>
     RewriteEngine On
     RewriteBase /blog/
     RewriteCond %{REQUEST_FILENAME} !-f
     RewriteCond %{HTTP_ACCEPT} !(.*images.*)
     RewriteRule ^(.*)$ index.php?c=$1 [L,QSA]
</IfModule>

Véase Apache configuration para saber más.

Nginx

En Nginx, la siguiente directiva en la configuración de su sitio permitirá URLs «bonitas»:

location /{
      rewrite ^/(.*)$ /index.php?c=$1 last;
}

Véase NginX configuration para saber más.

Laravel Valet Driver

Valet es un entorno de desarrollo php para Mac minimalistas. No Vagrant, no /etc/hosts file. Incluso puedes compartir tus sitios públicamente usando túneles locales.

Laravel Valet configura tu Mac para ejecutar siempre Nginx en segundo plano cuando se inicia tu máquina. Entonces, usando DnsMasq, Valet proxy todas las peticiones en el dominio *.test para que apunten a sitios instalados en tu máquina local.

Más información sobre Laravel Valet

Crea UbiquityValetDriver.php en ~/.config/valet/Drivers/ añade el siguiente código php y guárdalo.

<?php

class UbiquityValetDriver extends BasicValetDriver{

        /**
        * Determine if the driver serves the request.
        *
        * @param  string  $sitePath
        * @param  string  $siteName
        * @param  string  $uri
        * @return bool
        */
        public function serves($sitePath, $siteName, $uri){
                if(is_dir($sitePath . DIRECTORY_SEPARATOR . '.ubiquity')) {
                        return true;
                }
                return false;
        }

        public function isStaticFile($sitePath, $siteName, $uri){
                if(is_file($sitePath . $uri)) {
                        return $sitePath . $uri;
                }
                return false;
        }

        /**
        * Get the fully resolved path to the application's front controller.
        *
        * @param  string  $sitePath
        * @param  string  $siteName
        * @param  string  $uri
        * @return string
        */
        public function frontControllerPath($sitePath, $siteName, $uri){
                $sitePath.='/public';
                $_SERVER['DOCUMENT_ROOT'] = $sitePath;
                $_SERVER['SCRIPT_NAME'] = '/index.php';
                $_SERVER['SCRIPT_FILENAME'] = $sitePath . '/index.php';
                $_SERVER['DOCUMENT_URI'] = $sitePath . '/index.php';
                $_SERVER['PHP_SELF'] = '/index.php';

                $_GET['c'] = '';

                if($uri) {
                        $_GET['c'] = ltrim($uri, '/');
                        $_SERVER['PHP_SELF'] = $_SERVER['PHP_SELF']. $uri;
                        $_SERVER['PATH_INFO'] = $uri;
                }

                $indexPath = $sitePath . '/index.php';

                if(file_exists($indexPath)) {
                        return $indexPath;
                }
        }
}