Igal pool, kus iganes Sa ei viibiks!
Twitter | Github | phpBB.com - Eesti | phpBBeesti.eu Foorum | Facebook | DISCORD Chat

demo32 (3.2 on arenduses) - demo31 (3.1 on praegune live versioon)

phpBB - 1 tarkvara - üle 100 laienduse - eesti keeles - t a s u t a
phpBB - lokaliseeritud aastast 2008*!
*Erinevate haldajate käe all. Vaata lehekülge meist.

Be Here, Be Now, Be INSIDE phpBB!

Welcome to phpBB Estonian Translation Team


Are you a fan of phpBB? Do you have enthusiasm for translation work? If you do, we would love to invite you to help us with phpBB volunteer translation. If you want to join our volunteer translation team, please contact us by FB/TW DM or at et.translations@phpbbeesti.net

PHP Algajatele - #1.

Arutelud veebidisaini teemadel, mis kasutavad HTML / XHTML ja CSSi, ning üldistel graafika teemadel, nagu näiteks Photoshop ja teised.

Moderaator: Tugi

doozy
Postitusi: 409
Liitunud: 13 Mai 2014, 08:00
Asukoht: Tallinn
Sugu: Määratlemata

PHP Algajatele - #1.

PostitusPostitas doozy » 09 Mai 2015, 19:38

Tähelepanu! Õpetus on tehtud phpBB.ee kasutaja Traf poolt, 12. mail 2008 kell 17:47.

Teeme siis kursusega algust. Esimene tund on sissejuhatav. Räägime korraldusest, PHP ülesannetest ja lõpupoole kirjutame esimesed php-harjutused.

Eessõna

Eeldan php-võimelise veebiruumi olemasolu ja oskust kasutada ftp-programme, et failid sinna üles laadida. Arvestades, et olete kõik suuremal-vähemal määral phpbb'ga seotud, ei tohiks see probleemiks kujuneda. Nendele, kellel veebiruum puudus ja sellest märku andsid, olen selle praeguseks neile üles seadnud ja privaatsõnumi saatnud. Kasuks tuleb ka html'i tundmine. Kes sellega algust tahab teha, on väga hea õpetus W3Schools lehel. Siin kursusel me seda eriti põhjalikult ei käsitle ning kes tahab, see võib kõrvalt html'i juurde õppida.

Töövahendid

Töövahenditena kasutame tekstiredaktorit ja ftp-programmi. Julgen soovitada koodikirjutamise poole pealt Notepad++ tekstiredaktorit, aga programmivalik ja -maitse jäägu igaühe enese otsustada. Kirjutada saab ka tavalise notepadiga, aga see ei ole nii mugav. Notepad++ sisaldab endas ka ftp-klienti, mistõttu serveris asuvate php-failide uuendamine käib lihtsalt ja mugavalt ning eraldiseisva ftp-kliendi vajadus kaob ära. Kellel veebiserver ja php päris enda arvutis jooksmas, ei pea failide uuendamise pärast üldse muretsema.

PHP - Dünaamilised Lehed

PHP on keel, mis on loodud dünaamiliste veebilehtede koostamiseks. Dünaamiline tähendab seda, et kogu sisu või osa sellest ei ole staatiliselt kirja pandud, vaid koostatakse lehe laadimisel, st, hetkel, kui kasutaja lingil klikib ja brauser serverilt uut lehekülge nõuab. PHP'd kasutab keelena ka phpBB foorumisüsteem. Näited dünaamilisest sisust on unixi-ajakoodi teisendamine erinevatesse kuupäevaformaatidesse, vastavalt vajadusele, ning kasutaja postituste kokkulugemine, et see igal hetkel täpne oleks. Selle asemel, et iga päev muuta ja laadida üles fail, mis muudaks ära näiteks hetkekuupäeva, saame kasutada PHP'd, et see seda ise, automaatselt teeks. Selle asemel, et seadistada kahekeelse ja kolme kujundusega foorumi jaoks üles 2 x 3 = 6 erinevat foorumit, saame kasutada vaid ühte foorumit, mis koostab lehed dünaamiliselt, vastavalt nõutud keelele ja kujundusele.

