- 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
Care tag creaza un text ingrosat?
<q> <strong> <em>
<p>Adresa: <strong>http://CoursesWeb.net/</strong> - Tutoriale.</p>
Care din aceste coduri CSS afiseaza textul ingrosat?
text-size: 18px; font-style: italic; font-weight: 800;
#id {
  font-weight: 800;
}
Ce functie JavaScript apeleaza o alta functie, in mod repetat, la un anumit interval de timp?
setInterval() setTimeout() push()
function someFunction() { alert("CoursesWeb.net"); }
setInterval("someFunction()", 2000);
Clic pe variabila definita corect in PHP.
var vname = 8; $vname = 8; $vname == 8;
$vname = 8;
echo $vname;
Care din urmatoarele forme ale verbului "travel" (a calatori) e la timpul Prezent Perfect?
have traveled shall travel had traveled
We have traveled in space.
- Noi am calatorit (deja) in spatiu.
Care din urmatoarele forme ale verbului "pintar" (a picta) se foloseste la Trecutul Imperfect?
ir a pintar pintaba pintó
La niña pintaba un arco iris.
- Fetita picta un curcubeu.
Laravel tutorial - Views

Last accessed pages

  1. Trecut perfect si Trecutul perfect continuu - Present perfect and Continuous (20714)
  2. Gradele de comparatie: comparative, superlative (14880)
  3. Confusable words - Cuvinte confundabile - Test Engleza (1249)
  4. Confusable words - Cuvinte confundabile (2553)
  5. Substantivul din limba engleza - The Noun (22256)

Popular pages this month

  1. Gramatica limbii engleze - Prezentare Generala (3239)
  2. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (1498)
  3. Creare si editare pagini HTML (1243)
  4. Curs HTML gratuit Tutoriale HTML5 (1093)
  5. Prezentul simplu si continuu - Present Tense Simple and Continuous (956)