Showing posts with label composer. Show all posts
Showing posts with label composer. Show all posts

Sunday, November 12, 2023

Od haosa do jasnoće, objašnjenje strukture Laravel projekta

Laravel je popularni PHP radni okvir za razvoj veb aplikacija koji se ističe svojom elegantnom sintaksom, obiljem alatki i moćnim funkcijama. Pre nego što pređete na studiranje ovog posta; obavezno prvo pogledajte uvod i instalaciju Laravel radnog okvira; pogledajte ovde; zatim se upoznajte na čemu se temelji Laravel radni okvir; pogledajte ovde; pa tek onda se vratite na ovaj post da se upoznate i sa strukturom foldera i datoteka. Tako da i pre neko što praktično počnete da koristite Laravel radni okvir; otklonite zbunjenost, neznanje i nejasnoće. Sve što vam nije jasno i pre kodiranja neophodno je da razjasnite sami sebi. Svaki profesionalan programer, svaki svoj projekat započinje pravim pitanjima. Tako ponašanje će vam u svakom slučaju uštedeti mnogo izazova i vremena. Kada kreirate novi Laravel projekat, radni okvir automatski generiše osnovnu strukturu direktorijuma i datoteka koja vam pomaže da organizujete i razvijate svoju veb aplikaciju na efikasan način. U ovom tekstu ćemo istražiti osnovnu strukturu Laravel projekta, razmatrajući glavne direktorijume i datoteke sa kojima ćete se sresti kad god započinjete novi projekat u ovom efikasno organizovanom Laravel  radnom okviru. U zavisnosti od verzije Laravel  radnog okvira; Laravel vam pruža jasnu i dobro organizovanu strukturu projekta koja olakšava razvoj i održavanje veb aplikacija. Razumevanje svih ovih direktorijuma i datoteka je ključno za efikasan razvoj u Laravel radnom okviru. Kroz ovu osnovnu strukturu, možete lako organizovati svoj kôd i razvijati visokokvalitetne veb aplikacije. Zato ćemo prvo pogledati foldere koje su se kreirali kada smo započeli novi Laravel projekat.


( Razumevanje strukture Laravel projekta je od ključnog značaja za razvoj projekta )

Pokrenite vaš terminal, izvršite update i upgrade vašeg Linux operativnog sistema, zatim sa vašeg home direktorijuma skočite na /opt/lampp/ i pokrenite XAMPP menadžer; sledećom Linux  komandom.
 
sudo ./manager-linux-x64.run

Otvoriće vam se XAMPP menadžer; i kroz njega pokrenute Apache Web Server i MySQL Database. Ovo ćete da uvek radite kada kreirate ili otvarate već gotov Laravel projekat. Zatim pokrenite Visual Studio Code i u njemu otvorite folder laravel_tutorial koji ćete pronaći u direktorijumu /opt/lampp/htdocs/ i otkucajte sledeću Linux komandu u Terminal panelu Visual Studio Code-a :

php artisan serve

