Comunidad de diseño web y desarrollo en internet online

Como crear proyecto php con patron MVC

Citar            
MensajeEscrito el 23 Jun 2014 03:22 am
Chicos,
he estado leyendo sobre el patrón MVC (modelo - vista - controlador) y la verdad lo he encontrado espectacular. El tema es que no encuentra en ninguna parte como es la arquitectura interna de un proyecto al momento de implementar dicho patrón, tan solo framework's que implementan MVC.

Cual sera la forma correcta de crear un proyecto en php ( poo ) donde se implemente un login de usuarios con distintos perfiles y cada uno de ellos con módulos distintos entre si... ??

Por jozeepp

17 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 Jun 2014 03:58 pm
cada framework, tiene su metodologia, sus propias clases ,helpers etc...,
no ay una arquitectura definida, puedes hacer uso del patron MVC solo con funciones,

pero yo creo que lo principal en todo, es la forma en que se LLAMA a los archivos, tanto a la clases, controladores, vistas, modelos, y ultimamente vi tambien la necesidad de helpers, te recomiendo veas la estructura de SLIM framework, por ser la mas compacta,

actualmente estoy en desarrollo pseudo framework,

ahora algunos dicen que no importa como este hecho solo la facilidad y rapidez del desarrollo del proyecto,como ejemplo te pongo un controlador
que maneja la vista,y el modelo

Código PHP :

<?php
/**
 * Created by tuadmin.
 * User: tuadmin
 * Date: 13-06-14
 * Time: 11:13 AM
 */
use myCore\ui;
class portada extends controller{
   public function index(){
      $this->home();
   }
   public function home(){
      ui::root()
         ->title('Bienvenido al sitio web')
         ->container(ui::node('home'));
   }
   public function servicio($args){
      list($id) = $args;
      $servicio = new \Models\Service();
      $servicio->find($id);
      /*
$template = ui::node('servicio');
$template->title($servicio->title)
      ->description($servicio->description)
      ->links($servicio->links)
      ->image($servicio->image)
ui::root()->container($template)
      */
      ui::root()
         ->title($servicio->title)
         ->container(ui::node('servicio',$servicio->get()));

   }
   public function servicios(){
      $html = ui::root();
      $html->title = 'Servicios';
      $html->container = ui::node('servicios');
   }
   public function nosotros(){
      ui::root()->container(ui::node('nosotros'))->title = 'Nosotros';
   }
   public function postServicios(){
      //$servicios = new \Models\Service();
      if(
         \Models\Service::fill($_POST['data'])->save() === false
      ){
         return array('error' => 'El servico no pudo ser creado');
      }
      return array('message' => 'El servicio Fue creado exitosamente' );
   }
   public function deleteServicios($args){
      //$servicios = new \Models\Service();
      list($id) = $args;
      $delete = \Models\Service::find($id);
      if($delete->delete() === false){
         return array('error' => 'El servico no pudo ser borrado');
      }
      return array('message' => 'El servicio con id:' .$id.' fue borrado' );
   }
}

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 24 Jun 2014 12:34 am

tuadmin escribió:

cada framework, tiene su metodologia, sus propias clases ,helpers etc...,
no ay una arquitectura definida, puedes hacer uso del patron MVC solo con funciones,

pero yo creo que lo principal en todo, es la forma en que se LLAMA a los archivos, tanto a la clases, controladores, vistas, modelos, y ultimamente vi tambien la necesidad de helpers, te recomiendo veas la estructura de SLIM framework, por ser la mas compacta,

actualmente estoy en desarrollo pseudo framework,

ahora algunos dicen que no importa como este hecho solo la facilidad y rapidez del desarrollo del proyecto,como ejemplo te pongo un controlador
que maneja la vista,y el modelo

Código PHP :

<?php
/**
 * Created by tuadmin.
 * User: tuadmin
 * Date: 13-06-14
 * Time: 11:13 AM
 */
use myCore\ui;
class portada extends controller{
   public function index(){
      $this->home();
   }
   public function home(){
      ui::root()
         ->title('Bienvenido al sitio web')
         ->container(ui::node('home'));
   }
   public function servicio($args){
      list($id) = $args;
      $servicio = new \Models\Service();
      $servicio->find($id);
      /*
$template = ui::node('servicio');
$template->title($servicio->title)
      ->description($servicio->description)
      ->links($servicio->links)
      ->image($servicio->image)
ui::root()->container($template)
      */
      ui::root()
         ->title($servicio->title)
         ->container(ui::node('servicio',$servicio->get()));

   }
   public function servicios(){
      $html = ui::root();
      $html->title = 'Servicios';
      $html->container = ui::node('servicios');
   }
   public function nosotros(){
      ui::root()->container(ui::node('nosotros'))->title = 'Nosotros';
   }
   public function postServicios(){
      //$servicios = new \Models\Service();
      if(
         \Models\Service::fill($_POST['data'])->save() === false
      ){
         return array('error' => 'El servico no pudo ser creado');
      }
      return array('message' => 'El servicio Fue creado exitosamente' );
   }
   public function deleteServicios($args){
      //$servicios = new \Models\Service();
      list($id) = $args;
      $delete = \Models\Service::find($id);
      if($delete->delete() === false){
         return array('error' => 'El servico no pudo ser borrado');
      }
      return array('message' => 'El servicio con id:' .$id.' fue borrado' );
   }
}

Por jozeepp

17 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.