Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO duda basica de php

Estas en el tema de duda basica de php en el foro de PHP en Foros del Web. buenos días comunidad, espero se encuentren bien, mi duda es la siguiente: soy nuevo en php y más que todo he programado en java (servlets), ...
  #1 (permalink)  
Antiguo 13/02/2013, 07:07
Avatar de andresbetancourt  
Fecha de Ingreso: julio-2008
Ubicación: colombia
Mensajes: 334
Antigüedad: 15 años, 9 meses
Puntos: 2
Pregunta duda basica de php

buenos días comunidad,

espero se encuentren bien, mi duda es la siguiente:

soy nuevo en php y más que todo he programado en java (servlets), pero estoy haciendo una aplicación en php separando la logica de la vista. Teniendo en cuenta que desde el html no se puede llamar una funcion especifica de php porque el browser no la procesa:

¿por qué en java si se llama alguno de los metodos dopost o doget para iniciar un programa web realizado con servlets?

¿cuál sería el homologo en php? o siempre se debe usar un IF que valide si existe una variable con la funcion ISSET y sabiendo el valor de dicha variable, crear el objeto de la o las clases que poseen la o las funciones que se debe procesar para ejecutar la logica necesaria.

lo pregunto porque estoy haciendo un proyecto en php y ya he visto ejemplos en los que se llama desde el formulario HTML una página en PHP que lo primero que tiene es un ISSET y luego se llama una funcion, pero quiero saber si siempre es esa la mejor forma (llamando siempre a un IF con la funcion ISSET para saber que camino tomar en la logica) de iniciar una aplicación web grande o hay metodos especiales que uno implemente y los invoque.

muchas gracias por su ayuda, espero haberme dado a entender sin ser muy extenso en lo escrito.
__________________
http://tecnologiaco.com/
  #2 (permalink)  
Antiguo 13/02/2013, 07:29
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: duda basica de php

No necesariamente con if, todo dependera de como seria la decision... explicate mejor que realmente quieres hacer.

ya que en PHP existe diferentes homologos para la toma de decisiones
__________________
El talento se educa en la KARMA y el carácter en la tempestad.
Gabriel De Los Santos
  #3 (permalink)  
Antiguo 13/02/2013, 07:52
Avatar de andresbetancourt  
Fecha de Ingreso: julio-2008
Ubicación: colombia
Mensajes: 334
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: duda basica de php

gldelossantos muchas gracias por tu interes en ayudarme,

a lo que me refiero es que en internet se encuentra muchos ejemplos en los que la validación con el IF y el ISSET funciona perfecto, pero a manera de ejemplo para comprender la comunicación de la vista con la logica.

pero lo que yo quiero es hacer un proyecto bien organizado y estructurado como tal, en el que se tenga separada la vista de la logica, en ese caso, ya no a manera de tutorial, hay alguna forma asi como en java (metodos dopost y doget) es decir, más formal en que php maneje la comunicación con una clase del lado del servidor??? o siempre se debe tener una especie de archivo .php que sea como un tipo CONTROLADOR (modelo mvc) que se encargue con la funcion ISSET de redireccionar la petición realizada en la vista a una determinada clase php???

Es decir que yo tenga un formulario en el que hay dos botones y dependiendo del boton que ejecute una función de una clase o la función de otra clase. Pero que lo anterior lo haga de otra manera distinta al simple IF con el ISSET, porque si siempre es asi habrian dos opciones:

1. tener un controlador con IF e ISSET por cada modelo o modulo (ejemplo el modulo de gestión de usuarios, gestión de productos, gestión de cursos. cuando digo gestión me refiero a crear, buscar, consultar, actualizar y demás funciones que pueda tener cada modulo u objeto dentro de la aplicación) dentro de la aplicación web que se encargue de llamar uno u otro metodo.

2. tener dentro de cada archivo php que posee la logica (las clases que conforman mi aplicación) un IF e ISSET que se encargue de recibir la petición de la vista y ejecute el metodo o función respectiva dentro de la clase.


¿son esas las maneras o existe metodos para recibir peticiones post y get como en los servlets de java?

de antemano muchas gracias por su colaboración de verdad
__________________
http://tecnologiaco.com/
  #4 (permalink)  
Antiguo 13/02/2013, 08:20
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: duda basica de php

Puedes usar el If, tambien puedes crear variable y enviarla por link,