Na Terminal panelu će vam se prikazati:

 INFO  Server running on [http://127.0.0.1:8000]   

Press Ctrl+C to stop the server

Sad proverite u pretraživaču da li je vaš projekat pokrenut na lokalnom serveru i portu 8000. Ukoliko je sve u redu, vratite se sa pretraživača na Visual Studio Code; i sa vaše leve strane koncentrišite se na Explorer panel. Dobro pogledajte da li vaš Laravel projekat sadrži sledeće osnovne foldere: 

app

bootstrap

config

database

public

resources

routes

storage

tests

vendor

Starije verzije Laravel radnog okvira, uglavnom sadrže iste foldere, osim folder database. Ukoliko pogledate neki Laravel  projekat na GIT hubu; onda verovatno nećete videti ni folder vendor jer ga GIT sa razlogom ignoriše; jer očekuje da se na udaljenim serverima izvršava Composer radni okvir kao deo procesa implementacije. Sve u svemu pogledajte čemu služe osnovni folderi koji čine Laravel projekat.

Osnovni folderi u Laravel projektu

Saturday, February 18, 2023

Pokrenite svoje putovanje veb razvoja, uvod u Laravel radni okvir

Ukoliko učite PHP programski jezik, čiji tutorijal možete pogledati ovde; možete se pitati šta je to Laravel i zašto bi ste i to učili. Zar PHP programski jezik nije dovoljan da iskodirate kakav god hoćete veb sajt, pa ukoliko je neophodno ako zatreba možete ubaciti i JavaScript i Ajax. Pa, vidite ovako; Laravel je open-source framework; na Srpskom jeziku radni okvir; za PHP programski jezik. On vam pomaže tako što preuzima odgovornost umesto vas za veliki deo poslovne logike vaših aplikacija, za mnoge uobičajene komponente kao što su validacija unosa, pristup bazi podataka, autentifikacija korisnika, izrada šablona itd. Danas programeri koriste mnogobrojne radne okvire za razvoj aplikacija, veb sajtova, biblioteke i komponente koje su drugi programeri iskodirali i testirali da vi to ne morate isto kodirati. Radni okviri održavaju konzistentnost i fleksibilnost i dok vi razmišljate, gde i kako nešto iskodirati u PHP programskom jeziku u vašem projektu koji postaje sve veći i kompleksniji; radni okvir razmatra samo: "Koju komponentu treba da koristim ovde?" Ako se pitate zašto baš Laravel; onda je moj odgovor zato što je trenutno jedan od najboljih za PHP developere. Ako se vratimo u prošlost; jedan od prvih radnih okvira je bio 2004 godine Ruby on Rails. Brzo je postao popularan jer je takođe popularizovao MVC, konvenciju nad konfiguracijom i mnoge alatke koje su doprinosile programerima brz razvoj aplikacija. Zatim se pojavio CakePHP 2005 godine i onda se razvoj nastavio u vidu CodeIgniter, Simfony, Kohana, Zend Framework itd. Još, 2010 godine CodeIgniter je postao veoma popularan radni okvir za PHP programere ali je kasnije počeo da zaostaje u tehnološkom razvoju i postao je previše spor. Zato je u junu 2011 godine, Taylor Otwella ponudio svoj radni okvir; napredniju alternativu CodeIgniter-a koju danas zovemo Laravel 


( Laravel je trenutno jedan od najboljih radni okvira za PHP programere )

Laravel 1 je doneo autentifikaciju, lokalizaciju, modele, views, sesije i rutiranje. Sve je iskodirano od nule. Laravel 2 je bio zaslužan za kontrolore, IoC i Blade. Laravel 3 je doneo Artisan i Bundles. Laravel 4 je otišao još dalje sa distribucijom paketa preko Composer radnog okvira. Zato se i kaže da je Laravel baziran na PHP programskom jeziku ali i na drugom radnom okviru Composer-u. Laravel 4 je još 2013 godine doneo još mnogo divnih stvari koje PHP programerima olakšavaju posao poput database seeding, automatsko upravljanje sa konekcijama baza podataka, 2014-te upravljanje PHP Cloud serverima, Vargrant okruženje, upravljanje pretplatama itd. Laravel 5 je još 2015 godine doneo novu strukturu direktorijuma i keširanje ruta itd. Od prekjuče; tačnije 16 februara 2023 godineLaravel je izbacio 10.2 stabilnu verziju koji zahteva minimum PHP 8.1 verziju. Svake godine se u prvih 6 meseci u SAD-u održava konferencija Laracon dok se ista održava u Evropi; tačnije Amsterdam-u u drugoj polovini godine; gde možete uvek saznati skoro sve o razvoju Laravel radnog okvira. E sad se možete pitati, ako je Laravel toliko dobar radni okvir zašto ga svi ne koriste? Mislim da postoje više razloga. Promene se često dešavaju u različitim verzijama, komponentama, kodu i postoje neke knjige i odlična dokumentacija o Laravel-u ali ponekad je komplikovano sve to uklopiti i ispratiti. Ukoliko koristite Share Hosting kod nekog provajdera; možda on jednostavno neće raditi. Druga stvar je ako vi zakupite vaš server. Tad možete da kontrolišete i da instalirate svašta na vaš hosting. Možete kompletan projekat da održavate i menjate kad se nešto promeni. Ali to zahteva mnogo više učenja i strašno je kad nad nekom komponentom nemate kontrolu. Zbog toga neki stariji iskusniji PHP programeri se drže čistog PHP  programskog jezika bez bilo čega što to može narušiti. Sve u svemu, što se mene tiče u svemu trebate biti fleksibilni; potrebno vam je vreme i mnoge greške da bi ste bili iskusniji u PHP  kodiranju ali jednostavno nema odustajanja. Uvek napredujete i učite. Još pre par meseci nije bilo šanse da instaliram Laravel na noviju verziju Linux distribucije Ubuntu-a zbog grešaka koje nisam razumeo dok je to danas druga priča.

Kako da instaliram Laravel?