PHP Modelo - Vista - Controlador
- Aquí temos unha explicación do que é Modelo-Vista-Controlador.
- 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.
- 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:

- 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).