Showing posts with label public. Show all posts
Showing posts with label public. 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

Tuesday, April 07, 2020

Funkcije u C# programskom jeziku


Prošli put smo učili Nizove u C# programskom jeziku, dok ćemo danas učiti još jednu interesantnu i korisnu stvar; funkcije. Bez obzira da li ste početnik u programiranju i bez obzira da li ste do sada učili funkcije u C# programskom jeziku, definitivno ste ih koristili čak i u vašem prvom C# programu. Funkcije predstavljaju jednu izdvojenu celinu naredbi koji izvršavaju neki zadatak. Funkcije pravite kada imate potrebu da deo koda izdvojite i stavite u jednu celinu ili kad imate potrebu da jedan deo koda više puta koristite u programu. Jednostavnije je da pišete samo jednom kod i da ga pozovete kad god vam treba nego da pišete isti kod. Na primer imate funkciju koja latinična slova konvertuje na ćirilična slova. Kad god hoćete da nešto napišete na ćirilici samo pozovete funkciju koja to radi. Isto tako na primer; kad imate neku grešku, ispravljate je samo na jednom mestu u funkciji a ne sto puta u celom kodu. Funkcije često nazivaju metodama, što one i jesu. Ali mnogo programera danas meša pojam metode sa funkcijama jer postoji razlika. Metode nisu samo funkcije, već predstavljaju i druge članove klase i strukture koji ne predstavljaju podatke. Znači metode su i indekseri, operatori, konstruktori i destruktori. Čak i svojstva se ponekad smatraju metodama, ali treba znati da svojstva imaju samo karakteristike metoda i atributa, ali svojstva nisu ni metode ni atributi. Ovo je bitno da znate najviše radi testova koji se polažu za Microsoft sertifikate. I pored toga što su funkcije u C# programskom jeziku slične funkcijama u C i C++ programskom jeziku, funkcije u C++ programskom jeziku možete pogledati ovde; one se takođe razlikuju. C# programski jezik ne podržava globalne metode. Svaku funkciju morate pisati unutar klase. U C# programskom jeziku nije moguće koristiti blokove za grupisanje modifikatora poput public ili private već se u C# programskom jeziku funkcije ali i ostale metode moraju deklarisati sa modifikatorima. Modifiers - modifikatori vam određuju rang delovanja promenjive, funkcije, strukture, metode i klase na nivou celog Solution – rešenja. Osnovni modifikatori pristupa su:
  •          Public – javan, bez restrikcija.
  •      Protected Internal – limitiran na program, klasu i izvedene klase
  •          Internal – limitiran na program i klasu
  •          Protected – limitiran na klasu i izvedene klase.
  •          Private – limitiran samo na klasu

Pored navedeni modifikatora obavezno trebate obratiti pažnju i na ključnu reč: 
  • static – omogućava da nam nije potrebno da instaciramo klasu kako bi smo pristupili članu klase

Postoje i drugi modifikatori kojima pravimo anonimne ili asinhronizovane funkcije ali o njima će biti posebno pisano u narednim postovima. 
  

( Funkcije mogu da vraćaju i ne vraćaju vrednost )

C# programskom jeziku imate jednu specijalnu funkciju, funkcije koje ne vraćaju vrednost i funkcije koje vraćaju vrednost. Svaka od njih može uzimati argumente. Specijalna funkcija ili funkcija koju poznajete kao Main() funkcija se koristi kao startna pozicija svakog programa. Može postojati samo jedna funkcija Main() u jednoj klasi ali u drugačijem imenskom prostoru.

static void Main(string[] args) {}

Ako bi ste napravili neku klasu u istom inenskom prozoru i u njoj navedenu funkciju dobili bi ste grešku:
  • Program has more than one entry point defined. Compile with /main to specify the type that contains the entry point.

Zato možete imati na primer više formi u projektu gde svaka forma ima svoju Main() funkciju, ali to je zato što svaka forma ima drugačiji imenski prostor. Takođe vidimo da Main() funkcija prihvata argumente u args niz tipa string. I takođe vidimo ključnu reč void koja nam potvrđuje da navedena funkcija ne vraća nikakvu vrednost, već se program završava kad se funkcija izvrši do kraja. Ovu funkciju nikad ne trebate menjati i posebno ne trebate da pravite neku svoju.

Funkcije koje ne vraćaju vrednost