Kirjoittaja: Antti Laaksonen (2011).
PHP on suosittu nettisivujen toteutukseen tarkoitettu ohjelmointikieli. PHP-koodi suoritetaan palvelimella ennen nettisivun lähettämistä selaimelle, minkä ansiosta PHP ei vaadi tukea selaimelta ja sillä voi käsitellä esimerkiksi palvelimen tiedostoja ja tietokantoja. PHP:n vahvuuksia ovat helppokäyttöisyys ja monipuolisuus, minkä lisäksi se on käytettävissä useimmissa edullisissa webhotelleissa.
Tämän opassarjan tarkoituksena on antaa lukijalle perustiedot PHP-ohjelmoinnista. Oletuksena on, että lukijalla on kokemusta nettisivujen tekemisestä HTML-kielellä. Oppaiden lukeminen ei vaadi aiempaa ohjelmointitaustaa, mutta ennakkotiedot ohjelmoinnista auttavat paljon PHP:n opettelussa. Toisaalta PHP on myös mainio valinta ensimmäiseksi ohjelmointikieleksi. Opassarjan esimerkit toimivat kaikilla PHP 5:n versioilla.
PHP:n käyttäminen vaatii palvelimen, jossa on mahdollista suorittaa PHP-koodia. Nykyään PHP:tä voi käyttää lähes kaikissa edullisissa webhotelleissa.
PHP-koodia voi testata myös omalla kotikoneella, kunhan asentaa sopivan palvelinympäristön. Helppo tapa asentaa tarvittavat ohjelmat on kopioida XAMPP-paketti. Ohjelmointiputkassa on kuvitettu ohje XAMPP:n asentamisesta Windows-järjestelmään.
Seuraavassa on ensimmäinen PHP-sivumme:
<!DOCTYPE html> <html> <head> <title>Ensimmäinen PHP-sivu</title> </head> <body> <p>Vuorokaudessa on <?php echo 24 * 60 * 60; ?> sekuntia.</p> <p>Tänään on <?php echo date("j.n.Y"); ?>.</p> <p>Palvelimella on PHP:n versio <?php echo PHP_VERSION; ?>.</p> <?php echo "<ul>"; for ($i = 1; $i <= 10; $i++) { echo "<li>" . $i; } echo "</ul>"; ?> </body> </html>
PHP-sivu on muodoltaan samanlainen kuin HTML-sivu. Erona on, että tiedoston pääte on .php
eikä .html
ja sivun osana voi olla PHP-koodia, joka on merkintöjen <?php
ja ?>
välissä. Palvelin käsittelee PHP-koodin ennen sivun lähettämistä käyttäjälle, jolloin lopputuloksena sivulla on pelkkää HTML-koodia.
Voit kokeilla yllä olevaa koodia Ohjelmointiputkan palvelimella painamalla koodin alapuolella olevasta linkistä. Voit myös kokeilla koodia omalla palvelimellasi tallentamalla koodin esimerkiksi tiedostoon eka.php
ja siirtämällä tiedoston palvelimelle.
Koodin tuloksena on seuraavanlainen HTML-sivu:
<!DOCTYPE html> <html> <head> <title>Ensimmäinen PHP-sivu</title> </head> <body> <p>Vuorokaudessa on 86400 sekuntia.</p> <p>Tänään on 19.8.2011.</p> <p>Palvelimella on PHP:n versio 5.1.4.</p> <ul><li>1<li>2<li>3<li>4<li>5<li>6<li>7<li>8<li>9<li>10</ul> </body> </html>
Ensimmäinen PHP-osuus laskee laskun 24 * 60 * 60 ja tulostaa vastauksen sivulle. Seuraavat PHP-osuudet tulostavat päivämäärän ja PHP:n version sivulle. Viimeinen PHP-osuus tulostaa listan, joka sisältää luvut 1–10. Tässä vaiheessa ei ole tärkeää ymmärtää kaikkea käytetystä PHP-koodista, vaan palaamme asioihin opassarjan kuluessa.
PHP:n komennot echo
ja print
tulostavat tekstiä sivulle. Komento echo
on ehkä yleisempi, mutta voit käyttää kumpaa tahansa, koska toiminta on sama.
Teksti kirjoitetaan lainausmerkkien (""
) tai heittomerkkien (''
) sisään:
Tämän koodin tulostus on seuraava:
<p>Tervetuloa!</p><p>Tässä on hieman tekstiä.</p>
Huomaa, että kaikki teksti tulee samalle riville, vaikka koodissa on kaksi echo
-komentoa. Tämä ei ole kuitenkaan ongelma, koska rivinvaihdoilla ei ole yleensä merkitystä HTML:ssä. Jos jostain syystä haluaisimme rivinvaihdon tekstiin, voisimme käyttää merkintää \n
.
Kokonaisluvut ja desimaaliluvut merkitään sellaisenaan PHP-koodiin. Jos luvussa on desimaaliosa, erottimena on desimaalipiste englannin kielen mallin mukaisesti. Luvuilla voi laskea tavalliseen tapaan: käytössä ovat mm. laskutoimitukset +, -, * ja / sekä sulut.
Esimerkiksi seuraava koodi tulostaa sivulle luvun 16:
<?php echo 2 * (5 + 3); ?>
PHP-koodin osana voi olla kommentteja, jotka eivät vaikuta koodin toimintaan vaan selventävät jotain asiaa koodin lukijalle. Merkintä //
tuottaa yksirivisen kommentin, ja merkinnät /*
ja */
tuottavat monirivisen kommentin. Seuraava koodi havainnollistaa asiaa:
<?php // yksirivinen kommentti /* tämä kommentti jakaantuu kahdelle riville */ ?>
Käytännössä kommenttia voisi käyttää esimerkiksi näin:
<?php echo 7 * 24; // viikon tuntien määrä ?>
HTML-koodissa pienet virheet eivät usein haittaa, koska selaimet pyrkivät tulkitsemaan virheitä sisältävän koodin jollakin järkevällä tavalla. PHP-koodissa tilanne on toinen: koodin täytyy olla täysin oikein kirjoitettu, jotta se toimii halutulla tavalla. Tämän vuoksi PHP:n opettelussa kannattaa alusta alkaen kiinnittää huomiota koodin yksityiskohtiin.
Perusperiaate PHP:ssä on, että koodi muodostuu komennoista, jotka suoritetaan järjestyksessä ylhäältä alaspäin. Komentojen perässä on puolipiste (;
), ja kukin komento kirjoitetaan yleensä omalle rivilleen. Opassarjan edetessä tutustumme pikkuhiljaa erilaisten komentojen merkintätapaan.
PHP:n manuaali on täydellinen kuvaus PHP-kielestä ja tärkeä ohjelmoijan tietolähde PHP:n perusasioiden opettelun jälkeen.
Mahtavaa, Antti!!!
Todella opettavainen sivusto tämä Putka, kiitos Antti :)
Hyvä ja monipuolinen opas!
Pystyykö nää pääkohdat ajamaan suoraan xampissa?
aloittelija1234 kirjoitti:
Pystyykö nää pääkohdat ajamaan suoraan xampissa?
Arvaa:
PHP-opas kirjoitti:
PHP-koodia voi testata myös omalla kotikoneella, kunhan asentaa sopivan palvelinympäristön. Helppo tapa asentaa tarvittavat ohjelmat on kopioida XAMPP-paketti.
Eli tietenkin pystyy.
aloittelija1234 kirjoitti:
Pystyykö nää pääkohdat ajamaan suoraan xampissa?
Pystyy, laitat vain oman PHP-tiedostosi XAMPPin juurikansiosta löytyvään "htdocs"-kansioon.
Huomio! Kommentoi tässä ainoastaan tämän oppaan hyviä ja huonoja puolia. Älä kirjoita muita kysymyksiä tähän. Jos koodisi ei toimi tai tarvitset muuten vain apua ohjelmoinnissa, lähetä viesti keskusteluun.