Foros del Web » Programando para Internet » PHP »

Algun tuto que explique de principio a fin realizar una web con mvc php boostrap

Estas en el tema de Algun tuto que explique de principio a fin realizar una web con mvc php boostrap en el foro de PHP en Foros del Web. Estaba buscando algún manual al respecto sobre estos temas y de todos los que he visto les falla que no se ve que hacen, es ...
  #1 (permalink)  
Antiguo 04/07/2014, 11:21
 
Fecha de Ingreso: mayo-2008
Mensajes: 228
Antigüedad: 16 años, 5 meses
Puntos: 2
Algun tuto que explique de principio a fin realizar una web con mvc php boostrap

Estaba buscando algún manual al respecto sobre estos temas y de todos los que he visto les falla que no se ve que hacen, es decir, he visto algunos donde usan el modelo vista controlador (mvc) junto con boostrap-php y mysql pero nunca muestran el resultado. He buscado hasta por youtube y lo que he visto ha sido como hacerte tu propio framework pero no muestra como queda la web, es como si fueran librerías o yo que se, no estoy para nada puesto en este tema, a ver si alguien me puede sacar de dudas.

Todo esto viene porque no he sido capaz de encontrar un tutorial de principio a fin que haga un simple crud con loguin de usuarios y contraseñas medianamente moderno ( tipo boostrap ). Y luego no se donde he leido que es una cagada mezclar código php y html ( como si se pudieran separar ). Estoy muy perdido en este tema a ver si alguien em saca de dudas.
  #2 (permalink)  
Antiguo 04/07/2014, 13:21
Avatar de Karmac  
Fecha de Ingreso: agosto-2011
Ubicación: Bilbao
Mensajes: 196
Antigüedad: 13 años, 3 meses
Puntos: 34
Respuesta: Algun tuto que explique de principio a fin realizar una web con mvc php bo

MVC se refiere a Model/View/Controller, es decir, tienes un objeto para acceder a la base de datos, las vistas (el HTML, separado del PHP, en la medida de lo posible) y por último un controlador, que necesitará un script que enrute las direcciones a los métodos del mismo.

Tienes un enrutador básico aquí, obviamente no es del todo completo pero puedes hacerte una idea de como funciona la movida.

De todos modos, es mejor que utilices un framework para no complicarte que te trae ya todo hecho. Yo me decantaría por Laravel, aunque si lo consideras demasiado pesado puedes utilizar Slim o cualquier otro. Usa Google :)

Saludos.
  #3 (permalink)  
Antiguo 04/07/2014, 19:11
 
Fecha de Ingreso: mayo-2008
Mensajes: 228
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Algun tuto que explique de principio a fin realizar una web con mvc php bo

