php framework'ü anlamaq
2. izahat üçün təşəkkürlər. həmin index.php public qovluğundakıdırmı?
əslində, dolaşıqlığın nədən yarandığını deyim. təzə təzə php'nin built-in funksiyalarını filan öyrənəndə localhost'un root qovluğundakı (məsələn, Linux'da /var/www/html) index.php'də test edirdim. bunları başa düşmək çox da çətin deyil. Elə ki, framework istifadə etməyə girişirsən, bir çox yeni və tanış olmayan anlayışlar filan çıxır. class'ları normalda loader funksiyaları ilə həyata keçirirdim. fikirləşirdim ki, hər php faylında bu classloader'lar yazılırmı ki!? composer'in bunu həll etdiyini biraz gec başa düşdüm )). bundan sonra artisan komandaları filan, beyin dolaşdı. sadəcə, adam heyrətə gəlir bu qədər işin içinə birdən birə girəndə. hər nə qədər bütün bunlar uzun vaxt ərzində formalaşıbsa da..
3. Hansı directorydakı index.php filenı oxuyacağını istifadəçi müəyyən edir. Məsələn example.com üçün virtual host yaradanda deyirsən ki,
server_name example.com https://www.example.com;
root /var/www/example.com;
index ninja.php
Bu nginx configi example.com üstünə gələn sorğunu
/var/www/example.com directoryasındakı ninja.phpnin üstünə göndərəcək. Ordan da artıq framework paramları və request methodunu müəyyən edib müvafiq əməliyyatları icra edəcək.
Composer istifadəçi fileları tək-tək load eləməsin deyə var, əgər slugify lib istifadə etmək istəyirsənsə reponu endirib autoloaderə əlavə edə bilərsən ya da composerlə yükləyə bilərsən. ubermensch @62051
4. yavaş yavaş tuturam söhbəti. Strukturu başa düşmək lazımdır əsas. Yerdə qalanı adi php hadisələridir -*
qardakı ayaq izləri @620555. #274232burada laravelin sxeminin şəklini atmışdım baxa bilərsən.
composer classları load etmir, paketləri dovnload edir və composer.lock fayı o paketlərin classlarını load edir.
məsələn laraveldə birinci public/index.php işə düşür o da bu falları işə salır
require __DIR__.'/../bootstrap/autoload.php';
$app = require_once __DIR__.'/../bootstrap/app.php';
frameawork öyrənirsənsə codeigniterdən başla çünki o çox sadədir.
birinci framevorkun ekosistemini öyrənməkdənsə, framevorkda mvc, crud, oop, route, deployment kimi anlayışları öyrən əsas.
6. php-ni gec-tez anlayassan. amma qadını anlamağa bir ömür yetməz
paylaşdı "şərab qoxulu qadın" səhifəsi
1. php oop dil olmadığından skript index file-nın (adətən index.php, serverdən customize etmək olar) üstünə gəlir - məsələn javada həmişə main methodunu oxuduğu kimi - yəni proceduralla başlayır işləməyə, bu fileın içərisində isə global config, frameworkün işləyə bilməsi üçün core filelar include olur və frameworkün əsas loaderləri işə düşür, bunlar yüklənəndən sonra isə istifadəçinin classları yüklənir və müvafiq methodlar çağırılır.
ubermensch @62046bu ardıcıllıq framworkə görə dəyişə bilər, məsələn phalconda heç bir file zad olmur, php extension olaraq yüklənir, bəzilərində isə öz fileları olur, onları yükləyib onun içərisində istifadəçi filelar yaradır - məsələn controller directoriyasında Hello.php kimi. arada cache mexanizmi zad da ola bilər. kobudca izah eləsək belədi.