PHP - Kuidas See Töötab

php.jpg
php.jpg (83.76 KiB) Vaadatud 2392 korda


Nagu ülevalolevalt pildilt näeme, on PHP põhiline ülesanne tagastada teksti, tihtipeale HTML-vormingus. Tagastada saab ka muud sisu, nagu näiteks pildid, failid jne, kuid 99% juhtudel on tegemist siiski tekstiga. PHP saab lisaks teksti töötlemisele lugeda-kirjutada faile, võtta ühendust andmebaasidega, teha kalkulatsioone ja palju muud.

Kõige tüüpilisemal juhul tagastab PHP html-vormingus teksti mille brauser seejärel veebileheks teeb.

PHP - Esimene Harjutus

Iga php koodijupp algab <?php ja lõpeb ?> sildiga. Seega kõige lihtsam php blokk, mis küll mitte midagi ei tee, võib välja näha selline:

Kood: Vali kõik

<?php

?>


PHP parser, mis .php lõpuga faili töötlema hakkab, loeb php koodiks kõike, mis jääb <?php ja ?> siltide vahele. Kõik, mis jääb siltidest välja, jätab parser nii, nagu on. Seega saab php-blokke paigutada muu sisu vahele:

Kood: Vali kõik

Tere!
<?php

?>
Mis teed?
<?php

?>
Nägemiseni!


Tere!, Mis Teed? ja Nägemiseni! php-koodiks ei loeta, kuna need ei ole siltide vahele paigutatud. Kõik, mis me tahame php-koodina arvestada, me <?php ?> siltide vahele ka paigutame.

print ja echo

Kui põhitõed selged, saame liikuda kahe esimese käsu juurde: print ja echo. print ja echo on samasuguse ülesandega: ekraanile väljastamine. Kumba kasutada, on igaühe enda eelistus, praeguses näites kasutame print'i:

Kood: Vali kõik

Tere!
<?php
print 'Ma tahtsin sinuga rääkida.';
?>
Mis teed?
<?php
print 'Tegelikult ma enam ei taha teada ka.';
?>
Nägemiseni!


Hoiatan ette ära, et nende koodijuppide kopeerimise asemel tuleks see kood ise ümber kirjutada. Esiteks jääb see nii paremini meelde ja teiseks, kuna foorum kasutab UTF-8 kodeeringut, aga php veel mitte, siis jäävad teksti kopeerimisel sisse sellised sümbolid, mida php ei tunnista ja vigaseks märgib.

Lahates koodi, näeme, et iga php koodirea lõpus asub ; sümbol. See tähendab käsu lõppu php mõistes. Me võime kirjutada ka

Kood: Vali kõik

print 'Tegelikult ma enam
ei taha teada ka.';


Ja kõik on õige, sest php jaoks lõpeb käsklus ; märgiga. Iga käsklus algab lisaks veel uuelt realt. Näide:

Kood: Vali kõik

Tere!
<?php
print 'Ma tahtsin sinuga rääkida.';
print 'Mis teed?';
print 'Tegelikult ma
enam ei taha teada ka.';
?>
Nägemiseni!


Ülakomad tähendavad seda, et nende vahel olev tekst tuleb väljastada täpselt nii, nagu antud.
Näiteks on vahe koodijuppidel

Kood: Vali kõik

print '4+2';


ja

Kood: Vali kõik

print 4+2;


Esimene neist väljastab 4+2, samas teine neist 6.

Failid serverisse laadides ja siis brauseris vaadates tundub kõik olema ühel real. See on sellepärast, et brauser käsitleb kõike, mis serverilt tagasi tuleb, vaikimisi html-koodina. Lahendus on kasutada html-reavahetust. Lisame iga väljastatava rea lõppu <br/> sildi, mis tuleneb väljendist line break:

Kood: Vali kõik

Tere!<br/>
<?php
print 'Ma tahtsin sinuga rääkida.<br/>';
print '4+6<br/>';
print 4+6;
print '<br>';
?>


