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

De MediaWiki
Ir a la navegación Ir a la búsqueda
Línea 35: Línea 35:
 
:* [http://www.desarrolloweb.com/articulos/primera-prueba-laravel-sistema-rutas.html Primeiros pasos].
 
:* [http://www.desarrolloweb.com/articulos/primera-prueba-laravel-sistema-rutas.html Primeiros pasos].
 
:* [http://www.desarrolloweb.com/articulos/estructura-carpetas-laravel5.html Coñecendo a estruturas de carpetas].
 
:* [http://www.desarrolloweb.com/articulos/estructura-carpetas-laravel5.html Coñecendo a estruturas de carpetas].
−
:: Nesta parte imos crear diferentes 'verbos' do protocolo HTTP.  
+
:: Nesta parte imos usar diferentes 'verbos' do protocolo HTTP.  
 
:: Instalaremos o complemento de firefox HttpRequester para simular o envío utilizando os verbos (get, post, put,...).
 
:: Instalaremos o complemento de firefox HttpRequester para simular o envío utilizando os verbos (get, post, put,...).
  

Revisión del 00:00 13 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 usar 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.
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.


  • Recurso:
  • Páxina web para verificar unha expresión regular: regex101.com.


  • Exercicios:
  • Crea unha ruta con dous parámetros que sexan opcionais. Dalle un valor por defecto a cada un deles.
  • Crea unha ruta que acepte como parámetro unha expresión regular de 5 números do 0 ao 7.
  • Crea outra ruta que acepte como parámetro unha expresión regular que acepta un número-letras (número guión letras)


Solucións:
 1 Route::get('/opcionais/{param1?}/{param2?}',function($par1=1,$par2='valor defecto'){
 2    echo "O param1 ten valor $par1 e o param2 ten valor $par2"; 
 3 });
 4 
 5 Route::get('/rutaNumeros/{numero}',function($numero){
 6    echo "5 números de 0 ao 7: $numero";    
 7 })->where(array('numero' => '[0-7]{5}'));
 8 
 9 Route::get('/rutaNumerosCadea/{dato}',function($dato){
10    echo "Dato numérico-texto: $dato";    
11 })->where(array('dato' => '[0-7]+-[a-z|A-Z]+'));



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