AКАДЕМИЈА СТРУКОВНИХ СТУДИЈА - ОДСЕК

АРАНЂЕЛОВАЦ

ПРИМЕНА РНР ТЕХНОЛОГИЈЕ У РАЗВОЈУ ВЕБ

АПЛИКАЦИЈА, НА ПРИМЕРУ ВЕБ ФОРУМА

Завршни Рад

Ментор: Тијана Матејић                                                  Студент: СрђанМарковић

   Предавач

                                                                     

ИТ-42/2019

 

Студијски програм: Информационе Технологије

Аранђеловац, Децембар 2021.

КОМИСИЈА:

 

др Мирослав Марковић, председник                          ___________________________

    (Потпис председника комисије)

др Ђорђе Михаиловић, члан                                        ___________________________

          (Потпис члана комисије)

Тијана Матејић, спец, ментор                                      ___________________________

(Потпис ментора)

СТУДЕНТ:

Срђан Марковић, ИТ-42/2019                                      ___________________________

(Потпис студента)

background image

УВОД

Велики број програмских језика се данас користи у изради Веб апликација. Иако далеко

најпопуларнији   РНР   је   смо   један   од   њих.   Неке   од   најкомплекснијих   и   најпосећенијих   Веб
страница су управо продукт РНР-а. Популарност дугује пре свега својој једноставности и лакоћи
која почетницима пружа могућност да га лако и брзо науче. Осим што огроман број програмера
широм   света   ради   на   РНР-у,   и   што   је   највећи   број   страница   на   Интернету  управо   на   овом
програмском језику, као секундарна појава која прати његову популарност је и велики избор,
како литературе тако и садржаја која се бави овим језиком, а која се може наћи, како на тржишту
тако и на Интернету. Све ово само пружа додатну потпору његовој популарности. У том смислу,
и овај рад између осталог има амбицију да пружи скроман допринос афирмацији РНР-а. 

Прво поглавље овог рада се пре свега бави историјским развојем и теоријском поставком

РНР-а, а у извесној мери и његовом основном применом и имплементацијом.

Приликом коришћења РНР-а (мада ово важи и за друге програмске језике) увек постоји

латентна   опасност,   нарочито   код   великих   апликација,   да   код   постане   обиман   и   да   се   често
понавља.   Као   решење   за   учинковитост   апликација   јављају  се   радни   оквири,   који   због   своје
природе и концепта који прате знатно олакшавају праћење тока апликације и читљивост њеног
кода. Друго поглавље овог рада се управо бави основним концептима на којима радни оквири
раде.

Као   логичан   след   првог   и   другог,   долази   треће   поглавље   у   коме   је   представљена   и

описана  MVC  архитектура.   У   њему   ће   такође   бити   представљено   зашто   она   представља
доминантан   концепт   развоја   корисничких   интерфејса,   и   због   чега   је   уопште   битна   идеја   о
поновној употреби постојећег софтверског кода.

Неки од најпопуларнијих радних оквира за програмски језик 

РНР

 су: 

Laravel, Symphony,

CodeIgniter, CakePHP i Zend

. У четвртом поглављу овог рада биће описани основни концепти

радног оквира 

Laravel

. Биће речи такође о историјском развоју овог радног оквира са посебним

освртом на 

Laravel 8

 и његове гране, као подлоге за развој 

Веб форума

 који је саставни део овог

рада. У овом делу ће посебно бити речи о новим функционалностима које нуди 

Laravel 8

. Неке

од најзначајнијих су: Класа  

Factory

, механизам за креирање шаблона  

Blade

,  

Carbon

  класа са

помоћним методама за рад са временом итд. На крају ће укратко бити речи о укупном значају

Laravel-а 8

 у односу на претходне верзије. 

Ово поглавље представља својеврсну увертиру у пето поглавље у коме је представљена

методологија примене и коришћења радног оквира  

Laravel 8

. Читав ток поглавља прати ток

развоја једне апликације илустрованог кроз једноставне примере који се сво време доводе у
паралелу са деловима еквивалентног кода  

Веб форума

  као апликације која је део овог рада.

Routing, Controllers, Model, Blade

 су само неке од функционалности које ће у овом поглављу

бити детаљно представљене. 

Као   логичан   завршетак   овог   рада   биће   представљена   апликација   Веб   форума   која   је

саставни део овог рада, а чија је логика у потпуности креирана коришћењем Laravel 8 радног
оквира. Поред поменутог радног оквира технологије која такође активно учествује у раду ове
апликације је  

Front-End

  радни оквир  

Bootstrap

. Циљ овог рада је да представи како се један

савремени радни оквир попит 

Laravel

-а може на једноставан начин искористити за израду једне

комплексне   апликације.   Важно   је   такође   напоменути   да   се   овај   рад   није   бавио   основама
технологија   коришћених   у   изради   апликације   те   с'   тога   подразумева   познавање   основних
концепата објектно-орјентисаног програмирања као и имплементацију и коришћење Bootstrap-a.

1

1. РHP

1.1. Увод у РНР

Сада већ давне 1994. године, као претеча данашњег  

РНР

-а појавила се прва његова,  

прелиминарна верзија коју је за потребе праћења броја посетилаца на свом  

online

  резимеу  

развио Расмус Лендорф. Скраћеница РНР се појавила већ на овој првој верзији и односила се на

