PHP — разлика између измена
Садржај обрисан Садржај додат
Спашавам 8 извора и означавам 0 мртвим. #IABot (v2.0beta14) |
|||
Ред 311:
</source>
За добијање вредности одређене константе користи се функција ''constan()'', којој се прослеђује име константе, а као резултат враћа вредност константе или null ако константа није дефинисана.{{чињеница| date = 09. 2018.}} За добијање вредности свих дефинисаних константи може се користити функција ''get_defined_constants''.<ref>[http://www.php.net/manual/sr/function.get-defined-constants.php PHP.net: get_defined_constants, 20. август 2011, пристпу 28. октобар 2012]</ref> У -{PHP}- језику постоји велики број већ предефинисаних константи<ref>
=== Изрази ===
Ред 419:
==== Приоритет оператора ====
Када у једном изразу постоји комбинација више оператора, оне се извршавају редоследом који зависи од њихових приоритета и асоцијативности.<ref name=php_prioriteti>
{| class="wikitable" style="background: white;"
Ред 1.223:
</code>
која има четири могућа параметра, од којих су два обавезна и најчешће се користе:
* име датотеке се претпоставља да се ради о некој доступној [[Униформни ресурсни локатор|веб адреси]], која се тражи уз помоћ управљача [[интернет протокол|протокола]], односно омотача ({{јез-ен|wrapper}}).<ref>
* начин приступања датотеци може да има једну од следећих вредности:
Ред 1.541:
==== Наслеђивање ====
[[Датотека:Наслеђивање PHP.jpg|мини|350п|<center>Различити начини једноструког наслеђивања класа]]
'''Наслеђивање''' ({{јез-ен|Inheritance}}) је једна од најкорисинијих алатки у објектно-оријентисаном програмирању, која омогућава да корисник дефинише основну класу обично са једноставнијим или заједничким атрибутама и методама, и на основу ње изведе нове класе, које садрже извесне специфичности у односу на основну класу. Каже се да ако је Б класа исто што и А, а не важи обрнуто, онда је А наткласа или основна класа, а Б је изведена класа.<ref name="ЦАЕ">Computer Aided Education S.A: Programación páginas web con PHP material Herencia{{ес}}</ref> Основна класа се назива родитељ или наткласа ({{јез-ен|superclass}}), а све класе изведене од ње су њена деца или поткласе ({{јез-ен|subclass}}). Деца наслеђују све родитељске атрибуте и методе, декларисане као јавне (public) или као заштићене (protected), неке од њих могу да се измене ({{јез-ен|overload}}) и такође, свако дете може да надогради класу родитеља, новим атрибутима и методама.<ref name="курсеви">[http://coursesweb.net/php-mysql/php-oop-inheritance-class-extends PHP OOP — Inheritance, class extends, Courses web: PHP OOP — Inheritance, class extends, приступ 2. новембар 2012]</ref> Специјално у случају да су неки метод или цела родитељска класа, декларисани као завршни или финални ({{јез-ен|[[#Кључне речи|final]]}}), они неће моћи да буду измењен у изведеној класи.<ref>
Декларисање изведене класе врши се на основу родитељске класе уз помоћ кључне речи '''extends''',<ref name="курсеви" />
Ред 1.555:
</code>
због чега је неопходно да родитељска класа буде претходно декларисана, пре било које изведене класе<ref name="наслеђивање">
Осим тога, у изведеној класи наводе се само нови или они атрибути и методе из родитељске класе, које је потребно изменити. Истоимене методе наведене у изведеној класи неће се извршити у родитељској класи, осим ако се у изведенеој класи сепецијално не наведе позив на родитељску методу.<ref name="наслеђивање" /> За позивање метода родитељсе класе (укључујући и методу конструктор) из изведене класе, користи се кључна реч '''parent''', уместо имена родитељске класе, а иза кључне речи следе две двотачке и име методе, коју треба извршити.<ref>
<source lang="php">
Ред 1.660:
==== Интерфејси ====
'''[[Интерфејс]]и''' ({{јез-ен|interfaces}}) су својеврсна скица или шаблон<ref name="Јава_2" /> састављен од јавних апстрактних метода, при чему се методе у интерфејсу декларишу, не садрже никакве детаље око њиховог извршавања, наводе се само имена метода и параметри. Исто као и код [[#Апстрактне класе|апстрактних класа]], од интерфејса се не могу стварати [[#Класе и објекти|објекти]]. Интерфејси служе искључево за дефинисање оне групе метода које треба да постоје у свакој класи у којима се интерфејс примењује, односно имплементира ({{јез-ен|implement}}). За декларацију интерфејса користи се кључна реч '''interface'''. Осим метода, интефејси могу да садрже и [[#Константе|константе]].<ref name="интефејс">
<code>
<source lang="php">
Ред 1.791:
Ако се услов за хватање не испуни, изузетак бива избачен, односно прослеђен на више родитељске блокове, где се очекује да постоји контрола. У случају да грешка не може да се ухвати ни на једном нивоу, долази до грешке ({{јез-ен|fatal error}}), која зауставља извршавање скрипте. Ради избегавања неконтролисаних изузетака, може да се дефинише управљање изузецима уз помоћ функције <code>'''''set_exception_handler'''''</code>.<ref>[http://www.php.net/manual/sr/function.set-exception-handler.php PHP.net: set_exception_handler, 20. август 2011, приступ 15. новембар 2012]</ref> или управљање грешкама <code>''set_error_handler''</code><ref>[http://www.php.net/manual/sr/function.set-error-handler.php PHP.net: set_error_handler, 20. август 2011, приступ 15. новембар 2012]</ref>
Подаци добијени уз помоћ функција за руковање изузецима, односно грешкама, могу се на контролисан начин приказати кориснику на екрану, регистровати у датотеци или послати преко електронске поште, помоћу функције <code>''error_log''</code><ref>
Управљање грешкама уз помоћ изузетака доста је јасније и лакше од класичног начина, међутим, као термин у -{PHP}--у , он је још увек недовољно развијен, јер изузеци нне искачу аутоматски, не генерише их интерпретатор, за разлику од неких других објектно-оријентисаних језика, који у ту сврху пружају далеко веће могућности.<ref name="ЦАЕ" />
|