Diferencia entre revisiones de «PHP Modelo - Vista - Controlador»

De MediaWiki
Ir a la navegación Ir a la búsqueda
Línea 1: Línea 1:
  
−
* Como editor de texto recomendo instalar [http://brackets.io/ Brackets].
+
* Aquí temos unha explicación do que é [http://www.desarrolloweb.com/articulos/que-es-mvc.html Modelo-Vista-Controlador].
 +
 
 +
* Existen moitos frameworks PHP que nos permiten programar seguindo o patrón de deseño de software Model-View-Controller.
 +
:* [https://symfony.com/ Symhony]
 +
:* [http://framework.zend.com/ Zend Framework]
 +
:* [http://cakephp.org/ CakePHP]
 +
 
 +
<u>Nota:</u> Como editor de texto recomendo instalar [http://brackets.io/ Brackets].
  
 
== Instalación ==
 
== Instalación ==
Línea 44: Línea 51:
 
* [http://www.desarrolloweb.com/articulos/parametros-rutas-laravel5.html Paso de parámetros na rutas].
 
* [http://www.desarrolloweb.com/articulos/parametros-rutas-laravel5.html Paso de parámetros na rutas].
  
 +
:* Durante o manual fala de utilizar un controlador para recibir un parámetro.
 +
:: Se queredes facer a proba teredes que definir un arquivo php no cartafol: '''/proxecto/app/Http/Controllers/ControladorProba.php'''
 +
:: O nome ControladorProba.php é un exemplo.
 +
 +
:: O código de dito arquivo pode ser algo parecido a isto:
 +
::<syntaxhighlight lang="java" line enclose="div" highlight="" >
 +
<?php
 +
 +
namespace App\Http\Controllers;
 +
 +
use App\User;
 +
use App\Http\Controllers\Controller;
 +
 +
class ControladorProba extends Controller {
 +
   
 +
    public function procedementoControlador($id){
 +
        return "Esta información ven dun controlador especifico. Recibido o dato $id";
 +
    }
 +
   
 +
}
 +
</syntaxhighlight>
 +
 +
 +
:: Como se pode ver, o nome da clase é igual ao nome do arquivo php. Deriva da clase Controller.
 +
:: Leva un procedemento de nome 'procedementoControlador' cun parámetro.
 +
 +
:: Agora debemos crear a ruta que vai facer uso de esta clase controladora:
 +
:: Modificamos o arquivo '''routes.php'''.
 +
::<syntaxhighlight lang="java" line enclose="div" highlight="" >
 +
Route::get('controlador/{identificador}','ControladorProba@procedementoControlador');
 +
</syntaxhighlight>
  
 +
:: Como vemos, agora en vez de ter unha función anónima, temos o nome da clase controladora (ControladorProba) e o nome do procedemento almacenado ao que vai chamar (procedementoControlador). Dito procedemento vai levar un parámetro que está definido na parte Get da orde route ({identificador}).
  
 +
:: Agora podemos poñer unha URL da forma: http://localhost:8000/controlador/1000
 +
:: Enviaremos o dato 1000 á clase controladora.
  
  

Revisión del 22:55 12 nov 2016

  • Existen moitos frameworks PHP que nos permiten programar seguindo o patrón de deseño de software Model-View-Controller.

Nota: Como editor de texto recomendo instalar Brackets.

Instalación

  • Primeiro vídeo: basicamente fala de instalar composer e con el instalar Laravel. Para instalar Laravel necesitamos ter php instalado.
  • Os pasos para instalar php os tedes na wiki.
  • Os pasos para instalar composer os tedes na wiki.
  • Os pasos para instalar Mysql, un xestor de bases de datos, os tedes na wiki.


  • Para instalar Laravel, dende consola escribiremos: composer create-project laravel/laravel nome_proxecto "5.1.*"
Sendo 5.1 a versión de Laravel a utilizar
Para lanzar o servidor web do proxecto creado, estando no cartafol raíz de dito proxecto, escribiremos: php artisan serve
Aparecerá unha mensaxe informando de que o servidor web está levantado e escoitando no porto 8000. Escribiremos na URL do navegador: http://localhost:8000


  • Artisan é un comando de Laravel. Podedes consultalo neste enlace.
  • Para executar un comando de artisan temos que escribir: php artisan comando dende o raíz do sitio web creado.
  • Cando creamos un modelo coa orde: php artisan make:model Note
Isto crea un arquivo de nome Note.php no cartafol /app no raíz do proxecto.


Primeiros pasos

Nesta parte imos crear diferentes 'verbos' do protocolo HTTP.
Instalaremos o complemento de firefox HttpRequester para simular o envío utilizando os verbos (get, post, put,...).
Exercicios: Unha vez lido os puntos anteriores deberedes facer diferentes rutas utilizando diferentes verbos có complemento.
EXEMPLO:
Php laravel 1.jpg
Exemplo de envío utilizando o método POST a url http://localhost:8000/testpost, sendo 'testpost' unha ruta previamente definida:
1 Route::post('/testpost',function() {
2    echo "Isto é un post a /testpost"; 
3 });
  • Durante o manual fala de utilizar un controlador para recibir un parámetro.
Se queredes facer a proba teredes que definir un arquivo php no cartafol: /proxecto/app/Http/Controllers/ControladorProba.php
O nome ControladorProba.php é un exemplo.
O código de dito arquivo pode ser algo parecido a isto:
 1 <?php
 2 
 3 namespace App\Http\Controllers;
 4 
 5 use App\User;
 6 use App\Http\Controllers\Controller;
 7 
 8 class ControladorProba extends Controller {
 9     
10     public function procedementoControlador($id){
11         return "Esta información ven dun controlador especifico. Recibido o dato $id";
12     }
13     
14 }


Como se pode ver, o nome da clase é igual ao nome do arquivo php. Deriva da clase Controller.
Leva un procedemento de nome 'procedementoControlador' cun parámetro.
Agora debemos crear a ruta que vai facer uso de esta clase controladora:
Modificamos o arquivo routes.php.
1 Route::get('controlador/{identificador}','ControladorProba@procedementoControlador');
Como vemos, agora en vez de ter unha función anónima, temos o nome da clase controladora (ControladorProba) e o nome do procedemento almacenado ao que vai chamar (procedementoControlador). Dito procedemento vai levar un parámetro que está definido na parte Get da orde route ({identificador}).
Agora podemos poñer unha URL da forma: http://localhost:8000/controlador/1000
Enviaremos o dato 1000 á clase controladora.




-- Ángel D. Fernández González -- (2016).