Vale creo que empiezo a entenderlo, es decir se basa en la separación por un lado de los datos ( por ejemplo una clase persona que contenga sus características principales por ejemplo nombre, ap1,ap2,sexo, email junto con el constructor y los setter y getter necesarios de estas características no ?), luego otra supongo que estará separada en otra capa por ejemplo para la conexión de la bd en que contenga la cadena de conexión no?, aparte de las clase persona ( que debería acceder por ejemplo a los datos de la clase persona de la capa datos por ejemplo para añadirlos a la bd, y por último otra capa de diseño donde se llame a las 2 capas antes mencionadas para por un lado recoger el dato en la capa datos de persona y por otro para llamar al insertar por ejemplo de la capa db que se encargara a su vez de hacer la query y meter el dato que contenga el getter no ?.
Así a bote pronto es lo que he entendido hasta ahora, corregidme si me he equivocado. O si es posible separar aún en más capas un proyecto.

¿ Por cierto en que ayuda el usar un framework, es decir si yo tengo imaginemos una clase persona como ya he puesto antes de ejemplo como me facilitaría las cosas un framework ?.
  #4 (permalink)  
Antiguo 05/07/2014, 05:25
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
Respuesta: Algun tuto que explique de principio a fin realizar una web con mvc php bo

el framework te trae cosas por defecto que siempre usas,
conexciones a base de datos
seleccionadores, incertadores, actualizadores.
trae una arquitectura de las carpetas que usaras para organizar el sitio web.
hace lo mas compatible el codigo.
evita errores.
algunos te ofrecen ShortCodes para minimisar el codigo que escribas.
traen script de diferentes tipos y funciones para manejo interno de datos, fechas y cualquier campo que se te ocurra.

la contra
el detalle es que un framework te dice escribe esto y tendras este resultado... lo cual si aun no llegas ni a un nivel intermedio de conocimiento php se te puede formar en cualquier momento un espagueti o sopa logica...

te recomiendo que todo lo que se te ocurra primero lo hagas tu y luego lo portes a un framework

los framework tiene un uso especial para proyectos de gran envergadura.
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #5 (permalink)  
Antiguo 05/07/2014, 06:13
 
Fecha de Ingreso: mayo-2008
Mensajes: 228
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Algun tuto que explique de principio a fin realizar una web con mvc php bo

Entiendo, poco a poco empiezo a ver para que se usan los frameworks, por otro lado quería saber por donde empezar, es decir, he visto un tutorial muy completo y supuestamente bien explicado sobre como realizar tu propio framework. No se si es lo que me conviene ya que php se lo básico que todo el mundo enseña por internet, ( esa mezcla de html-php y mysql que es justo lo que quiero evitar ). Pero no tengo claro por donde empezar si por un framework o realizando mi propio framework.
  #6 (permalink)  
Antiguo 05/07/2014, 06:24
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
Respuesta: Algun tuto que explique de principio a fin realizar una web con mvc php bo

realiza tu propio framwork al estilo MVC...

crea tu propio árbol de carpetas que creas conveniente para organisar tus archivos.
crea un tus propias constantes.
crea tu propio árbol de clases.
crea tu propia capa de abstracción a base de datos.
crea tu propio sistema de lenguaje múltiples.
crea tu propio sistema de interuptores y filtrados de contenido

y al final tendras un Framework, dotado de MVC y POO el cual conoces perfectamente cada linea de código.

con el tiempo podrás retocarlo y mejorarlo esto para empezar y practicar... cuando tengas un proyecto mas complejo entonces podrás irte a un framework teniendo una base de como pintan las cosas.

Yo trabajo ahora mismo en el mio veras que tengo tambien dudas. y errores que no encuentro forma de resolver.


Lo primordial para comenzar es el scripting saber que script quieres tener en tu proyecto principal. hacer cada script en una clase. y verificar su funcionamiento con:

Código PHP:
Ver original
  1. echos"Funciona bien";

luego te haces el diseño full html5+css3.

cuando tengas entonces estas dos cosas conviertes tu html en plantilla y comienzas a mesclar el controlador y la vista del MVC
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #7 (permalink)  
Antiguo 05/07/2014, 20:14
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 4 meses
Puntos: 379
Respuesta: Algun tuto que explique de principio a fin realizar una web con mvc php bo

arts que experiencia tienes aplicando POO ??
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #8 (permalink)  
Antiguo 05/07/2014, 20:28
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
Respuesta: Algun tuto que explique de principio a fin realizar una web con mvc php bo

hablando de POO: alguien me explica la estructura básica de la sintaxis de una clase POO... creo que veo el código, se que hace pero como resultado, pero no su estructura y funcionamiento interno...
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #9 (permalink)  
Antiguo 06/07/2014, 12:46
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 4 meses
Puntos: 379
Respuesta: Algun tuto que explique de principio a fin realizar una web con mvc php bo

Cita:
Iniciado por arcanisgk122 Ver Mensaje
hablando de POO: alguien me explica la estructura básica de la sintaxis de una clase POO... creo que veo el código, se que hace pero como resultado, pero no su estructura y funcionamiento interno...
Lo básico lo puedes leer en el manual: http://www.php.net/manual/es/language.oop5.basic.php
Si no te refieres a eso pues comenta con mas detalle cual es la duda
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #10 (permalink)  
Antiguo 06/07/2014, 13:07
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
Respuesta: Algun tuto que explique de principio a fin realizar una web con mvc php bo

La pseudo-variable $this está disponible cuando un método es invocado dentro del contexto de un objeto. $this es una referencia del objeto que invoca (usualmente el objeto al que el método pertenece, pero posiblemente sea otro objeto, si el método es llamado estáticamente desde el contexto de un objeto secundario).

que es una pseudo-variable?
a que se refiere con invocado dentro del contexto de un objeto?

yo veo los códigos y para mi la variable $this es como convertir una funcion a variable $esto= funcion()

el uso de NEW para instanciar clases a que se refiere con instanciar?

dentro de una clase Existen:
Function(),
public function,
static function,
a que se refiere cada una y cual es su uso.

el nuevo standart ::class uso de "::" que es y cual es su uso sustituye a algo actualmente?


tambien observo codigo con: __construct( ) me gustaría entender cual es la diferencia entre declarar una funcion del tipo funcion(){codigo} a utilizar __construct( )

son algunas de las cosas que deberíamos de aprender antes de manejar clases y antes de comenzar a programar orientado a objetos
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #11 (permalink)  
Antiguo 07/07/2014, 17:58
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 4 meses
Puntos: 379
Respuesta: Algun tuto que explique de principio a fin realizar una web con mvc php bo

Cita:
que es una pseudo-variable?
a que se refiere con invocado dentro del contexto de un objeto?
$this es una variable especial que le permite a un objeto(instancia de una clase) conocer que variables y métodos le pertenecen; El contexto del objeto seria lo que esta definido en su clase:
Código PHP:
Ver original
  1. class A {
  2.     //Contexto
  3. }

Un ejemplo sencillo para que veas la diferencia:
Código PHP:
Ver original
  1. $global = 'variable Global';
  2.  
  3. class A {
  4.     private $global;
  5.  
  6.     public function __construct()
  7.     {
  8.  
  9.         $this->global = 'Variable de objeto';
  10.     }
  11.  
  12.     public function display(){
  13.         echo $global = 'Variable local'.'<br>';
  14.         global $global;
  15.         echo $global .'<br>';
  16.         echo $this->global . '<br>';
  17.     }
  18. }
  19.  
  20. $a = new A();
  21. $a->display();
En el ejemplo si yo no uso el $this el objeto nunca sabría que variable esta definida como una propiedad de su clase (private $global)

Cita:
yo veo los códigos y para mi la variable $this es como convertir una funcion a variable $esto= funcion()
Esto seria una funcion anonima ver: http://www.php.net/manual/en/functions.anonymous.php

Cita:
el uso de NEW para instanciar clases a que se refiere con instanciar?
Para saber que es una instancia necesitas conocer que es un objeto y una clase;

  • Un objeto tiene estado, comportamiento e identidad; la estructura y comportamiento de objetos similares están definidas en su clase común; el termino instancia y objeto son intercambiables.
  • Una clase es un conjunto de objetos que comparten una estructura y comportamiento común

Partiendo de las definiciones:
Código PHP:
Ver original
  1. class Usuario {
  2.     private $username;
  3.    
  4.     private $password;
  5.    
  6.     public function __construct($username, $password)
  7.     {
  8.         $this->setUsername($username);
  9.         $this->setPassword($password);
  10.     }
  11.  
  12.     /**
  13.      * @param mixed $password
  14.      */
  15.     public function setPassword($password)
  16.     {
  17.         $this->password = $password;
  18.     }
  19.  
  20.     /**
  21.      * @return mixed
  22.      */
  23.     public function getPassword()
  24.     {
  25.         return $this->password;
  26.     }
  27.  
  28.     /**
  29.      * @param mixed $username
  30.      */
  31.     public function setUsername($username)
  32.     {
  33.         $this->username = $username;
  34.     }
  35.  
  36.     /**
  37.      * @return mixed
  38.      */
  39.     public function getUsername()
  40.     {
  41.         return $this->username;
  42.     }
  43. }
Esto es una clase; el conjunto de todos los objetos usuario.
Lo siguiente seria una instancia y por ende un objeto
Código PHP:
Ver original
  1. //Instancia u objeto
  2. $user = new User('arcanisgk122','123456789');
  3.  
  4. echo "Usuario: $user";
Instancia es la forma en la que le dices a php que asigne memoria para crear un objeto ($user) a partir de su clase (class User )
Cita:
dentro de una clase Existen:
Function(),
public function,
static function,
a que se refiere cada una y cual es su uso.
El acceso a las propideades y métodos de una clase pueden controlarse mediante tres palabras claves: public, protected y private las cuales están documentadas en el manual: http://www.php.net/manual/es/languag...visibility.php
Con esto php puede dar cumplimiento a un concepto importante; el encapsulamiento:
  • Es el proceso de empaquetar tus programas dividiendo cada una de sus clases en dos partes distintas: La interfase y la implementación

Cita:
el nuevo standart ::class uso de "::" que es y cual es su uso sustituye a algo actualmente?
Te permite resolver el nombre cualificado de una clase ejemplo:
Código PHP:
Ver original
  1. use MyVendor\SomeComponent\TargetEntityNs as Entity;
  2.  
  3. // inside a test case
  4. $entityManager->find(Entity\User::class, 5);
  5. // as opposed to
  6. $entityManager->find('MyVendor\SomeComponent\TargetEntityNs\User', 5);
Cita:
tambien observo codigo con: __construct( ) me gustaría entender cual es la diferencia entre declarar una funcion del tipo funcion(){codigo} a utilizar __construct( )
El constructor es una funcion especial y puede estar o no definida en la clase; su finalidad es inicializar la creación de un objeto. En el ejemplo que puse de User el constructor me devuelve el objeto User ya con un nombre de usuario y contraseña.
Mas detalles en el manual: http://www.php.net/manual/es/language.oop5.decon.php
Cita:
son algunas de las cosas que deberíamos de aprender antes de manejar clases y antes de comenzar a programar orientado a objetos
En realidad antes de abordar un lenguaje orientado a objetos es mas importante que entiendas los conceptos fundamentales que están detrás de la POO:
  • Objeto
  • Clase
  • Abstracción
  • Encapsulamiento
  • Generalización
  • Polimorfismo
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Última edición por hhs; 09/07/2014 a las 17:11

Etiquetas: html, mvc, mysql, principio, tuto, usuarios
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 17:19.