Curs Php-mysql

- 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
Clic pe tag-ul care creaza celula in tabel.
<tr> <span> <td>
<table></tr>
  <td>Cell-1</td><td>Cell-2</td>
</tr></table>
Indicati proprietatea CSS care adauga o imagine pentru fundal
background-color background-image color
h3 {
  background-image: url("image.jpg");
}
Ce instructiune se foloseste la parcugerea elementelor unui Array?
for() [) object()
var arr = [1, "ab", "CoursesWeb.net"];
for(var i=0; i< arr.length; i++) { alert(arr[i]); };
Indicati functia PHP utilizata la parcurgerea elementelor unui Array asociativ.
for() foreach() if()
$arr =["k1"=>"v1", "k2"=>"v2", "k3"=>"v3");
foreach($arr AS $k => $v) { echo "<br/>". $k ." - ". $v; }
Care din urmatoarele cuvinte este sinonim cu "gentle" (bland)?
meek good beautiful
He is so kind and meek.
- El este atat de amabil si bland.
Care din urmatoarele cuvinte este sinonim cu "amable" (bland, prietenos)?
hermoso fuerte manso
Tu padre tiene un carácter muy manso.
- Tatal tau are un caracter foarte bland.
Laravel tutorial - Routing

Last accessed pages

  1. Articolul din limba engleza - The article (70256)
  2. Cursuri Limba Rusa (5944)
  3. Prezentul simplu - Exercitii si teste incepatori (70031)
  4. Accentul si Pronuntia (28452)
  5. Poezii pentru copii, in engleza (40912)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (1223)
  2. Coduri pt culori (892)
  3. Cursuri limba engleza gratuite si lectii online (590)
  4. Gramatica limbii engleze - Prezentare Generala (521)
  5. Exercitii engleza - English Tests and exercises - Grammar (476)