Ver Mensaje Individual
  #21 (permalink)  
Antiguo 28/06/2012, 13:02
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: ¿Desaconsejado el uso de variables globales?

Precisamente, si vas a usar inyección de dependencias es mejor usar un contenedor, eso es un hecho.

Por otro lado para evitar el uso de globales podrías usar un registro, aunque como te digo no es lo mejor ya que es casi lo mismo a usar globales.

Respecto al setup me refería a un bootstrap, todo depende del patrón de diseño que estés usando pero en algún lado debes de hacerlo, sí vas a usar paginas "planas" pues tendrías que hacerlo de forma más manual, por ejemplo:

autos.php
Código PHP:
Ver original
  1. namespace App;
  2.  
  3. class Autos {
  4.        private $security;
  5.        private $core;
  6.  
  7.        public function setSecurity($security) {
  8.                $this->security = $security;
  9.        }
  10.  
  11.        public function setCore($core) {
  12.                $this->core = $core;
  13.        }
  14.  
  15.        public function getAutos($fecha) {
  16.               $fecha = $this->security->clean($fecha);
  17.  
  18.               return array();
  19.        }
  20. }

common.php
Código PHP:
Ver original
  1. <?php
  2. // register autoloader
  3. set_include_path(get_include_path().PATH_SEPARATOR.'/path/a/tus/clases');
  4.  
  5. $Core = new App\Core();
  6. $Security = new App\Security();

listadoAutos.php:
Código PHP:
Ver original
  1. <?php
  2. include('common.php');
  3.  
  4. $autos = new App\Autos();
  5. $autos->setCore($Core);
  6. $autos->setSecurity($Security);
  7. $fecha = isset($_GET['fecha']) ? $_GET['fecha'] : date('Y-m-d');
  8. foreach ($autos->getAutos($fecha) as $auto) {
  9.          echo $auto;
  10. }

Claro todo esto es suponiendo algo más plano, todo depende de que patrón de diseño tengas, y que tengas bien organizadas tus clases en namespaces como debe de ser