- Parametri Route
- Numire Rute

Functia esentiala a oricarei aplicatii web este de a primi cereri de la utilizator si livra raspunsuri, de obicei prin HTTP(S).
Routing este un sistem destinat sa trimita cererea catre un controller.
"Rutele" in Laravel 5.5 pot fi definite in fisierul "routes/web.php". Daca deschizi acest fisier cu un editor de text veti vedea un cod ca acesta:
Route::get('/', function(){
  return view('welcome');
});
Aici 'Route' este o clasa care are o metoda statica get() ce returneaza o metoda view() care prezinta o pagina web creata in directorul 'resources/views/'.
Cand un utilizator visiteza prima pagina, va fi afisat continutul din 'welcome.blade.php' (stocat in directorul views).
Poti trimite un alt respuns in loc de view(). De exemplu:
Route::get('/', function(){
  return 'welcome';
});
Va returna doar cuvantul "welcome" pe pagina principala.
Daca vrei sa modifici pagina principala, editeaza fisierul 'welcome.blade.php' in directorul "resources/views/".

Afisare continut in functie de adresa URL

Folosind metoda Route::get(), poti afisa continut pe pagina in functie de adresa URL.
Sa cream inca o ruta pentru o pagina "test".
- Adaugati acest cod in "routes/web.php":
//home-page
Route::get('/', function(){
  return view('welcome');
});

//test page
Route::get('/test', function(){
  return view('test');
});
- In directorul "resources/views/" creaza un fisier "test.blade.php" cu acest continut:
<!doctype html>
<html lang="{{app()->getLocale()}}">
<head>
<meta charset="utf-8">
<title>Test page</title>
</head>
<body>
<h1>Something about nothing</h1>
</body>
</html>
Deschide interfata Command Line (CMD in Windows), navigheaza catre directorul unde este instalat Laravel si ruleaza aceasta comanda pentru a porni serverul PHP integrat.
php artisan serve
Acum, daca accesezi pagina "test" in browser, de exemplu:
//localhost:8000/test/
Va afisa o pagina ca in aceasta imagine:
Laravel route test page
Folosind un framework, nu e nevoie sa creezi un fisier view pentru fiecare pagina; acesta este doar un exemplu pentru a vedea cum functioneaza 'Route'.

Parametri Route

Daca adresa URI are parametri, acestia pot fi preluati in functia "callback" definita la Route.
- Exemplu: Preia si afiseaza ID-ul "paginii" adaugat in URL.
Route::get('page-{id}', function($id){
  return 'Page id: '. $id;
});
Daca adaugi codul de mai sus in "routes/web.php", orice argument adaugat dupa "public/page-" in URL va fi retinut in $id, si putem folosi acel parametru pentru procesare in continuare. Aici doar il afisam.

Se pot folosi si parametri Route optionali, adaugand semnul "?" dupa numele parametrului:
Route::get('page{id?}', function($id ='noid'){
  return 'Page id: '. $id;
});
Se pot folosi expresii Regexp pentru a executa un route doar daca un parametru indeplineste anumite cerinte; adaugand metoda where().
Route::get('page-{name}', function($name){
  return 'Page name: '. $name;
})->where('name', '[A-z-]+');
De asemenea, se pot defini mai multi parametri la un route:
Route::get('/{name}/{id?}', function($name, $id=1){
  return 'Page name: '. $name .', id: '. $id;
})->where(['name'=>'[A-z-]+', 'id'=>'[0-9]+']);

Numire Rute

