PHP (Пе-ха-пе) је скрипт језик који се користи на страни сервера и чија је првенствена намена веб програмирње. Осим веб програмирања PHP се користи и као програмски језик опште намене.

Блокли је графички језик чија је основна намена развој игара за учење програмирања. Пре читања овог текста, читалац би требало да реши свих 10 нивоа Блокли игре Лавиринт.

У тексту који следи представљене су упоредо Блокли наредбе и њени PHP еквиваленти.

<?php
    require "funkcije.php";
    idiNapred();
?>

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

На другој линији позива се функција idiNapred. Функција је дефинисана у фајлу funkcije.php. Функција се позива тако што се наведе њено име иза којег следе отворена и затворена заграда (). Сваки PHP исказ се мора завршити тачка запетом ;

<?php
    require "funkcije.php";
    okreniSe("levo");
?>

Функција okreniSe узима као улазни параметар низ знакова, односно String. Функције могу да буду без параметара или да узимају један или више параметара.

<?php
require "funkcije.php";
while( ! stigaoNaCilj() )
{
    
}
?>

Петља се ивршава све док је испуњен логички услов наведен у загради иза наредбе while. Функција stigaoNaCilj враћа логичку вредност true као индикатор да је играч стигао на циљ, или логичку вредност false у случају да играч није стигао до циља. Испред функције наведен је оператор логичке негације !. Познавање Булове алгебре је добродошло, али и без тога требало би да је јасно да ће се петља извршавати све док играч није стигао на циљ.

<?php
require "funkcije.php";
while( ! stigaoNaCilj() )
{
    idiNapred();
}
?>

Почетак блока наредби у језику ПХП, као и већини других програмских језика из C (Це) фамилије означава се витичастом заградом {, а крај затварајућом заградом }. У оквиру блока наредби, слично као и код Блокли програма, могу се наћи један или више исказа. Функција idiNapred се позива све док функција stigaoNaCilj не врати true.

<?php
$smer = "napred";
if(postojiPut($smer))
{
    
}

Наредба if је наредба гранања. Ако логички услов наведен у загради иза if има вредност true, извршавање програма се наставља у оквиру блока { }, а ако није, цео блок се прескаче и програм извршава прву следећу наредбу иза блока.

Стринг литерал "napred" додељен је променљивој $smer. Променљиве у језику PHP увек почињу симболом $. Позив функције postojiPut($smer) има исти ефекат и као postojiPut("napred").

<?php
if(postojiPut("desno"))
{
    
}
else
{
    
}
Исказ у else грани се извршава уколико услов иза наредбе if није испуњен, односно ако има вредност false. Целобројна вредност 0, null, празан низ [] и празан стринг "" се такође третирају као логичка вредност false.

Како би примери били комплетни, приказан је и садржај фајла funkcije.php. Све што функције раде је слање одговарајуће поруке на стандардни излаз.

 

<?php
//poruke.php

/**
 * Funkcija samo prikazuje poruku, ne pomera igraca.
 */ 
function idiNapred()
{
    echo "Idem napred...\n";
}

function okreniSe($smer)
{
    echo "Okrecem se $smer\n";
}

/**
 * Generise slucajni broj izmedju 1 i 10
 * ako je generisani broj jednak 10 prikazuje poruku stigao sam
 * i vraca logicku vrednost true.
 * Ako je broj razlicit od 10 prikazuje poruku jos uvek putujem
 * i vraca logicku vrednost false.
 */
function stigaoNaCilj()
{
    $slucajniBroj = rand(1,10);
    if($slucajniBroj !== 10)
    {
        echo "Stigao sam\n";
        return true;
    }
    echo "Jos uvek putujem\n";
    return false;    
}

/**
 * Generise se slucajni broj i na osnovu njega se odredjuje
 * da li ce odgovor biti true ili false.
 * Verovatnoca ako je smer napred je 4/5
 * a ako je levo ili desno je 1/5
 */ 
function postojiPut($smer)
{
    $izlaz = false;
    switch($smer)
    {
        case 'napred':
            $izlaz = rand(1, 5) < 5;
            break;
        case 'levo':
        case 'desno':
            $izlaz = rabd(1,5) === 5;
            break;
    }
    return $izlaz;
}

?>
Ивица
15.01.2015
Одељци: Зид Чланци Ивица | Кључне речи:
0

Коментари:

Нови коментар

©Библиотека++ 2024 Развој сајта Ивица Лазаревић