Pane tähele, et viimase rea puhul ei saa otse 4+6 järele <br/> kirjutada, kuna tegemist on eri tüüpi andmetega. Eri tüüpi andmeid saab aga ühele reale siduda punkti abil. Näide:

Kood: Vali kõik

Tere!<br/>
<?php
print 'Ma tahtsin sinuga rääkida.<br/>';
print '4+6<br/>' . (4+6) . '<br>';
?>


4+6 läksid sulgude vahele, sest ka siin kehtib tehete järjekord, ning, et kindlustada, et 4+6 enne sidumist liidetakse, tuleb see sulgudega eraldi välja tuua. Jätame meelde, et sulud ei tohe tulla kohe peale käsklust print, sest print () ei ole mitte käsklus, vaid funktsioon. Funktsioonidest räägime hiljem, hetkel aga peame selle lihtsalt meeles. Näide:

Kood: Vali kõik

print (4+6) . '<br>';


On vale ja tagastab veateate.

Muutujad ja kommentaarid

Täna käsitleme veel lühidalt muutujaid ja kommentaare. Muutujad võivad sisaldada andmeid, neid saab omavahel siduda, nendega tehteid teha ja palju muud. Muutujad algavad dollarimärgiga $. Kommentaarid on // algavad read, mille parser lihtsalt vahele jätab ja mis on mõeldud programmeerijale endale, et koodi üle paremat järge pidada.

Kood: Vali kõik


<?php
//väärtustame muutuja $nimi
$nimi = 'Mari';
//prindime teksti ekraanile
print 'Tere, mina olen ' . $nimi . '!';
?>


Kood: Vali kõik


<?php
$a = 6;
$b = 8;
$c = 25;

//arvutame vastuse ja prindime ekraanile
$vastus = ($a + $b) - ($c + 10);
print $vastus . '<br/>';

//lahutame vastusest 6 ja prindime selle uuesti ekraanile
print $vastus - 6;
?>


Siin hakkavad PHP eelised juba esile tulema - PHP arvutas vastuse meie eest. Meie ülesanne oli vaid algandmed ette anda ja siis öelda, mida nende andmetega teha. Selle lausega võib kokku võtta loogika, mille järgi nii PHP kui muu programmeerimine käib.

Kokkuvõte

Iga php käsk lõpeb ; märgiga. Ekraanile väljastamiseks saab kasutada print ja echo käsklusi. Arvutamisel kehtib tuttav tehete järjekord. Muutujaid saab väärtustada võrdusmärgi abil. Kommentaar algab // märkidega ja lõpeb uue reaga.

Ülesandeks koostage programm, mis arvutab ülejäänud pereliikmete vanused, kui õde on vennast 6 aastat vanem, isa on õest 37 aastat vanem, ema on isast 2 aastat noorem ja koer on vennast 2 aastat vanem. Venna vanus defineeritakse programmi alguses kujul:

Kood: Vali kõik

$vend = 3;


Ning programm peab arvutama ülejäänud pereliikmete vanused õigesti venna vanuse muutmisel. Vanused tuleb väljastada ekraanile kujul:

Vend: 3
Õde: 9
Isa: 46

jne. Ärge unustage kasutada <br/> silte, muidu näitab brauser kõiki vanuseid ühel real.

Üks oluline asi veel: Ma kasutasin vahepeal näidetes <?php ja ?> silte, vahepeal mitte. Olenemata sellest tuleb hoolitseda, et kirjutatud koodi ikka php'na arvestataks.

doozy
Postitusi: 409
Liitunud: 13 Mai 2014, 08:00
Asukoht: Tallinn
Sugu: Määratlemata

Re: PHP Algajatele - #1.

PostitusPostitas doozy » 09 Mai 2015, 19:43

Teema suletud, kuna tegemist on kopeeritud teemaga phpBB.ee lehelt aastast 2008.


Mine “Veebidisain ja graafika.”

Kes on foorumil

Kasutajad foorumit lugemas: Registreeritud kasutajaid pole ja 1 külaline

phpBB Eesti : Lahtiütlus