tambien puedes usar los metodos $_post y $_get en los formularios...

Hay diversas maneras.. pero cada programador tiene logicas diferentes, tambien se utilizan switch, para varia las diferentes selecciones..
__________________
El talento se educa en la KARMA y el carácter en la tempestad.
Gabriel De Los Santos
  #5 (permalink)  
Antiguo 13/02/2013, 08:48
Avatar de BloodShadow  
Fecha de Ingreso: marzo-2010
Ubicación: El Salvador
Mensajes: 393
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: duda basica de php

Nada de if loco... MVC en php bien utilizado, podes hacer un metodo q te lea todas las tablas existentes luego recores cada una con un each y llamas a una funcion q te cargue las clases (modelo) de cada tabla y asi podes hacer con las vistas y controladores, te dejo un ejemplo:

Código PHP:
foreach($acaestantodaslastablas as $modelo){
load_models($modelo);
}

    function 
load_models($class_name){

        if(
file_exists($shproot 'app/models/class.' $class_name '.php'))
             require_once(
$shproot 'app/models/class.' $class_name '.php') ;
    } 
  #6 (permalink)  
Antiguo 13/02/2013, 10:03
Avatar de andresbetancourt  
Fecha de Ingreso: julio-2008
Ubicación: colombia
Mensajes: 334
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: duda basica de php

hola gldelossantos y BloodShadow,

muchas gracias a ambos por su ayuda, ya he entendido lo que me explicaron, pero en conclusión si es lo que yo decia, es decir:

en php desde la vista cuando se llama un archivo .php haciendo uso de un formulario html, no se llama a una función (metodo en poo) como tal, sino que se empieza a leer el archivo .php invocado desde la linea 1 y se empieza a ejecutar el código, por tal motivo se debe hacer algun tipo de estructura de control o sentencia pura para posteriormente hacer la creación de un objeto (perteneciente a alguna clase que se haya creado) y asi ejecutar la función requerida.

osea no se puede hacer más que un llamado a un archivo PHP para que se empiece a ejecutar secuencialmente desde su primer linea de código, donde su primer linea no puede ser por ejemplo

<?php
class nombre_clase {
var $propiedad_1;
var $propiedad_2;
var $propiedad_3;

function método_1($parametro) {
instrucciones_del_método;
}
}
?>

sino más bien, algo cómo:

<?php

estructura de control (ya sea un if que valide con ISSET o cargando todos los modelos con foreach y posteriormente haciendo uso del objeto y metodo requerido) o una sentencia php que se encargue de hacer la creación del objeto y posteriormente la utilización de la función que requiero según la funcionalidad del formulario.

?>

¿es cierto lo que digo?
__________________
http://tecnologiaco.com/
  #7 (permalink)  
Antiguo 13/02/2013, 10:35
 
Fecha de Ingreso: diciembre-2010
Ubicación: Rosario, Santa Fe
Mensajes: 326
Antigüedad: 13 años, 4 meses
Puntos: 13
Respuesta: duda basica de php

Lo que dices es cierto, cuando realizas una petición se comienza a ejecutar el código PHP. Tenés que recordar que PHP NO es puramente orientado a objetos como Java.

Si estás acostumbrando a trabajar con Programación Orientada a Objetos, te recomiendo utilizar un Framework (en PHP hay infinidad de opciones) los cuales suelen implementar métodos de cargas automáticas de clases (usando spl_autoload_register y una estructura de ficheros determinada).
  #8 (permalink)  
Antiguo 13/02/2013, 10:59
Avatar de andresbetancourt  
Fecha de Ingreso: julio-2008
Ubicación: colombia
Mensajes: 334
Antigüedad: 15 años, 9 meses
Puntos: 2
De acuerdo Respuesta: duda basica de php

muchas gracias a todos, ya he entendido.

y lo queria hacer antes de empezar a programar de forma bien estructurada y orientada a MVC mi proyecto, ya entiendo porque siempre en php puro luego de un envío de datos por un formulario html o interacción de un usuario en una vista, un archivo php que empieza no con un objeto de clase sino con sentencias sueltas que no se encuentran dentro del ambito de una FUNCIÓN o una CLASE.

gracias a todos por su gran ayuda, fueron todos muy amables y oportunos en sacarme de la duda.

__________________
http://tecnologiaco.com/

Etiquetas: isset
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 10:36.