Curs Php-mysql

- Stocare informatii in Log

Cand creati un proiect Laravel, setarile pentru erori sunt automat configurate. Clasa App\Exceptions\Handler se ocupa de inregistrarea erorilor si le reda inapoi la utilizator.

Optiunea debug din fisierul config/app.php determina ce informatii de eroare sunt afisate utilizatorului. Aceasta optiune e setata sa respecte valoarea din variabila APP_DEBUG, care se afla in fisierul .env.
- Pentru lucru pe serverul local, setati true la valoarea variabilei APP_DEBUG. In aplicatiile care sunt publice setati valoarea false.

Pentru inregistrarea informatiilor in Log, Laravel foloseste libraria Monolog. Fisierele "log" sunt create in directorul storage/logs.

Erori HTTP - Pagini de Eroare HTTP Personalizate

Pentru a genera coduri de eroare HTTP: 404, 500, etc., puteti folosi metoda abort() oriunde in aplicatia Laravel.
abort(404);
- Optional, puteti adauga un raspuns text personalizat:
abort(403, 'Unauthorized action.');

Pagini de Eroare HTTP Personalizate

Laravel face foarte usor utilizarea paginilor de eroare personalizate pentru fiecare cod de eroare HTTP. Doar creati un director errors in directorul resources/views/, apoi creati un fisier "Codul_Erorii.blade.php" pentru fiecare eroare HTTP pe care vreti sa o personalizati. Framework-ul Laravel va detecta automat fisierul in directorul "views/errors/" si il va folosi cand apare acea eroarea.
- Aici aveti un exemplu de fisier template pentru pagina in caz de eroare http 404.

1. Creati un fisier in resources/views/errors/404.blade.php si copiati codul urmator in acel fisier:
<!doctype html>
<html lang="{{app()->getLocale()}}">
<head>
<meta charset="utf-8">
<title>Error 404</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style>
body {
background:#f7f8fe;
font-family:'Calibri',sans-serif;
margin:1px 1%;
padding:0;
position:relative;
text-align:center;
}
</style>
</head>
<body>
<h1>Error 404 - Page not exists</h1>
<h2>Which does not exist cannot affect you.</h2>
<h3>If you want something that exists, your-self is the Truth in this present.</h3>
</body>
</html>
2. Accesati o adresa a unei pagini care nu exista, spre exemplu:
//localhost:8000/present-gift
- Va afisa continutul din fisierul resources/views/errors/404.blade.php.

In acelasi mod puteti face pagini de eroare pentru codurile de erori http: 401, 403, 500.

Stocare informatii in Log

Laravel suporta scrierea de informatii log in fisier unic, fisiere zilnice, in syslog si in errorlog.
Pentru a configura Laravel ce mecanism de stocare sa foloseasca, modificati optiunea log in fisierul config/app.php.
- Spre exemplu pentru a folosi fisierele log zilnice in loc de un singur fisier, setati valoarea 'daily' la log in fisierul app.php:
'log'=> 'daily'

Maximu de Fisiere Log Zilnice

Cand se foloseste modul log daily, Laravel va pastra ultimele cinci zile de fisiere log. Ca sa modificati numarul de fisiere retinute, adaugati o valoare cu numarul de zile intr-o proprietate log_max_files in fisierul config/app.php:
'log_max_files'=> 7

Nivele de severitate pt. Log

In Laravel puteti folosi urmatoarele nivele de severitate - de la cel mai putin sever la cel mai sever: debug, info, notice, warning, error, critical, alert, emergency.
In mod implicit, Laravel scrie in log informatii de la toate nivelurile de severitate. Daca doriti sa configurati un anumit minim de severitate care ar trebui inregistrata, schimbati valoarea de la APP_LOG_LEVEL in fisierul ".env":
APP_LOG_LEVEL=error
Sau optiunea log_level in fisierul "config/app.php".
'log_level'=> 'error'
Laravel va inregistra toate nivelurile mai mari sau egale cu nivelul de severitate specificat. Spre exemplu, daca setati nivelul error, va inregistra mesaje legate de: error, critical, alert, emergency.

Scriere informatii in log-uri

Puteti scrie informatii in log-uri folosind Log facade.
<?php
namespace App\Http\Controllers;

use App\User;
use Illuminate\Support\Facades\Log;
use App\Http\Controllers\Controller;

class UserController extends Controller{
  //Show the profile for the given user
  //@param  int  $id
  //@return view
  public function showProfile($id){
    Log::info('Showing user profile for user: '.$id);

    return view('user.profile', ['user'=> User::findOrFail($id)]);
  }
}
- Clasa Log furnizeaza opt tipuri de nivele log:
Log::emergency($message);
Log::alert($message);
Log::critical($message);
Log::error($message);
Log::warning($message);
Log::notice($message);
Log::info($message);
Log::debug($message);
- Puteti adauga un array cu date ca al doilea argument in metodele clasei Log. Aceste date vor fi formmatate si afisate in mesajul salvat in log:
Log::notice('User failed to login.', ['id'=> $user->id]);


- Documentation: Laravel - Errors and Logging

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag e folosit pentru a adauga liste cu definitii in element <dl>?
<dt> <dd> <li>
<dl>
 <dt>HTML</dt>
  <dd> - Hyper Text Markup Language</dd>
  <dd> - Limbaj de cod pentru pagini web</dd>
</dl>
Care proprietate CSS poate sa ascunda un element in pagina, lasand spatiu gol in locul lui?
display position visibility
#id {
  visibility: hidden;
}
Indicati evenimentul declansat cand se apasa clic pe un obiect in pagina.
onclick onmouseover onfocus
document.getElementById("id").onclick = function(){
  alert("http://www.MarPlo.net/");
}
Indicati variabila PHP ce contine datele din $_GET, $_POST si $_COOKIE.
$_SESSION $_GET $_REQUEST
if(isset($_REQUEST["id"])) {
  echo $_REQUEST["id"];
}
Care din urmatoarele cuvinte reprezinta un Verb?
lighting believe path
I believe in my path.
- Eu cred in calea mea.
Care din urmatoarele cuvinte reprezinta un Verb?
creer camino iluminaciĆ³n
creer = a crede; camino = cale /drum; iluminaciĆ³n = iluminare
Erori HTTP si stocare informatii in Log - Laravel tutorial

Last accessed pages

  1. Prezentul simplu si continuu - Present Tense Simple and Continuous (145380)
  2. Curs HTML gratuit Tutoriale HTML5 (188418)
  3. Curs CSS Online Tutoriale CSS3 (116711)
  4. Cursuri Franceza, Germana, Italiana si Rusa (7381)
  5. Prezent perfect - Exercitii si teste incepatori (19993)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (1081)
  2. Curs HTML gratuit Tutoriale HTML5 (887)
  3. Coduri pt culori (626)
  4. Creare si editare pagini HTML (517)
  5. Conditional IF in Limba Engleza - Fraze Conditionale (469)