PHP
Gjuha që qëndron pas WordPress-it dhe Laravel-it — shumë e kërkuar nga kompanitë web në Shqipëri dhe Kosovë. · 105 terma
.env & config in Laravel
Konfigurimi në LaravelLaravel-i i mban sekretet dhe cilësimet në skedarin .env (fjalëkalimi i databazës, APP_KEY), dhe kodi i lexon përmes config(). .env s'ngarkohet kurrë në Git — çdo server ka të vetin.
.htaccess
Skedari .htaccess u jep udhëzime Apache-s për një dosje: ridrejtime, adresa të pastra (pa .php), mbrojtje me fjalëkalim. Shumë hostingje të lira PHP e përdorin për çdo konfigurim.
Abstract classes (PHP)
Klasat abstrakte në PHPNjë klasë abstract s'mund të krijohet direkt — shërben si bazë që ndan kod të përbashkët, dhe metodat abstract duhet t'i shkruajnë patjetër fëmijët.
Array functions (array_map, array_filter, count)
Funksionet e vargjeve në PHPPHP-ja ka dhjetëra funksione për array: count(), in_array(), array_map(), array_filter(), array_sum(), array_merge(), array_keys(). Shumë punë që në gjuhë të tjera duan cikle bëhen me një rresht.
Arrays in PHP
Vargjet në PHPNë PHP, një array mund të jetë listë me numra (indeksi 0, 1, 2…) ose fjalor me çelësa tekst — është e njëjta strukturë. Krijohet me [ ], dhe me $v[] = x shton në fund.
Artisan (Laravel CLI)
Artisan-i është komanda e Laravel-it në terminal: php artisan serve nis serverin, make:model dhe make:controller krijojnë skedarë të gatshëm, migrate përditëson databazën, tinker të lejon të provosh kod.
Associative arrays
Vargjet asociativeNjë array asociativ ka çelësa me emër në vend të numrave: ["emri" => "Arta", "nota" => 5]. Është si fjalori i Python-it ose objekti i JavaScript-it, dhe përdoret kudo në PHP.
Attributes (#[...])
Atributet në PHPQë nga PHP 8, atributet #[...] u shtojnë informacion klasave dhe metodave — p.sh. #[Route("/terma")] në Symfony. Si anotacionet e Java-s dhe atributet e C#-it.
Authentication in Laravel (Breeze, Sanctum)
Hyrja e përdoruesve në LaravelLaravel-i ka paketa të gatshme për llogari përdoruesish: Breeze të jep regjistrim, hyrje dhe rivendosje fjalëkalimi në pak minuta; Sanctum jep token-a për API dhe aplikacione mobile.
Autoloading (PSR-4)
Ngarkimi automatik i klasaveMe autoloading, s'ke pse shkruan require për çdo klasë: Composer-i e ngarkon vetë skedarin kur e përdor klasën. Rregulli PSR-4 thotë që namespace-i dhe dosjet përputhen — App\Models\Nxenes gjendet te app/Models/Nxenes.php.
Blade templates
Template-t BladeBlade-i është motori i template-ve i Laravel-it: shkruan HTML me {{ $emri }} (që e mbron vetë nga XSS), @if, @foreach dhe @extends për faqe me të njëjtin skelet.
Classes & objects in PHP
Klasat dhe objektet në PHPNë PHP krijon klasa me class dhe objekte me new. Fushat dhe metodat i arrin me shigjetën -> ($lojtari->emri), dhe brenda klasës objekti quhet $this.
Closures & arrow functions (fn)
Funksionet anonime në PHPPHP-ja ka funksione pa emër: function ($x) use ($y) { ... } — ku use merr variabla nga jashtë — dhe arrow functions të shkurtra fn($x) => $x * 2, që i shohin variablat jashtë vetvetiu.
CodeIgniter & other PHP frameworks
Përveç Laravel-it dhe Symfony-së, ka framework-e më të vogla PHP si CodeIgniter, Yii, CakePHP dhe Slim. CodeIgniter-i është i lehtë dhe ende përdoret në shumë projekte të vjetra dhe kurse.
Collections in Laravel
Koleksionet në LaravelKoleksionet e Laravel-it e mbështjellin një array dhe të japin metoda zinxhir si map, filter, sortBy, pluck dhe groupBy — shumë më të lexueshme se funksionet array_ të PHP-së. Eloquent-i kthen gjithmonë koleksione.
Composer
Composer-i është menaxheri i paketave të PHP-së — si npm-ja për JavaScript. Me composer require shton një librari, dhe composer install i instalon të gjitha te dosja vendor/. Bën edhe autoloading-un e klasave.
composer.json & composer.lock
composer.json rendit paketat që i duhen projektit, dhe composer.lock fikson versionet e sakta që të gjithë të kenë të njëjtat. Dosja vendor/ s'ngarkohet në Git — e krijon kushdo me composer install.
Constants in PHP (const, define)
Konstantet në PHPKonstantet në PHP shkruhen pa $ dhe s'ndryshojnë: const MAX_NXENES = 30; ose define("MAX_NXENES", 30);. Zakonisht shkruhen me shkronja të mëdha.
Constructors & property promotion (PHP)
Konstruktorët në PHPKonstruktori në PHP quhet __construct() dhe ekzekutohet kur krijon objektin. Që nga PHP 8, „property promotion“ të lejon t'i deklarosh dhe caktosh fushat direkt te parametrat e konstruktorit — shumë më pak kod.
Controllers in Laravel
Kontrollerët në LaravelNjë controller në Laravel mbledh kodin për një pjesë të faqes — p.sh. TermaController me metoda index, show, store. Merr kërkesën, flet me modelin dhe kthen një view ose JSON.
Cookies in PHP (setcookie)
Cookie-t në PHPsetcookie() i dërgon shfletuesit një cookie që e kthen me çdo kërkesë, dhe e lexon me $_COOKIE. Për cookie sesioni vendos gjithmonë httponly, secure dhe samesite.
Dates in PHP (date, DateTime)
Datat në PHPdate("d.m.Y") jep datën e sotme në formatin që do. Për llogaritje me data përdoret DateTime (ose libraria Carbon te Laravel-i): shton ditë, krahason data, numëron diferencën.
declare(strict_types=1)
Si parazgjedhje, PHP-ja e konverton vetë "5" në 5 kur një funksion pret int. Me declare(strict_types=1); në krye të skedarit, kjo s'lejohet më — merr gabim, dhe kodi bëhet më i parashikueshëm.
Drupal & Joomla
Drupal-i dhe Joomla janë CMS të tjera të shkruara në PHP, alternativa të WordPress-it. Drupal-i përdoret shpesh nga institucione dhe qeveri për faqe të mëdha me shumë përmbajtje.
echo & print
echo e shfaq tekstin në faqe — është mënyra më e zakonshme për të nxjerrë HTML nga PHP-ja. print bën pothuajse të njëjtën gjë; <?= $emri ?> është shkurtesa për <?php echo $emri ?>.
Eloquent ORM
Eloquent-i është ORM-ja e Laravel-it: çdo tabelë ka një model (Termi), dhe me të lexon dhe shkruan në databazë pa SQL — Termi::where("kategoria", "php")->get(). Marrëdhëniet mes tabelave shkruhen si metoda.
Eloquent relationships
Marrëdhëniet në EloquentNë Eloquent, lidhjet mes tabelave shkruhen si metoda: hasMany (një kategori ka shumë terma), belongsTo (një term i përket një kategorie), belongsToMany. Me with() i ngarkon bashkë dhe shmang problemin „N+1 query“.
Enums (PHP 8.1)
enum në PHPQë nga PHP 8.1, enum-et japin një listë të mbyllur vlerash: enum Statusi: string { case Aktiv = "aktiv"; case Joaktiv = "joaktiv"; }. Mund të kenë edhe metoda.
Exceptions in PHP (try, catch, finally)
Përjashtimet në PHPNë PHP i kap gabimet me try/catch, dhe finally ekzekutohet gjithmonë. Hedh gabime me throw new Exception("..."), dhe mund të krijosh llojet e tua duke trashëguar nga Exception.
File uploads ($_FILES)
Ngarkimi i skedarëve në PHPKur një formular ngarkon një skedar, PHP-ja e ruan përkohësisht dhe të jep informacion në $_FILES. Me move_uploaded_file() e zhvendos në dosjen tënde — por kontrollo gjithmonë llojin dhe madhësinë, dhe jepi një emër të ri.
filter_var (validation)
Validimi me filter_varfilter_var() kontrollon dhe pastron vlerat: FILTER_VALIDATE_EMAIL për email, FILTER_VALIDATE_INT për numra, FILTER_VALIDATE_URL për adresa. Kthen false kur vlera s'është e vlefshme.
foreach (PHP)
foreach kalon nëpër çdo element të një array: foreach ($notat as $nota). Me foreach ($nxenesi as $celesi => $vlera) merr edhe çelësin, edhe vlerën.
Functions in PHP
Funksionet në PHPFunksionet në PHP krijohen me function, mund të kenë parametra me vlerë të paracaktuar dhe tipe, dhe kthejnë vlerë me return. PHP-ja ka mbi 1000 funksione të gatshme.
Generators (yield) in PHP
Gjeneratorët në PHPNjë funksion me yield jep vlerat një nga një në vend që t'i kthejë të gjitha njëherësh. Shumë i dobishëm për të lexuar skedarë të mëdhenj rresht pas rreshti pa e mbushur memorien.
Guzzle (HTTP client)
Guzzle-i është libraria më e përdorur e PHP-së për të bërë kërkesa HTTP te API të tjera — si fetch-i në JavaScript. Laravel-i ka një shkurtesë të thjeshtë mbi të: Http::get().
Handling forms in PHP
Formularët në PHPKur dërgohet një formular, PHP-ja i merr të dhënat në $_POST (ose $_GET). Hapat: kontrollo nëse u dërgua, valido çdo fushë, shfaq gabimet ose ruaji të dhënat — dhe mos e shfaq kurrë hyrjen pa htmlspecialchars().
header() & redirects
Ridrejtimet në PHPheader("Location: /faleminderit") e dërgon përdoruesin në një faqe tjetër — zakonisht pas dërgimit të një formulari. Kujdes: header() duhet thirrur para se të nxirret çdo HTML, përndryshe del gabimi „headers already sent“.
Heredoc & nowdoc
Heredoc (<<<EOT ... EOT) të lejon të shkruash tekst të gjatë me shumë rreshta — p.sh. një email ose HTML — me variabla brenda, pa thonjëza dhe pa pika për bashkim.
htmlspecialchars (escaping output)
Mbrojtja e daljeshtmlspecialchars() i kthen karakteret si < dhe > në formë të sigurt, që teksti i përdoruesit të shfaqet si tekst dhe jo si kod HTML. Është mbrojtja kryesore kundër XSS në PHP. Blade-i i Laravel-it e bën vetë me {{ }}.
if, elseif & switch (PHP)
Kushtet në PHPPHP-ja i ka kushtet si gjuhët e tjera: if, elseif, else dhe switch. Në template HTML shpesh përdoret sintaksa alternative if: ... endif; që lexohet më mirë mes etiketave.
include & require
include dhe require e fusin një skedar tjetër PHP në vendin ku i shkruan — p.sh. header.php në krye të çdo faqeje. Dallimi: nëse skedari mungon, require e ndal programin, include vetëm paralajmëron. _once siguron që të futet vetëm një herë.
Inertia.js
Inertia.js e lidh Laravel-in në backend me React ose Vue në frontend, pa pasur nevojë për API të veçantë. Kontrolleri kthen të dhënat, dhe komponenti JavaScript i shfaq si SPA.
Inheritance in PHP (extends)
Trashëgimia në PHPMe extends, një klasë PHP trashëgon nga një tjetër, dhe me parent:: thërret metodat e prindit. PHP-ja lejon vetëm një prind; për të ndarë kod mes klasave të ndryshme përdor traits.
Interfaces in PHP
Interfejsat në PHPNjë interface në PHP thotë çfarë metodash duhet të ketë një klasë, pa i shkruar. Klasa e premton me implements dhe mund të zbatojë disa interfejsa njëherësh. Laravel-i i përdor shumë për të ndërruar implementimet lehtë.
JSON in PHP (json_encode, json_decode)
JSON në PHPjson_encode() e kthen një array ose objekt PHP në JSON, dhe json_decode($json, true) e kthen JSON-in në array. Kështu PHP-ja flet me JavaScript-in dhe me API të tjera.
LAMP stack
LAMP është kombinimi klasik për faqe web: Linux (sistemi), Apache (serveri web), MySQL (databaza) dhe PHP (gjuha). LEMP është i njëjti, por me Nginx në vend të Apache-s. Mbi të punojnë miliona faqe, përfshirë WordPress-in.
Laravel
Laravel-i është framework-u më i popullarizuar i PHP-së: ka gati rrugëzimin, databazën (Eloquent), template-t (Blade), hyrjen e përdoruesve, radhët dhe shumë të tjera. Shumë kompani në Shqipëri dhe Kosovë punojnë me të.
Livewire
Livewire-i të lejon të ndërtosh faqe interaktive në Laravel duke shkruar vetëm PHP — butonat, kërkimi live dhe formularët përditësohen pa ringarkim, pa shkruar JavaScript.
Loops in PHP (for, while)
Ciklet në PHPPHP-ja ka cikle for, while dhe do-while si C-ja dhe Java-ja. Për të kaluar nëpër array, përdoret pothuajse gjithmonë foreach.
Magic methods (__toString, __get)
Metodat magjikeMetodat magjike fillojnë me dy nënvizime dhe PHP-ja i thërret vetë në raste të caktuara: __construct kur krijohet objekti, __toString kur e përdor si tekst, __get kur lexon një fushë që s'ekziston.
match expression (PHP 8)
Shprehja matchmatch (që nga PHP 8) është si switch, por më i shkurtër dhe më i sigurt: kthen vlerë, krahason me ===, dhe hedh gabim nëse asnjë rast s'përputhet.
Middleware in Laravel
Middleware në LaravelMiddleware në Laravel është kod që ekzekutohet para ose pas çdo kërkese — p.sh. auth kontrollon nëse përdoruesi është i kyçur dhe e çon te faqja e hyrjes nëse s'është.
Migrations in Laravel
Migrimet në LaravelMigrimet në Laravel e përshkruajnë strukturën e databazës me kod PHP — çdo ndryshim (tabelë e re, kolonë e re) është një skedar. php artisan migrate i zbaton të gjitha, njësoj në çdo kompjuter.
Mixing PHP and HTML (templates)
PHP brenda HTML-sëPHP-ja u krijua për t'u përzier me HTML: shkruan faqen normalisht dhe fut <?= $vlera ?> aty ku duhet diçka dinamike. Për projekte më të mëdha përdoren motorë template si Blade ose Twig, që e mbajnë kodin më të pastër.
Multidimensional arrays (PHP)
Vargjet shumëdimensionale në PHPNjë array mund të mbajë array të tjerë — p.sh. një listë nxënësish ku secili është array asociativ. Kështu duken shpesh rezultatet nga databaza.
mysqli
mysqli është mënyra më e vjetër e PHP-së për të punuar vetëm me MySQL. Do ta takosh në shumë tutoriale dhe projekte të vjetra; për kod të ri, PDO është zgjedhja më e mirë. Funksionet mysql_ (pa „i“) janë hequr krejt.
Namespaces in PHP
Hapësirat e emrave në PHPNamespace-at i grupojnë klasat që dy klasa me të njëjtin emër të mos përplasen: namespace App\Models;. Në skedarë të tjerë i merr me use App\Models\Nxenes;.
Null coalescing (??)
Operatori ??$a ?? $b jep $a nëse ekziston dhe s'është null, përndryshe $b. Shumë e dobishme për të dhënat nga formularët: $_GET["faqja"] ?? 1. Me ??= cakton vlerë vetëm nëse mungon.
Nullable & union types (PHP)
Tipet nullable dhe union në PHPMe ?string thua që vlera mund të jetë tekst ose null. Që nga PHP 8, union types lejojnë disa tipe: int|string. Kështu tipet përshkruajnë saktë çfarë pranon kodi.
Packagist
Packagist.org është depoja ku Composer-i kërkon paketat — qindra mijëra librari PHP falas, nga Laravel-i te libraritë e vogla për PDF ose email.
password_hash & password_verify
password_hash() e kthen fjalëkalimin në një hash të sigurt (me bcrypt ose argon2, me kripë të përfshirë), dhe password_verify() kontrollon nëse fjalëkalimi i shkruar përputhet. Mos përdor kurrë md5() për fjalëkalime.
PDO
PDO është mënyra moderne dhe e sigurt e PHP-së për t'u lidhur me databaza — MySQL, PostgreSQL, SQLite — me të njëjtin kod. Përdore gjithmonë me prepared statements.
Pest
Pest-i është një mënyrë më e shkurtër dhe më e lexueshme për të shkruar teste në PHP, ndërtuar mbi PHPUnit. Shumë popullor në komunitetin e Laravel-it.
PHP
PHP-ja është një gjuhë programimi për backend-in e faqeve të internetit. Shumë faqe punojnë me PHP, përfshirë WordPress-in, dhe Laravel-i është framework-u më i njohur për të.
PHP built-in server (php -S)
Serveri i integruar i PHP-sëMe komandën php -S localhost:8000 nis një server të vogël për zhvillim, pa instaluar Apache ose Nginx. Hap shfletuesin dhe e sheh faqen tënde menjëherë. Vetëm për zhvillim, jo për production.
PHP data types
Tipet e të dhënave në PHPPHP-ja ka tipet string, int, float, bool, array, object dhe null. Me var_dump() ose gettype() sheh çfarë tipi ka një vlerë. PHP-ja i konverton tipet vetë kur duhet — ndonjëherë me surpriza.
PHP tags (<?php ?>)
Etiketat e PHP-sëKodi PHP shkruhet brenda <?php ... ?>. Çdo gjë jashtë këtyre etiketave i dërgohet shfletuesit si HTML i zakonshëm. Në skedarët që kanë vetëm PHP, etiketa mbyllëse ?> zakonisht lihet jashtë.
PHP versions (7, 8, 8.x)
Versionet e PHP-sëPHP 7 (2015) e bëri gjuhën dy herë më të shpejtë; PHP 8 solli JIT, match, named arguments dhe atributet; çdo vit del një 8.x i ri. Nëse tutoriali përdor mysql_query() ose PHP 5, është shumë i vjetër.
PHP-FPM
PHP-FPM është mënyra si serverët modernë (zakonisht Nginx) ekzekutojnë PHP: mban gati një grup procesesh PHP që u përgjigjen kërkesave shpejt. Te hostingjet e mëdha, Nginx + PHP-FPM është kombinimi standard.
php.ini
php.ini është skedari i cilësimeve të PHP-së: sa i madh mund të jetë një skedar i ngarkuar, sa memorie lejohet, nëse shfaqen gabimet. Në production, display_errors duhet të jetë Off.
phpMyAdmin
phpMyAdmin është një faqe web e shkruar në PHP për të menaxhuar databazat MySQL me klikime: krijon tabela, shikon të dhënat, shkruan query. Vjen me XAMPP dhe e ofrojnë shumica e hostingjeve.
PHPStan & Psalm
PHPStan dhe Psalm e analizojnë kodin PHP pa e ekzekutuar dhe gjejnë gabime: metoda që s'ekzistojnë, tipe të gabuara, null të harruar. Kanë „nivele“ — fillon me 0 dhe e rrit gradualisht.
PhpStorm
PhpStorm-i është IDE-ja e JetBrains për PHP: plotëson kodin, gjen gabimet, punon me Xdebug, Composer dhe Laravel. Shumë zhvillues përdorin edhe VS Code me shtesën Intelephense.
PHPUnit
PHPUnit është libraria klasike për teste në PHP: shkruan metoda që fillojnë me test dhe kontrollon me $this->assertEquals(). Laravel-i e ka të gatshëm.
Plugins & packages in PHP projects
Plugin-et në PHPNë botën e PHP-së, „plugin“ zakonisht do të thotë shtesë për një CMS si WordPress-i, ndërsa „extension“ është një modul i vetë PHP-së (si pdo_mysql ose gd për fotot) që aktivizohet te php.ini.
Prepared statements in PHP (PDO)
Query me parametra në PHPMe $pdo->prepare() e shkruan query-n me vende bosh (? ose :emri) dhe vlerat ia jep veç te execute(). Kështu SQL injection bëhet i pamundur — mos i fut kurrë variablat direkt në tekstin e query-t.
PSR standards (PSR-4, PSR-12)
Standardet PSRPSR-të janë rregulla të përbashkëta të komunitetit PHP: PSR-4 për autoloading, PSR-12 për stilin e shkrimit të kodit, PSR-7 për kërkesat HTTP. Mjete si PHP CS Fixer e rregullojnë kodin vetë sipas tyre.
Queues & jobs in Laravel
Radhët në LaravelPunët e ngadalta — dërgimi i email-eve, përpunimi i fotove — Laravel-i i fut në një radhë që i kryen në sfond, që përdoruesi të mos presë. E nis me dispatch(), dhe php artisan queue:work i ekzekuton.
readonly properties (PHP)
Një fushë readonly mund të caktohet vetëm një herë — zakonisht në konstruktor — dhe pastaj s'ndryshon më. Ideale për objekte që thjesht mbajnë të dhëna.
References in PHP (&)
Referencat në PHPSi parazgjedhje, PHP-ja ua kalon funksioneve kopje të vlerave. Me & para parametrit (function rrit(&$x)) funksioni punon me origjinalin. Te foreach, &$v të lejon t'i ndryshosh elementet e array-t.
Routes in Laravel
Rrugët në LaravelTe routes/web.php vendos cila adresë çon te cili kod: Route::get("/terma/{id}", ...). Mund t'u japësh emra rrugëve, t'i gruponi dhe t'u shtosh middleware.
Routing in plain PHP (front controller)
Rrugëzimi në PHPNë PHP-në e thjeshtë, çdo skedar .php është një faqe. Në projekte më të mëdha, të gjitha kërkesat shkojnë te një index.php i vetëm (front controller), që e lexon adresën dhe vendos cilin kod të ekzekutojë — kështu punojnë Laravel-i dhe Symfony.
Seeders & factories (Laravel)
Factories krijojnë të dhëna false realiste (emra, email-e) për teste dhe zhvillim, dhe seeders i mbushin tabelat me to. php artisan db:seed të jep një databazë plot për të provuar.
Sending email in PHP (PHPMailer)
Dërgimi i email-eve në PHPFunksioni mail() i PHP-së është i thjeshtë, por email-et shpesh përfundojnë te spam-i. Për email të besueshëm përdoret PHPMailer ose Symfony Mailer me një server SMTP — ose Mail-i i Laravel-it.
Sessions in PHP ($_SESSION)
Sesionet në PHPMe session_start() dhe $_SESSION, PHP-ja mban mend të dhëna për një vizitor nga një faqe te tjetra — p.sh. kush është i kyçur ose çfarë ka në shportë. Vetë të dhënat ruhen në server; shfletuesi mban vetëm një cookie me ID-në.
Sorting arrays in PHP (sort, usort, ksort)
Renditja e vargjeve në PHPPHP-ja ka disa funksione renditjeje: sort() (vlerat), rsort() (mbrapsht), asort() (vlerat, duke ruajtur çelësat), ksort() (sipas çelësave) dhe usort() me funksionin tënd të krahasimit. Të gjitha e ndryshojnë array-n direkt.
Spaceship operator (<=>)
Operatori „anija kozmike“Operatori <=> krahason dy vlera dhe kthen -1, 0 ose 1 (më i vogël, i barabartë, më i madh). Është ideal për funksionet e renditjes me usort().
static, self & parent (PHP)
Fushat dhe metodat static i përkasin klasës, jo objekteve — i thërret me Klasa::metoda(). Brenda klasës, self:: i referohet klasës aktuale, parent:: prindit, dhe static:: klasës që u thirr vërtet (e rëndësishme me trashëgiminë).
String concatenation (.)
Bashkimi i teksteve në PHPNë PHP, tekstet bashkohen me pikë (.), jo me + si në JavaScript: "Tung, " . $emri. Me .= shton në fund të një teksti ekzistues.
String functions (strlen, explode, str_replace)
Funksionet e tekstit në PHPPHP-ja ka shumë funksione për tekst: strlen() (gjatësia), strtoupper(), str_replace(), explode() (ndan në array), implode() (bashkon), str_contains(). Për ë dhe ç përdor versionet mb_, si mb_strlen().
Strings in PHP (single vs double quotes)
Teksti në PHPNë PHP, teksti me thonjëza të dyfishta "Tung, $emri" i zëvendëson variablat me vlerat e tyre; me thonjëza të njëfishta 'Tung, $emri' teksti mbetet fjalë për fjalë. Për shprehje më të ndërlikuara përdor kllapa: "{$nxenesi['emri']}".
Superglobals ($_GET, $_POST, $_SERVER)
Variablat superglobaleSuperglobalet janë array të gatshëm që i sheh kudo në kod: $_GET (parametrat në adresë), $_POST (të dhënat e formularit), $_SERVER (informacion për kërkesën), $_SESSION, $_COOKIE, $_FILES. Mos u beso kurrë pa i kontrolluar!
Symfony
Symfony-ja është framework-u i dytë më i madh i PHP-së, shumë i strukturuar dhe i përdorur në projekte të mëdha korporative. Shumë pjesë të Laravel-it janë ndërtuar mbi komponentët e Symfony-së. ORM-ja e saj quhet Doctrine.
Tinker
php artisan tinker hap një terminal interaktiv brenda aplikacionit tënd Laravel: provon query, krijon modele, teston funksione — pa shkruar faqe.
Traits
Një trait është një copë kodi (metoda dhe fusha) që mund ta „ngjitësh“ në disa klasa me use, edhe kur s'kanë prind të përbashkët. Është zgjidhja e PHP-së për të ripërdorur kod pa trashëgimi të shumëfishtë.
Type declarations in PHP
Deklarimi i tipeve në PHPPHP-ja moderne të lejon t'u japësh tipe parametrave, vlerave kthyese dhe fushave të klasave: function mblidh(int $a, int $b): int. Gabimet kapen më herët dhe editori të ndihmon më shumë.
Validation in Laravel
Validimi në LaravelLaravel-i e bën validimin shumë të lehtë: $request->validate(["email" => "required|email"]). Po dështoi, e kthen vetë përdoruesin te formulari me mesazhet e gabimit.
var_dump, print_r & dd()
var_dump() e shfaq një vlerë me tipin dhe gjatësinë e saj, print_r() e shfaq array-n në mënyrë të lexueshme, dhe dd() i Laravel-it („dump and die“) e shfaq bukur dhe e ndal programin. Mjetet e para të debug-imit në PHP.
Variables in PHP ($)
Variablat në PHPNë PHP, çdo variabël fillon me shenjën e dollarit: $emri, $mosha. S'ke nevojë ta deklarosh tipin — PHP-ja e kupton vetë nga vlera, si JavaScript-i dhe Python-i.
Visibility (public, private, protected)
Dukshmëria në PHPÇdo fushë dhe metodë në PHP ka një nivel dukshmërie: public (kushdo), protected (klasa dhe fëmijët e saj), private (vetëm vetë klasa).
WooCommerce
WooCommerce-i është plugin-i që e kthen WordPress-in në dyqan online: produkte, shportë, pagesa dhe porosi. Shumë dyqane të vogla online në Shqipëri dhe Kosovë e përdorin.
WordPress development (themes & plugins)
Zhvillimi në WordPressWordPress-i është shkruar në PHP. Zhvilluesit krijojnë „tema“ (pamja e faqes) dhe „plugin-e“ (veçori shtesë) në PHP. Shumë punë freelance dhe agjenci në rajon merren me WordPress.
WordPress hooks (actions & filters)
Hook-et e WordPress-itHook-et janë mënyra si plugin-et ndryshojnë WordPress-in pa e prekur kodin e tij: add_action() ekzekuton kodin tënd në një moment të caktuar, add_filter() e ndryshon një vlerë para se të shfaqet.
XAMPP, WAMP & MAMP
XAMPP (dhe WAMP, MAMP, Laragon) instalojnë me një klik Apache, PHP dhe MySQL në kompjuterin tënd — gjithçka që të duhet për të nisur me PHP. Shumë të përdorura në shkolla dhe kurse në rajon.
Xdebug
Xdebug-u është debugger-i i PHP-së: me të e ndal programin në një rresht (breakpoint) në VS Code ose PhpStorm, e ekzekuton hap pas hapi dhe sheh vlerat e variablave — shumë më mirë se var_dump kudo.