- Mostenire in Template
- Blade si Framework-uri JavaScript

Blade este un sistem simplu de template furnizat cu Laravel. Un fisier blade template contine extensia - ".blade.php" si este stocat in directorul resources/views/.

Afisare date in Template

Puteti afisa date din variabile adaugate in view-ul Blade prin punerea variabilei intre doua acolade: {{...}}.
De exemplu, conform acestei rute:
Route::get('greeting', function () {
  return view('welcome', ['name'=>'Laravel']);
});
In view-ul "welcome.blade.php" puteti afisa continutul variabile 'name' asa:
Hello {{$name}}
Daca nu sunteti siguri ca o variabila a fost setata, puteti folosi afirmatia "or", care permite sa setezi o valoare implicita:
{{ $title or 'Default' }}
- va afisa valoarea $title daca este setata, sau "Default".

Puteti sa afisati si rezultatul unei functii PHP. De fapt, puteti pune orice cod PHP doriti intr-un template Blade.
- Exemplu:
1. Adaugati acest cod intr-un fisier resources/views/test_tmp.blade.php.
<?php
function php_fun(){
  return 'custom function';
}
$php_vr ='simple string';
?>
<!doctype html>
<html lang="{{app()->getLocale()}}">
<head>
<meta charset="utf-8">
<title>{{$title}}</title>
</head>
<body>
<h1>{{$title}}</h1>
Variable from php: {{$php_vr}}<br>
Function from php: {{php_fun()}}<br>
The current UNIX timestamp is 1544878118
</body>
</html>
2. Adaugati acest cod in fisierul routes/web.php:
Route::get('/test_blade', function(){
  return view('test_tmp', ['title'=>'Laravel Blade Example']);
});
3. Accesati in browser urmatoarea adresa URL pentru a vedea rezultatul view-ului.
//localhost:8000/test_blade
- Va afisa o pagina precum se vede in urmatoarea imagine.
Laravel Test Blade
Framework-ul Laravel aplica automat functia htmlspecialchars() la datele din: {{ }}.
Daca vreti ca elementele HTML din acele datele sa nu fie transformate, folositi: {!! $variable !!}
Puteti de asemenea folosi directiva Blade @php pentru a executa un bloc de cod PHP simplu in template:
@php
$php_v =210;
echo $php_v;
@endphp

Adaugare Comentarii

Blade permite sa definiti comentarii in template. Spre deosebire de comentariile HTML, comentariile Blade nu vor fi incluse in codul HTML rezultat:
{{-- This comment will not be present in the rendered HTML --}}

Mostenire in Template

Principalele avantaje in sistemul Blade sunt mostenire si sectiuni template.
Putem defini un master template care poate fi mostenit si extins de alte pagini individuale.

Exemplu de template a unei pagini "master"

1. Creati un director "layouts" in directorul "resources/views/"; apoi copiati urmatorul cod si salvati-l intr-un fisier "resources/views/layouts/app.blade.php".
<html>
<head>
<title>App Name - @yield('title')</title>
</head>
<body>
@section('sidebar')
 This is the 'app' master sidebar.
@show

<div class="container">
 @yield('content')
</div>
</body>
</html>
Aici in template-ul master "app" :
2. Acum, vom crea inca un view care extine template-ul master "app". Copiati si salvati urmatorul cod in resources/views/child.blade.php
@extends('layouts.app')
@section('title', 'Page Title')

@section('sidebar')
 @parent
 <p>This is appended from 'child' to the 'app' master sidebar.</p>
@endsection

@section('content')
 <h2>{{$name}}</h2>
 <p>This is child page body content.</p>
@endsection
Descrierea fiecarui element:
3. Acum seteaza ruta pentru a vedea acest template. Adaugati urmatorul cod in fisierul routes/web.php:
Route::get('/blade', function(){
  return view('child', ['name'=>'Mar Plo']);
});
4. Accesati in browser urmatoarea adresa URL pentru a vedea rezultatul view-ului.
//localhost:8000/blade
- Rezultatul va aparea precum se vede in imaginea urmatoare.
laravel Blade Template Inheritance

Blade si Framework-uri JavaScript

Deoarece multe framework-uri JavaScript folosesc de asemenea acolade "{}" care trebuie incluse in continutul paginii, puteti folosi simbolul "@" pentru a informa Blade sa ignore acea afirmatie. Sistemul blade va inlatura simbolul "@".
In exemplul urmator, simbolul '@' va fi inlaturat si {{ js_variable }} va ramane neatis de sistemul Blade:
// Parsed as Blade
{{ $blade_variable }}

// @ removed, and echoed to the view directly
@{{ js_variable }}

Directiva @verbatim

Daca afisati variabile JavaScript intr-o larga protiune din template, puteti impacheta HTML-ul in directiva @verbatim astfel nu va fi necesar sa prefixati fiecare afirmatie Blade {{...}} cu un simbol @:
{{ $blade_variable }}

@verbatim
<div class="container">
 Used by JS, {{ js_variable }}<br>
 {{ js_var2 }}
</div>
@endverbatim

- Documentatie: Laravel - Blade Templates

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.
Template tip Blade in Laravel - Part 1

Last accessed pages

  1. Conditional IF in Limba Engleza - Fraze Conditionale (20736)
  2. Curs PHP MySQL, Tutoriale si Scripturi PHP (6659)
  3. Espanol Chistes - Glume, Bancuri (877)
  4. Sintaxa JavaScript (2435)
  5. Trecut perfect si Trecutul perfect continuu - Present perfect and Continuous (15159)

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)