Laravel permite sa denumesti fiecare route cu un nume care va permite sa faci referire la acel Route fara sa adaugi in mod explicit adresa URL. Astfel, poti da nume simple unor rute complexe, apoi se pot crea link-uri simplu folosind direct numele definit, si de asemenea, nu e nevoie sa rescrii link-ul paginii daca adresa URI se schimba.
- Poti defini numele route-ului folosind metoda name().
Route::name(name_id)->get('/{name}/{id?}', function($name, $id=1){
  return 'Page name: '. $name .', id: '. $id;
})->where(['name'=>'[A-z-]+', 'id'=>'[0-9]+']);
Pentru a crea o adresa URL pentru acest route (numit 'name_id'), se foloseste functia route(), cu numele si parametri necesari intr-un array.
De exemplu, intr-un fisier view poti adauga acest cod pentru a crea doua link-uri pentru route-ul "name_id":
<?php
$url1 = route('name_id', ['name'=>'test']); //here id is not specified because it is optional
$url2 = route('name_id', ['name'=>'tutorial', 'id'=>2]);
?>
<a href='{{$url1}}' title='test'>Test</a>
<a href='{{$url2}}' title='tutorial'>Tutorial</a>
- Va crea doua link-uri asa:
<a href='http://localhost:8000/test/' title='test'>Test</a>
<a href='http://localhost:8000/tutorial/2' title='tutorial'>Tutorial</a>
• Pentru a face adrese URL relative, adauga "false" ca al treilea argument in functia route():
route('route_name', array(), false)
- Va crea un link asa:
<a href='/tutorial/2' title='tutorial'>Tutorial</a>
Asemanator, pentru a redirectiona catre un route denumit, se foloseste metoda redirect():
return redirect()->route('name_id', ['name'=>'test']);

• Metoda get() este folosita pentru cereri HTTP(S) GET, dar se pot defini route-uri pentru fiecare tip de cerere, cum ar fi POST, PUT sau DELETE.

Tipuri de Route in Laravel

Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);

//for multiple HTTP verbs
Route::match(['get', 'post'], '/', function(){
  //
});

//route that responds to all HTTP verbs
Route::any('foo', function(){
  //
});
- Documentatie: Laravel - Routing

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag HTML5 defineste un text marcat, evidentiat?
<mark> <embed> <span>
<p>Cursuri graruite: <mark>MarPlo.net</mark> , jocuri, anime.</p>
Ce pseudo-clasa CSS defineste un stil la element cand mouse-ul e deasupra lui?
:focus :hover :active
a:hover {
  font-weight: bold;
  color: #00da01;
}
Clic pe functia ce returneaza un sir cu un numar rotunjit la x decimale.
toPrecision(x) toFixed(x) floor(x)
var num = 12.34567;
num = num.toFixed(2);
alert(num);       // 12.35
Indicati functia PHP care adauga continutul unui fisier intr-un array.
[) file() readfile()
$arr = file("a_file.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
var_export($arr);
Clic pe raspunsul potrivit la intrebarea: "What time is it?"
On the 7th of July 1996 It is a quarter to 5. Nice weather.
What time is it? It is a quarter to 5.
- Cat este ora? E 5 fara un sfert.
Indicati raspunsul potrivit la intrebarea: "¿Qué hora es?"
Hace buen tiempo. En el 7 de julio de 1996 Son las tres menos cuarto.
¿Qué hora es? Son las tres menos cuarto.
- Cat este ora? E 3 fara un sfert.
Laravel tutorial - Routing

Last accessed pages

  1. Scriere scripturi PHP elementare (1576)
  2. Conditional IF in Limba Engleza - Fraze Conditionale (20736)
  3. Curs PHP MySQL, Tutoriale si Scripturi PHP (6659)
  4. Espanol Chistes - Glume, Bancuri (877)
  5. Sintaxa JavaScript (2435)

Popular pages this month

  1. Gramatica limbii engleze - Prezentare Generala (2144)
  2. Prezentul simplu si continuu - Present Tense Simple and Continuous (1480)
  3. Cursuri si Tutoriale: Spaniola, Engleza, HTML, CSS, Php-Mysql, JavaScript, Ajax (1072)
  4. Trecutul simplu si continuu - Past Tense Simple and Continuous (1025)
  5. Prezent perfect si Prezent perfect continuu - Present perfect and Continuous (981)