Personal Home Page

” назив. Са растом његових могућности и његове једноставности врло брзо

је стекао велики број корисника, најпре међу Лендерфовим пратиоцима а затим и шире. Како је 
врло брзо почео да се користи у стручним круговима тако назив РНР почиње да се односи на 

РНР:HypertextPreprocesor

”.

Како на званичном сајту РНР-а на страници 

www.php.net

 

 

 

стоји, РНР представља “

језик 

за израду скрипти опште намене, које су у широкој употреби а који је специјално погодан
за развој на интернету, а који се може уградити у HTML

1

. Ова описна дефиниција указује на

најважнијe карактеристике РНР-а.

Каже   се   на   крају  дефиниције  да   се   може   уградити   у  

HTML

.   То   је   уједно   можда   и  

најзначајнија карактеристика РНР-а. Значи да се буквално може убацити у било који део HTML 
кода на страници и на тај начин добити динамичан резултат. Због ове његове карактеристике

РНР 

представља најпопуларнији скриптални језик данашњице.

Када се каже да је РНР језик за скриптовање обично се мисли да се за разлику од многих 

других језика обично не преводи. Сам по себи РНР је развијен да би се помоћу њега развијале 
скрипте пре свега на Вебу, и није погодан за развој независних апликација, и ако се уз незнатан 
додатни напор може користити и у ове сврхе. На основу овога лако се да закључити да се  
РНР скрипте извршавају тек након неког “догађаја”. Неки од ових догађаја би могли бити:  
притисак дугмета у форми за унос података, притисак на неки од линкова који нас помоћу 

URL

 

адресе (

Uniform Resource Location

), што је технички израз за веб адресу која води на неку

страницу на инернету, итд...

У дефиницији се такође наводи да 

РНР

 представља серверску, вишенаменску платформу. 

“Серверска” указује на то да све што РНР ради, ради на серверу, што у пракси значи да је за  
његов рад неопходна нека од апликација веб сервера (

Apache, Tomcat, Caddy...

), и да се РНР 

скриптама може приступити помоћу  

URL

  адресе. Вишенаменска се односи на то да се РНР  

може   извршавати   на   већини   оперативних   система   у   широкој   употреби.

Тренутно актуелна верзија 

РНР

-а је верзија

 8.0

 која ће у потпуности у овом облику бити 

доступна до краја 2023. године, када ће бити објављена нова грана ове верзије са допунама за 
евентуалне безбедоносне пропусте у овој верзији.

1  “

What is PHP?

”, Званичан сајт програмског језика РНР, нa https://www.php.net/manual/en/intro-whatis.php., 

(приступљено дана 22.11.2021. године)

2

background image

креираних према захтеву корисника помоћу РНР скрипти.

У првом случају не долази до никакве интерперетације на серверској страни, док се у  

другом   обавља   интерпретација   РНР   кода.   Обзиром   да   у   првом   случају   не   долази   до  
интерпретације никаквог кода, HTML странице се извршавају у веб претраживачу, тј. сервер
остаје пасиван.

То је основни разлог што се на сајтовима јављају странице на први поглед различитог  

типа (нпр.  

index.html

  и  

index.php

) чији се  садржај  различито  производи а  који  за крајњег  

корисника нема никакве уочљиве разлике.

1.4. Синтакса

Као што је већ било речи РНР код се уграђује у HTML, што у пракси значи да су РНР и 

HTML у просечној веб страници често измешани на одређен начин. О начинима и правилима 
овог уграђивања биће више речи у наставку овог рада. За сада је важно истаћи да се РНР код на 
страници додаје тако што се ставља између следећих ознака:

<?php...?>

Све оно што се налази између ових ознака представља део РНР скрипте. Према томе, све 

оно што се налази између наведених ознака, веб сервер ће третирати као РНР, и тај део кода  
предати серверском интерпретатору на обраду. Све изван наведених ознака за сервер представља
обичан   HTML  и   тренутно   се   шаље   веб   претраживачу  који   је   на   страни   клијента   (рачунар  
корисника).

Овакве   датотеке   са   “измешаним”   кодом   морају   носити   одговарајућу   екстензију.  
Екстензија говори серверу да се код на овој датотеци мора обрадити на посебан начин. 
Већи   део   веб   сервера   екстензију  

.html

  користи   за   стандардне   HTML   странице,   а

екстензију 

.рhp

 за РНР скрипте. 

2. РАДНИ ОКВИР (Framework)

Због широког спектра могућности у раду са РНР-ом велика је вероватноћа да ће особе

које се баве развојем Веб апликација имати сасвим различит приступ у креирању динамичких
Веб страница. Такође, постоји претња да би се услед сложених захтева корисника, приликом
развоја робусних РНР скрипти могло догодити да код постане исувише комплексан. Све ово
омогућава да се веома лако погреши, и тиме дође у опасност да апликација неадекватно ради
или уопште не ради. Такође постоји могућност да се особа која развија апликацију “погуби” у
властитом коду што доводи до отежаног завршетка апликације или потпуне немогућности да се
она заврши.

Овај проблем, на једноставан начин решавају радни оквири за израду Веб апликација,

4

Želiš da pročitaš svih 45 strana?

Prijavi se i preuzmi ceo dokument.

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.

Slični dokumenti