Curs Php-mysql

- 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 tip de <input> creaza un element cu data tip calendar?
type="text" type="date" type="button"
<input type="date" name="set_date" value="2012-10-15" />
Ce proprietate CSS adauga efect de umbre la text?
font-style color text-shadow
h2 {
  text-shadow: 2px 3px 3px #a0a1fe;
}
Clic pe functia care adauga elemente noi la sfarsitul unui array.
pop() shift() push()
var pags = ["lectii", "cursuri"];
pags.push("download", "tutoriale");
alert(pags[2]);            // download
Ce functie aranjeaza un array in ordine crescatoare, dupa chei, mentinand corelatia dintre chei si valori?
asort() ksort() sort()
$lang =[10=>"PHP", 20=>"JavaScript", "site"=>"coursesweb.net");
ksort($lang);
var_export($lang);     // array ("site"=>"coursesweb.net", 10=>"PHP", 20=>"JavaScript")
La adjectivul "big" (mare), care este forma de Comparativ (mai mare)?
biggest biger bigger
He is bigger than his sister.
- El este mai mare decat sora lui.
Care este Comparativul adjectivului "grande" (mare)?
menos grande más grande el más grande
Él es más grande que su hermana.
- El este mai mare decat sora lui.
Laravel tutorial - Views

Last accessed pages

  1. Trecut perfect - Exercitii si teste incepatori (8864)
  2. Coduri pt culori (70464)
  3. Numere in JavaScript (2271)
  4. Recapitulare generala la verbe 2 (1527)
  5. Utilizare Gradient (889)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (348)
  2. Gramatica limbii engleze - Prezentare Generala (216)
  3. Coduri pt culori (177)
  4. Cursuri limba engleza gratuite si lectii online (148)
  5. Creare si editare pagini HTML (135)