- Transmitere date catre fisiere View
- Folosire Date predefinite cu toate view-urile

Intelegere Views

Views (sau Template-uri ) in Laravel sunt fisiere '.php' stocate in directorul "resources/views", si sunt in general folosite pentru a crea continutul paginii afisata in browser. Aceste fisiere pot contine cod HTML, CSS, JavaScript si PHP.
In Laravel, exista doua tipuri de view pe care le puteti folosi: Blade (cu extensia ".blade.php" in numele fisierului) rendat cu sistemul de template Blade; sau simplu ".php" (care nu va prelucra codul de tip Blade Template).

- Exemplu simplu de utilizare fisier view Blade:
1. Copiati urmatorul cod si salvati-l intr-un fisier resources/views/light.blade.php.
<html>
<body>
<h1>View is an effect, Vision is the source</h1>
</body>
</html>
2. Adaugati urmatoarea linie in fisierul routes/web.php pentru a defini route-ul pentru view-ul de mai sus.
Route::get('/light', function(){
 return view('light');
});
3. Accesati in browser urmatorul URL pentru a vedea rezultatul view-ului.
//localhost:8000/light
- Rezultatul va apare precum se vede in imaginea de mai jos.
laravel Simple View
Daca fisierul view este intr-un sub-director din directorul "resources/views", de exemplu "resources/views/pages/name.blade.php", adaugati numele sub-directorului inainte de numele fisierului:
return view('pages.name');
Pentru a verifica daca un view exista, puteti folosi metoda exists() a clasei View din Facades. Metoda va returna true daca view-ul exista:
use Illuminate\Support\Facades\View;

if(View::exists('pages.test')){
 //
}

Transmitere date catre fisiere View

Puteti utiliza variabile in fisierele template din resources/views/, folosind aceasta sintaxa: {{$variable_name}}, apoi adaugati un array cu perechi nume=>valoare ca al doilea argument in metoda view().
"Nume" in array trebuie sa corespunda cu numele variabilei in template.

- Exemplu simplu de Blade view:
1. Copiati si salvati urmatorul cod intr-un fisier resources/views/greeting.blade.php.
<html>
<head>
<title>{{$title}}</title>
</head>
<body>
<h1>Hello {{$name}}</h1>
</body>
</html>
2. Adaugati urmatoarea linie in fisierul routes/web.php pentru a crea route-ul pentru view-ul de mai sus.
Route::get('/greeting', function(){
 $vars =['title'=>'Greetings', 'name'=>'Me'];
 return view('greeting', $vars);
});
3. Accesati in browser urmatorul URL pentru a vedea rezultatul view-ului.
//localhost:8000/greeting
- Rezultatul va apare precum se vede in imaginea urmatoare.
laravel Greetings View

Folosire Date predefinite cu toate view-urile

Daca vreti sa transitei aceleasi date la toate view-urile, folositi metoda view()->share().
Metoda share() preia doua argumente: key si valoare.
De obicei metoda share() poate fi apelata din metoda boot() a unei clase ServiceProvider.
Se poate folosi orice clasa ServiceProvider, cum ar fi: AppServiceProvider.

- Exemplu:
1. Creaza doua fisiere view: test.blade.php si test2.blade.php cu acelasi cod, in directorul "resources/views/".
- Copiaza urmatorul cod in amandoua fisierele.
<html>
<body>
<h1>Share {{$state}}</h1>
<h2>Receive {{$gift}}</h2>
</body>
</html>
2. Modificati codul metodei boot() din fisierul app/Providers/AppServiceProvider.php, cum este aratat mai jos (Aici, am folosit metoda share() si datele pe care le-am adaugat vor putea fi utilizate in toate view-urile).
<?php
namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider {
 //Bootstrap any application services.
 //@return void
 public function boot(){
 view()->share('state', 'Peace');
 view()->share('gift', 'Love');
 }

 //Register any application services.
 //@return void
 public function register(){
 //
 }
}
3. Adaugati urmatoarele linii in fisierul routes/web.php.
Route::get('/test', function(){
 return view('test');
});
Route::get('/test2', function(){
 return view('test2');
});
4. Vizitati urmatoarele adrese URL:
//localhost:8000/test

//localhost:8000/test2
- Rezultatul pentru ambele adrese va aparea precum se vede in imaginea urmatoare.
laravel Greetings View

- Documentatie: Laravel - Views

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce atribut e folosit in tag-ul <a> pentru adresa link-ului?
src href rel
<a href="http://coursesweb.net/" title="CoursesWeb.net">CoursesWeb.net</a>
Ce proprietate CSS seteaza tipul fontului utilizat?
font-family text-decoration font-size
h2 {
  font-family:"Calibri", sans-serif;
}
Ce instructiune selecteaza toate tag-urile <div> cu class="cls"?
querySelector("div.cls") getElementsByTagName("div") querySelectorAll("div.cls")
var elm_list = document.querySelectorAll("div.cls");
var nr_elms = elm_list.length;       // numar elemente selectate
alert(nr_elms);
Indicati functia care returneaza suma valorilor dintr-un array.
array_sum() array_diff() array_shift()
$arr =[1, 2, 3, 4);
$arr_sum = array_sum($arr);
echo $arr_sum;       // 10
Indicati forma corecta a verbului "study" (a studia) la Trecutul Simplu in aceasta propozitie: "We (study) English."
studyed studys studied
We studied English.
- Noi am studiat engleza.
Indicati forma corecta a verbului "decir" (a spune) la Prezent in aceasta propozitie: "Yo (decir) siempre la verdad."
digas digo decir
Yo digo siempre la verdad.
- Eu spun mereu adevarul.
Laravel tutorial - Views

Last accessed pages

  1. Verbe modale - Modal verbs - CAN, COULD, MAY, MIGHT, MUST (31409)
  2. Trecut perfect si Trecutul perfect continuu - Past perfect and Continuous (29104)
  3. Prezent perfect si Prezent perfect continuu - Present perfect and Continuous (46407)
  4. Conditional IF in Limba Engleza - Fraze Conditionale (47968)
  5. Blog si Cugetari Personale (10470)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (7732)
  2. Curs HTML gratuit Tutoriale HTML5 (6383)
  3. Curs si Tutoriale JavaScript (5603)
  4. Curs PHP MySQL, Tutoriale si Scripturi PHP (5459)
  5. Curs CSS Online Tutoriale CSS3 (5302)