Foros del Web » Programando para Internet » PHP »

Crear tus propias clases.

Estas en el tema de Crear tus propias clases. en el foro de PHP en Foros del Web. Hola a todos. Intento crear mis propias clases tal como especifican en esta web pero no consigo que me funcione. Es posible que sea porque ...
  #1 (permalink)  
Antiguo 07/09/2010, 05:49
Avatar de lcervantes  
Fecha de Ingreso: abril-2002
Mensajes: 137
Antigüedad: 22 años
Puntos: 0
De acuerdo Crear tus propias clases.

Hola a todos.
Intento crear mis propias clases tal como especifican en esta web pero no consigo que me funcione.
Es posible que sea porque la versión del zend framework es mas reciente.

He de tener algo en cuenta para que me encuentre la clase en la ruta de library que es donde estan mis clases.... O la construcción de la clase ha de ser de una manera específica.?
El mensaje que me sale
Código:
Fatal error: Class 'My_Db_Prueba' not found
Mi clase es:
Código:
	class My_Db_Prueba 
	{
		public function __construct()
		{
			
		}
		public function Hola()
		{
			echo "Prueba";
		}
	}
Y se encuentra en library en la siguiente ruta MY/Db/Prueba.php
Pero aun así no consigo que me funcione.
Mi application.ini es así:
Código PHP:
[production]
phpSettings.display_startup_errors 
phpSettings
.display_errors 0
phpSettings
.date.timezone "Europe/Madrid"
includePaths.library APPLICATION_PATH "/../library"
bootstrap.path APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"

resources.view.doctype ="XHTML1_STRICT"
resources.frontController.controllerDirectory APPLICATION_PATH "/controllers"
resources.layout.layoutpath APPLICATION_PATH "/layouts/scripts" 
La llamada de la clase la hago en el el action index del respectivo controller de la siguiente manera:
Código:
	$prueba = new My_Db_Prueba();
    	echo $prueba->Hola();
Muchas gracias por vuestra ayuda-
__________________
LCervantes
--------------------------------------------
www.nerrots.es
  #2 (permalink)  
Antiguo 07/09/2010, 06:07
Avatar de lcervantes  
Fecha de Ingreso: abril-2002
Mensajes: 137
Antigüedad: 22 años
Puntos: 0
Respuesta: Crear tus propias clases. SOLUCIONADO

Faltaba por agregar al menos la linea en el application.ini
Código:
autoloaderNamesspaces[] = My_
__________________
LCervantes
--------------------------------------------
www.nerrots.es
  #3 (permalink)  
Antiguo 07/09/2010, 07:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Crear tus propias clases.

También recuerda que Windows no es un O/S que sea case sensitive por lo que te funciona correcto con MY/Db/Prueba pero si pasas a un servidor *nix te va a dar error ya que va a esperar en My y no en MY.

Saludos.

Etiquetas: clases
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:00.