Diferencia entre revisiones de «Usuario:ManuelRomero/Laravel/routing»
(→Ruta básica) |
(→Ruta básica) |
||
Línea 34: | Línea 34: | ||
Route::delete(); | Route::delete(); | ||
Route::any(); //any, sirve para especificar cualquier tipo de solicitud http | Route::any(); //any, sirve para especificar cualquier tipo de solicitud http | ||
+ | ?> | ||
</source> | </source> | ||
− | + | *El método especificado recibe dos parámetros: | |
#El URL o URI que el cliente solicitará | #El URL o URI que el cliente solicitará | ||
− | #Una función anónima que se ejecutará y dará el contenido | + | #Una función anónima que se ejecutará y dará el contenido (En el routing básico) |
<source lang=php> | <source lang=php> | ||
route::get("principalGet", function(){ | route::get("principalGet", function(){ | ||
Línea 58: | Línea 59: | ||
php artisan serve | php artisan serve | ||
</source> | </source> | ||
− | *Y vemos la siguiente salida | + | *Y vemos la siguiente salida, que responde al route con la URL '''''/''''' |
<source lang=sh> | <source lang=sh> | ||
Laravel development server started on http://localhost:8000 | Laravel development server started on http://localhost:8000 | ||
Línea 75: | Línea 76: | ||
}} | }} | ||
{{Resumen| | {{Resumen| | ||
− | *Se especifica la clase route con los métodos get o post o any | + | *Se especifica la clase route con los métodos get() o post() o any() principalmente |
}} | }} | ||
Línea 82: | Línea 83: | ||
}} | }} | ||
*Se puede especificar el método en el qué se sirve | *Se puede especificar el método en el qué se sirve | ||
+ | *VEr el sigueintes tutorial: | ||
+ | |||
+ | http://duilio.me/como-asociar-rutas-a-controladores-y-acciones-con-laravel/ |
Revisión de 03:05 4 ene 2015
Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos. Ver página de charlas. |
Qué es routing
- Es esta la primera diferencia que podemos encontrar con una aplicación web tradicional de PHP como hemos venido trabajando a lo largo del curso
- El cliente escribe una url solicitando una página web o php p.e.
http://localhost/paginaPrincipal.php
- Ahora el servidor web procesa la petición ejecutando el fichero php y retornando una página web al cliente. Entendemos que existe un fichero en el servidor con el nombre paginaPrincipal.php
- Ahora no vamos a funcionar exactamente así en la parte del servidor
- Meditante el routing, vamos a especificar el contenido que se va a servir ante una determinada URL
- Esto se hará en un único fichero ./app/route.php de modo que todo lo realcionado con las rutas.
En él puede estar directamente el contenido que se va a servir ante una ruta o solicitud o se especificará un fichero donde se obtendrá dicho contendido
- El cliente escribirá una ruta a la que quiere acceder en forma de URL y la aplicación en buscará dicha ruta en el fichero route.php.
- Una aproximación (en realidad hay muchos ficheros que se ejecutan entre medias. ver ciclo de vida de una aplicación laravel), podemos ver en la siguiente imagen
- Hay diferentes maneras de especificar estas rutas en el fichero route.php, como vamos a ver a continuación
Ruta básica
- Se usa la clase route,
- Los métodos son palabras (verbos) que representan el tipo de solicitud http que se hace al servidor.
- (Ver protocolo http para este cometido).
- Se suele usar get(), para solicitudes de páginas que no envían datos y post() si se envían datos
- Aquí una lista de posibles verbos a utilizar
<? php // app/routes.php Route::get(); Route::post(); Route::put(); Route::delete(); Route::any(); //any, sirve para especificar cualquier tipo de solicitud http ?>
- El método especificado recibe dos parámetros:
- El URL o URI que el cliente solicitará
- Una función anónima que se ejecutará y dará el contenido (En el routing básico)
route::get("principalGet", function(){ return ("Estás en la página principal con método GET"); }); route::post("principalPost", function(){ return ("Estás en la página principal con método POST"); }); route::get("principalGetOrPost", function(){ return ("Estás en la página principal con método GET o POST"); });
- En este primer caso vamos a probar el ejemplo.
- Primero levantamos el servidor que viene con laravel en el puerto 8000
- Para ello usamos los comandos de artisan
Idioma no válido.
Necesita especificar un idioma como esto: <source lang="html4strict">...</source>
lenguajes soportados para sintaxis remarcada:
4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, octave, oobas, oorexx, oracle11, oracle8, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, rails, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, spark, sparql, sql, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic
php artisan serve
- Y vemos la siguiente salida, que responde al route con la URL /
Idioma no válido.
Necesita especificar un idioma como esto: <source lang="html4strict">...</source>
lenguajes soportados para sintaxis remarcada:
4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, octave, oobas, oorexx, oracle11, oracle8, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, rails, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, spark, sparql, sql, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic
Laravel development server started on http://localhost:8000
- Ahora abrimos el navegador y escribimos http://localhost:8000, y vemos la siguiente imagen
- A continuación escribimos la ruta a la que queremos acceder. En nuestro caso hemos detallado tres rutas, que serían las páginas de nuestra aplicación:
- principalGet
- principalPost
- principalGetOrPost
http://localhost:8000/principalGet
- Y sale el contenido indicado
|
- Se puede especificar el método en el qué se sirve
- VEr el sigueintes tutorial:
http://duilio.me/como-asociar-rutas-a-controladores-y-acciones-con-laravel/