BluePink BluePink
XHost
Oferim servicii de instalare, configurare si monitorizare servere linux (router, firewall, dns, web, email, baze de date, aplicatii, server de backup, domain controller, share de retea) de la 50 eur / instalare. Pentru detalii accesati site-ul BluePink.

Introducere

Dacă aţi ajuns până aici ştiţi că LARAVEL este un framework php. Aveţi noţiuni de algoritmi,limbaj de programare orientat pe obiecte, ştiţi html, css, php, mysql,etc. Aţi auzit despre MVC (Model-View-Controller) care separă partea logică de partea prezentare a unei aplicaţii, protejând accesul la baza de date.
Nu am să încep cu instalare, composer, bla bla bla... pentru că, deşi dacă aş ţine cont de ordinea firească a lucrurilor aşa ar trebui, vă asigur că dacă daţi căutare pe Google, orice curs sau tutorial despre Laravel începe pompos cu instalarea şi de cele mai multe ori se termină acolo. Ţin doar să precizez că, odată instalat pe server, proiectul Laravel conţine o structură de directoare şi fişiere care variază de la caz la caz foarte puţin în funcţie de versiune.
Ştiţi, desigur că vă trebuie (printre muuulte altele, veţi vedea!) un server web, o aplicaţie de prelucrare a bazelor de date şi un mediu de programare php. Am instalat pe calculatorul meu xampp
Structura de directoare și fișiere:

Despre rute, prezentări şi controllere

Tabelul de rutare este descris in versiunea 5.4.15 în fişierul web.php din folderul routes şi este pe limba neaoşă românească, harta aplicaţiei. El poate să conţină mai multe rute, ca o hartă pe care poţi desena mai multe trasee. Din câte am priceput eu, o rută primeşte o solicitare şi fie o rezolvă direct printr-o metodă descrisă în codul rutei, fie o direcţionează spre un controller.Desigur că de cele mai multe ori -asta ca să nu spun că întotdeauna- când proiectăm o rută trimitem solicitarea spre un controller. Deci, altfel spus, o rută este... o rută :))
Controllerul este partea logică, sau neuronul, cum vă place! Este , ca şi tabelul de rutare, un fişier cu extensia php. Pentru că o aplicaţie poate avea şi are mai multe controllere, ele sunt salvate în folderul /app/http/controllers. El, controllerul, comandă şi ca un şef bun care este, nu numai că dă comenzi dar şi descrie metodic în php, felul în care trebuie executate iar apoi dă ordin prezentării să ne afişeze rezultatele laborioaselor sale eforturi.Ca orice angajat superior, are acces la baza de date cu care poate să facă ce vrea el, chiar să îi paseze bietei şi umilei prezentări câte o informaţie din când în când!
Dacă vă place biologia eu văd controllerele ca pe neuroni şi rutele ca pe sinapse.
Prezentarea este partea din aplicaţie la care utilizatorul are acces. Este ceea ce vede el. Este interfaţa prin care el comunică bilateral cu aplicaţia. Este scrisă într-un limbaj pe care clientul (cine altul decât browserul), îl înţelege. Aţi ghicit, este html cu o propunere inedită şi drăgălaşă numită blade care ne lasă aşa de amabilă să mai inserăm pe ici pe colo căte un script java sau php. Şi pentru că nu am inventat eu gaura la macaroană, luaţi de aici cursul video ca să vedeţi ce şi cum, aşa cum am făcut şi eu! (Mulţumesc din nou aceluiaşi Vlad!

Eloquent

Sună periculos! Ştiu că din curiozitate, dacă semănaţi cu mine, aţi răsfoit lecţiile de pe Laracasts, de aceea vreau şi eu să îmi dau cu părerea despre clasa Eloquent.
Da:POO sau Programare orientată pe obiecte! Regret nespus că nu am predat POO deşi la liceu puteam să optăm pentru asta la clasa a XII-a. Îmi cer iertare elevilor mei.
Fiecărui tabel al bazei de date deja creat putem să îi asociem o clasă extinsă din clasa Model, extinsă din clasa Eloquent care este o clasă extinsă a clasei Database care este extinsă din clasa Illuminate uff
Numele clasei este legat de cel al tabelului, ca să ne fie mai uşor. Preferabil în limba engleză pentru că aplicaţia admite implicit să asocieze clasa având ca nume substantivul la singular tabelului care are ca nume acelaşi substantiv la plural fără alte discuţii( a se citi instrucţiuni) .
Acilea este vorba de mysql carevasazică. Modelul ne permite să asociem tabelele, altfel spus să stabilim relaţii one-to-many, one-to-one sau many-to-many între ele.
Aici este lecţia după care am învăţat asta.

Laravel Testing

Tema: Laravel testing; phpunit tool
Studiu de caz: tratarea unui formular
Formularea problemei: la o cerere HTTP pentru accesarea resursei ‘/indicator’ prin metoda ‘post’, în condițiile în care informațiile transmise de client sunt corecte și complete, rezultatele așteptate sunt: regăsirea în tabelul părinte ‘indicators’ si in tabelul copil ‘targets’ a înregistrărilor care conțin exact datele transmise de client, obținerea unui răspuns cu codul de stare 301, redirecționarea către ‘/indicator’ și popularea variabilei globale $_SESSION cu proprietatea ‘status’ având valoarea ‘Indicator adaugat!’
Mai multe...