2012-05-15 22 views
7

Estoy tratando de encontrar una forma de aplicar masivamente estos espacios de nombres, ya que esto sería inconveniente para escribir. Sé que puedo hacerlo simplemente, use jream\ as j pero me gustaría ver si es posible evitar la barra invertida.¿Hay un atajo de espacio de nombres PHP para esto?

require '../jream/Autoload.php'; 

use jream\Autoload as Autoload, 
    jream\Database as Database, 
    jream\Exception as Exception, 
    jream\Form as Form, 
    jream\Hash as Hash, 
    jream\Output as Output, 
    jream\Registry as Registry, 
    jream\Session as Session; 

new Autoload('../jream'); 

¿No hay una manera de decir algo como lo siguiente: jream\\* as *;?

Cualquier consejo sería apreciado :)

Respuesta

6

Por lo menos puede omitir toda la redundancia as aliasing:

use jream\Autoload, 
    jream\Database, 
    jream\Exception, 
    jream\Form, 
    jream\Hash, 
    jream\Output, 
    jream\Registry, 
    jream\Session; 

Si desea utilizar todo el espacio de nombres sin tener que escribir a cabo uno por uno, entonces de hecho la única opción real es poner un alias para el espacio de nombres en su conjunto y utilizar una barra invertida:

use jream as j; 

new j\Autoload; 
+0

Gracias, esta es probablemente la mejor manera de hacerlo. – JREAM

3

¿No hay una manera de decir algo en esta línea: jream \ * as *; ?

No, pero usted puede hacer esto:

// use-jream.php 
class Autoload extends jream\Autoload {} 
class Database extends jream\Database {} 
... 

// index.php 
require_once 'use-jream.php' 

new Autoload('../jream'); 

Pero yo no recomendaría hacerlo.

Y, por supuesto, si desea cambiar sólo el espacio de nombres por defecto:

namespace jream; 

new Autoload('../jream'); 

Eso es todo un import jream.* podría jamás significará en PHP, a partir de PHP no tiene absolutamente ninguna manera de determinar si una clase podría existir en un cierto espacio de nombres a menos que usted lo informe.

+0

¡Hola, gracias por la respuesta, me gusta la última parte sobre la configuración de un espacio de nombres! – JREAM

Cuestiones relacionadas