Cargar automáticamente clases PHP

Páginas: 5 (1041 palabras) Publicado: 8 de octubre de 2015
Cargar automáticamente clases PHP sin incluir: carga automática


Muchos desarrolladores de PHP son propensos a usar el comando require_once hacer conocido adecuada y periódica: Si desea incrustar una clase que está en un archivo separado (aproximadamente class_user.php), dirigido anteriormente hay manera de evitarlo, de integrarlos ante sí mismos.De lo contrario vuela una aplicación web paralos oídos, ya que el acceso a una clase que PHP ni siquiera sabe. Por lo tanto una construcción como la siguiente era inevitable al menos para la primera utilización de una clase:
1
2
. require_once DIR '/includes/class_user.php';
$ Usuario = nuevo usuario ();
En contraste con la función requiere el desarrollador debe no más ingenio sobre usted, simplemente no incrustar accidentalmente un archivodos veces. Incluso eso lleva una falta PHP. Sin embargo hace el trabajo de integrar permanente y hincha el código innecesariamente sin aportar valor añadido.
PHP ha reconocido el problema y una gran característica en la versión 5.1.2 ya reequipar: La funciónspl_autoload_register. Con él, las clases se pueden integrar de forma automática - y sólo cuando se necesitan. El funcionamiento es sencillo: seregistra un manejador que se llama cuando una clase se requiere (por ejemplo, mediante una instancia). Este controlador puede entonces cargar el archivo requerido. En el caso más sencillo esto se puede lograr con el Código de sólo 3 líneas:
1
2
3
spl_autoload_register (función ($ className) {
    incluir 'includes / class_'. $ className. '.php';
});
¿Por qué no desarrollar una clase universalpara los que se puede utilizar en varios proyectos con diferentes Namenskonvensationen?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
 
/ **
 * Clases de Carga automáticamente en función de lasnormas específicas
 * /
clase autocargador {
    privada $ carga de reglas = array ();
    privadas clases cargadas $ = array ();
 
    / **
     * Devuelve una matriz que contiene los caminos de todos los archivos subidos (para propósitos de depuración)
     * Arreglo de retorno
     * /
    pública de función getLoadedClasses () {
        devolver $ this -> clases cargadas;
    }
 
    / **     * Define una regla, se cargará sobre la base de estos archivos
     * param $ NombreClase antes de prefijo para el nombre del archivo (por ejemplo, "class_")
     * param $ NombreClase después del final de la extensión de nombre de archivo incluyendo (por ejemplo, ".php")
     * param $ carpeta completa ruta de la carpeta donde el archivo que desea buscar
     * Bool param $ recursivo Especifica sidesea buscar sólo $ carpeta o carpeta de forma recursiva en subcarpetas de $
     * /
    pública función addLoadRule ($ antes className, $ después className, $ carpeta, $ recursivo = true) {
        $ This -> reglas de carga [] = array (
            "antes className '=> $ antes className,
            'Después de className' => $ después className,
            'carpeta' => $ carpeta,            'recursiva' => $ recursivo
        );
    }
 
    / **
     * Inicia el cargador automático para que a partir de esa fecha todas las clases utilizadas no fueron cargados en las reglas de la carga del cargador automático
     * /
    pública la función de trabajo de inicio () {
        spl_autoload_register (array ($ esto, 'loadClass'));
    }
 
    / **
     * Carga una clase solicitada despl_autoload_register
     * param $ NombreClase Nombre de la clase que se cargue (mayúsculas / minúsculas se ignora)
     * /
    privada función loadClass ($ className) {
        foreach ($ este -> reglas de carga como $ loadRule) {
            // Determine el nombre del archivo y la carga de archivos
            $ Archivo = $ loadRule ['antes classname']. Strtolower ($ className). $ LoadRule...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • PHP OOP Clase 1
  • Automatas clase 1
  • Clase 5 Metodología Componentres De La Carga
  • Sistema De Transferencia Automatica De Carga Con Woodward Egcp2
  • Clases De Cargas
  • Centros De Carga
  • clases de cargas y ejemplos
  • Capacidad De Carga Clases

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS