Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/10/2005, 16:16
Casuis
 
Fecha de Ingreso: septiembre-2005
Mensajes: 142
Antigüedad: 18 años, 8 meses
Puntos: 3
Hola enrique el tema de los package o los import digamos que no está implementado en php5. Aunque si que tu te puedes crear tu clase que te lo pueda hacer, por ejemplo prado framework utiliza un sistema import para cargar clases no creas que es muy dificil...

Realmente no se necesita, a parte de los include, o require_once, php5 incluye un nuevo sistema para cargar clases nuevo en el Zend Engine 2 es decir el nuevo motor para PHP5, te explico:

hay una función global __autoload() a la que se invoca automáticamente cada vez que se hace referencia a una clase que no está definida en el contexto actual en el que se ejecuta el código. Este mecanismo permite incluir a demanda el código que va necesitándose y que se mantiene en módulos independientes.

Imaginate que tenemos definido en un archivo clientes.php la clase cliente que nos servirá para guardar en un objeto los datos. Y en otro archivo, por ejemplo pedidos.php imagínate que en un momento necesitamos el cliente con la id 12 por ejemplo:

$id = 12;
$cliente = new clientes($id);

si al principio del archivo no hemos puesto un require_once('clientes.php') dará error porqué no encuentra la clase clientes. Para solucionar esto sin tener que recurrir a los require_once imaginate que tenemos que cargar cientos de objetos, entonces podremos utilizar __autoload de manera fácil:

function __autoload($clase){
require_once($clase. '.php');
}


a está función se le pasará como parámetro el nombre de la clase que estamos instanciando y luego la cargará, así de fácil.

Para acabar personalmente yo suelo utilizar para nombre de fichero :
class.nombreclase.php

ya que programo completamente en objetos.

y en mi autoload iria

function __autoload($clase){
require_once('class.'. $clase. '.php');
}

Última edición por Casuis; 06/10/2005 a las 08:23