- Atasare Header la raspuns
- Atasare Cookie la response()
- Returnare View
- Returnare JSON
- return() pt. Descarcare Fisiere
- response() Fisier

In general, metodele de la Route si din controller returneaza un raspuns care e trimis inapoi la browser-ul utilizatorului. Laravel furnizeaza diferite moduri de a returna raspunsuri.

Raspunsuri de baza, String si Array

Raspunsul de baza care poate fi trimis este returnarea simpla a unui sir (string) de la un route sau controller. Framework-ul va converti automat string-ul intr-un raspuns HTML:
Route::get('/', function(){
  return 'Hello Me';
});
- Afiseaza:
Hello Me
Poti de asemenea sa returnezi array-uri. Framework-ul va converti automat array-ul intr-un raspuns JSON:
Route::get('/', function(){
  return ['happy'=>'love', 'give'=>'freedom', 'have'=>'peace', 8];
});
- Afiseaza:
{"happy":"love","give":"freedom","have":"peace","0":8}

Atasare Header la raspuns

Puteti folosi metoda header() pentru a adauga o serie de header-uri HTTP la raspuns.
return response($content)
 ->header('Content-Type', $type)
 ->header('X-Header-One', 'Header Value')
 ->header('X-Header-Two', 'Header Value');
Sau, poti folosi metoda withHeaders() pentru a specifica un array de header-uri sa fie adaugate la raspuns:
return response($content)
 ->withHeaders([
  'Content-Type'=> $type,
  'X-Header-One'=> 'Header Value',
  'X-Header-Two'=> 'Header Value',
]);

Atasare Cookie la response()

Metoda cookie() pe instantele response() permite sa generezi un cookie si sa-l atasezi la raspuns.
return response($content)
 ->header('Content-Type', 'text/html')
 ->cookie('name', 'value', 24*7*60*60); //cookie expires after 7 days
- In mod implicit, toate cookie-urile generate de Laravel sunt criptate si semnate pentru a nu putea fi modificate sau citite de client.

Returnare View

Puteti utiliza functia view() pentru a returna continutul unui fisier php localizat in directorul "resources/views/" sau in sub-directoarele sale.
1. Urmatorul cod cauta un fisier template in resources/views/home.blade.php sau resources/views/home.php, incarca continutul acestuia si executa orice cod PHP din fisier.
Route::get('/', function(){
  return view('home');
});
2. Urmatorul cod incarca resources/views/tasks/index.blade.php sau resources/views/tasks/index.php si cu metoda with() ii transmite o variabila numita tasks, care contine resultatul metodei Task::all().
Route::get('tasks', function(){
  return view('tasks.index')->with('tasks', Task::all());
});
3. Se poate de asemenea sa transmiteti la view un array de variabile, ca al doilea parametru:
Route::get('tasks', function(){
  return view('tasks.index', ['k1'=>'value1', 'k2'=>'value-2']);
});
4. Daca vrei sa returnezi continutul unui fisier view, cu un anumit status HTTP si header, poti folosi metoda response()->view(), ca in acest exemplu:
Route::get('/page',function(){
  return response()->view('view_file', ['name'=>'value'], 200)->header('Content-Type', 'text/html');
});

Returnare JSON

Un raspuns de tip JSON poate fi trimis folosind metoda json(). Aceasta metoda seteaza automat header-ul Content-Type in application/json si face array-ul dat ca sir JSON, folosind functia PHP json_encode().
Route::get('json',function(){
  return response()->json(['name'=>'Mar Plo', 'state'=>'Heaven']);
});
- Rezultat:
{"name":"Mar Plo","state":"Heaven"}

response() pt. Descarcare Fisiere

Metoda download() poate fi folosita pentru a genera un raspuns care forteaza browser-ul utilizatorului sa descarce fisierul de la adresa data.
Metoda download() accepta un nume de fisier ca al doilea argument, care va determina numele fisierului vazut de utilizator.
Se poate adauga si un array de header-uri HTTP ca al treilea argument:
return response()->download($pathToFile);

return response()->download($pathToFile, $name, $headers);

return response()->download($pathToFile)->deleteFileAfterSend(true);

response() fisier

Metoda file() poate fi folosita pentru a afisa un fisier, cum ar fi o imagine sau PDF, direct in browser-ul utilizatorului in loc de a initia o descarcare.
Aceasta metoda accepta calea catre fisier ca primul argument, si optional un array de header-uri ca al doilea argument:
return response()->file($pathToFile);

return response()->file($pathToFile, $headers);


- Documentatie: Laravel - HTTP Responses

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce tag se foloseste pentru a adauga liste in elemente <ul> si <ol>?
<dt> <dd> <li>
<ul>
 <li>http://coursesweb.net/html/</li>
 <li>http://www.marplo.net/html/</li>
</ul>
Care valoare a proprietatii "display" seteaza elementul ca tip bloc si afiseaza un punct in fata?
block list-item inline-block
.some_class {
  display: list-item;
}
Care instructiune JavaScript transforma un obiect in sir JSON.
JSON.parse() JSON.stringify eval()
var obj = {
 "courses": ["php", "javascript", "ajax"]
};
var jsonstr = JSON.stringify(obj);
alert(jsonstr);    // {"courses":["php","javascript","ajax"]}
Indicati clasa PHP folosita pentru a lucra cu elemente HTML si XML in PHP.
stdClass PDO DOMDocument
$strhtml = '<body><div id="dv1">CoursesWeb.net</div></body>';
$dochtml = new DOMDocument();
$dochtml->loadHTML($strhtml);
$elm = $dochtml->getElementById("dv1");
echo $elm->nodeValue;    // CoursesWeb.net
Indicati forma de Prezent Continuu a verbului "to live" (a trai /a locui)
lived living liveing
I`m living here.
- Traiesc /Locuiesc aici.
Care este forma de Gerunziu (sau Participiu Prezent) a verbului "vivir" (a trai /a locui)?
viviĆ³ vivido viviendo
Estoy viviendo aquĆ­.
- Traiesc /Locuiesc aici.
Laravel - Returnari

Last accessed pages

  1. Jokes - Glume, Bancuri, Humor (1381)
  2. Prezentul simplu - Exercitii si teste incepatori (6923)
  3. Lectii audio-video de initiere in limba engleza (833)
  4. Lectii audio-video de limba engleza (4611)
  5. Limba spaniola curs online incepatori si avansati (6092)

Popular pages this month

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