Foros del Web » Programando para Internet » PHP » Zend »

Duda de principiante con Zend

Estas en el tema de Duda de principiante con Zend en el foro de Zend en Foros del Web. Hola!, perdonar que haga una pregunta tan sencilla, pero es que he buscado por el foro y con google y no he encontrado nada. Resulta ...
  #1 (permalink)  
Antiguo 31/08/2010, 04:48
 
Fecha de Ingreso: marzo-2005
Ubicación: Málaga
Mensajes: 115
Antigüedad: 19 años, 1 mes
Puntos: 0
Duda de principiante con Zend

Hola!, perdonar que haga una pregunta tan sencilla, pero es que he buscado por el foro y con google y no he encontrado nada.

Resulta que estoy empezando con Zend y la verdad es que no es difícil hasta que te encuentras con alguna duda razonable que no hay donde resolverla.

Mi pregunta es donde se ponen los datos de inicializar?. resulta que estoy haciendo un carrito de la compra y para ello necesito crear un namescape, lo estoy inicializando en el layout.phtml pero creo que no es el mejor sitio.

También estas dudas me surgen a la hora de crear variables para almacenar el servidor smtp y algunas variables más que voy a utilizar en todo el proyecto.

Muchas gracias de antemano.

Edito porque tengo otra pregunta, si creo una clase carrito, donde la inicializo y como la implemento. He utilizado clases externas como el phpthumb y he llamado al archivo con zend_loader y lo he utilizado, pero el carrito lo voy a utilizar siempre, donde hago la llamada al archivo? y donde inicializo los parametros?
  #2 (permalink)  
Antiguo 31/08/2010, 08:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Duda de principiante con Zend

Para eso esta el Bootstrap, para iniciar todas las variables / funciones / librerias que necesites.

Saludos.
  #3 (permalink)  
Antiguo 08/09/2010, 07:26
 
Fecha de Ingreso: marzo-2005
Ubicación: Málaga
Mensajes: 115
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Duda de principiante con Zend

Muchas gracias por responder.

Pero entonces como lo haría??

Por ejemplo si quiero crear una variable de session para un carrito de la compra, yo lo he hecho en el layout, supongo que eso es una burrada, pero me está funcionando.
  #4 (permalink)  
Antiguo 08/09/2010, 07:33
 
Fecha de Ingreso: marzo-2005
Ubicación: Málaga
Mensajes: 115
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Duda de principiante con Zend

Ya lo he descubierto, la verdad es que siento haber hasta respondido.

Haciendo un __initSession dentro del bootstrap y registrando la variable ahí.

Otra pregunta, igual que registro una variable, puedo registrar una clase para luego utilizarla a mi antojo?

Por ejemplo, yo he creado mi propia clase con algunas funciones básicas, como escribir el precio (ya se que algo para eso pero no me ha ido bien por la codificación de carácteres) y me gustaría hacer un objeto $funciones en el bootstrap y luego cuando quiera hacer $funciones->precio() y que me funcione, o tento que ir llamando a mi clase siempre que la vaya a utilizar?
  #5 (permalink)  
Antiguo 08/09/2010, 08:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Duda de principiante con Zend

Claro que también la puedes inicializar, como te comento el Bootstrap es para eso para iniciar tu aplicación.

Saludos.
  #6 (permalink)  
Antiguo 08/09/2010, 08:49
 
Fecha de Ingreso: marzo-2005
Ubicación: Málaga
Mensajes: 115
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Duda de principiante con Zend

Pero puedo hacer eso que te comento?

Osea, crear un objeto $funciones en el bootstrap y luego simplemente poner $funciones->precio() sin necesidad de tener que crear el objeto con un new?

Gracias por todos tus esfuerzos.
  #7 (permalink)  
Antiguo 08/09/2010, 08:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Duda de principiante con Zend

Claro, tu puedes hacer lo que quieras en el bootstrap, esa es su tarea, simplemente crea los objetos/configuraciones que necesites y los vas utilizando por toda tu aplicación.

Saludos.
  #8 (permalink)  
Antiguo 08/09/2010, 08:55
 
Fecha de Ingreso: marzo-2005
Ubicación: Málaga
Mensajes: 115
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Duda de principiante con Zend

Pero como?, porque lo he intentado,

en el bootstrap he puesto

Código PHP:
protected function __initFunciones() {
            
$funciones=new My_Funciones();
        } 
y luego cuando voy a utilizar $funciones->precio no me funciona, me dice que no lo encuentra
  #9 (permalink)  
Antiguo 08/09/2010, 09:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Duda de principiante con Zend

¿Como es que lo usas? Aparte digo más alla del Bootstrap tienes que guardar esa variable en algún lado, es un concepto básico de Scoping en los lenguajes orientados a objetos, si quieres guardar esa función para usarla como esta te recomiendo guardarla en el registro (Zend_Registry).

Saludos.
  #10 (permalink)  
Antiguo 08/09/2010, 09:13
 
Fecha de Ingreso: marzo-2005
Ubicación: Málaga
Mensajes: 115
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Duda de principiante con Zend

Ya lo entiendo, en el init hago esto:

Código PHP:
Zend_registry::set("funciones",$funciones); 

pero es que luego para recuperarla tengo que recogerla del registro

Código PHP:
$funciones=Zend_registry::get("funciones"); 
Con lo cual estoy en lo mismo, para eso lo llamo así:

Código PHP:
$funciones=new My_Funciones(); 
Yo quería hacer eso sin tener luego que crear el objeto o buscar el objeto en el Zend_Registry, por lo que veo no se puedo hacer.

Gracias por todo.
  #11 (permalink)  
Antiguo 08/09/2010, 11:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Duda de principiante con Zend

No se puede hacer por lo que te digo del scoping, si haces eso rompes con uno de los principales conceptos de la programación orientada a objetos que es la encapsulación.

Saludos.
  #12 (permalink)  
Antiguo 09/09/2010, 03:42
 
Fecha de Ingreso: marzo-2005
Ubicación: Málaga
Mensajes: 115
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Duda de principiante con Zend

Muchas Gracias.

Ahora entiendo el cocepto de todo, yo llevo utilizando clases durante mucho tiempo pero no de una manera estricta y claro, yo hacía un include donde hacía la creación del objeto, con lo cual siempre tenía accesible el objeto, ahora con un modelo MVC la cosa cambia bastante.

Gracias por la ayuda.

Etiquetas: php, principiante
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:27.