Ero sivun ”PHP” versioiden välillä

Wikikirjastosta
Poistettu sisältö Lisätty sisältö
Samulili (keskustelu | muokkaukset)
Ei muokkausyhteenvetoa
Rivi 31: Rivi 31:


Seuraava esimerkki tuottaa täysin samanlaisen tuloksen kuin aikaisempi, mutta koodin ulkoasua on vain muutettu:
Seuraava esimerkki tuottaa täysin samanlaisen tuloksen kuin aikaisempi, mutta koodin ulkoasua on vain muutettu:

:<code><?php</code>
<?php
:<code>/* Seuraava</code>
/* Seuraava
:<code>ohjelmalause tulostaa</code>
ohjelmalause
:<code>tekstiä</code>
tulostaa
:<code>*/</code>
tekstiä */
:<code>{{phpkomento2|echo}} 'Hei, maailma!'; // Tulostaa tekstin: Hei, maailma!</code>
{{phpkomento2|echo}} 'Hei, maailma!'; // Tulostaa tekstin: Hei, maailma!
:<code>?></code>
?>


Oikeasti edellisen kaltainen kommentointi ei ole järkevää, mutta hieman vaativammissa sovelluksissa kommentteja kannattaa toki käyttää.
Oikeasti edellisen kaltainen kommentointi ei ole järkevää, mutta hieman vaativammissa sovelluksissa kommentteja kannattaa toki käyttää.

Versio 15. elokuuta 2006 kello 15.30

Wikipedia
Wikipedia
Wikipedia-tietosanakirjassa on artikkeli aiheesta:

PHP (lyhenne sanoista PHP: Hypertext Preprocessor) on eräs suosituimmista palvelinpohjaisista skriptikielistä, joka tarkoittaa että koodi käsitellään ennen kuin se näytetään selaimelle, joten koodia ei pysty näkemään sivun lähdekoodista. PHP:tä käytetään dynaamisten internet-sivustojen tekemiseen. Esimerkiksi MediaWiki (ohjelmisto, jota Wikikirjasto käyttää) on tehty PHP-kielellä. PHP on C/C++:n kaltainen kieli, johon on lisätty valtava määrä helpottavia funktioita. Tästä syystä PHP ei ole niin ohjelmakirjastopohjainen (ohjelmakirjasto = engl. "library") kuin C/C++-kieli.

PHP on kehitetty avoimen lähdekoodin projektina. Toiminnaltaan jossain määrin vastaavia tekniikoita ovat esimerkiksi Microsoftin ASP ja Sun Microsystemsin JSP. PHP:n tärkein ero verrattuna avoimen lähdekoodin Perl-skriptikieleen on se, että PHP on suunniteltu nimenomaan web-käyttöön. PHP:stä löytyy myös suoraan tietokantaominaisuudet mm. MySQL:lle, PostgreSQL:lle, ja SQLitelle (PHP 5).

Esimerkki:

<?php
echo "Hei, maailma!"; // Tulostaa tekstin: Hei, maailma!
?>

Tässä oppaassa PHP:n komennot on linkitetty PHP:n omaan käyttöohjeeseen. Se on englanninkielinen, mutta sieltä löytyy jokaiselle komennolle syntaksi ja kattavat käyttöohjeet esimerkein.

Historiaa

  • PHP/FI (Personal Home Pages / Forms Interpreter) julkaistiin 1995
  • PHP/FI 2.0 julkaistiin marraskuussa 1997
  • PHP (PHP: Hypertext Preprocessor) 3.0 julkaistiin kesäkuussa 1998
  • PHP 4.0 julkaistiin toukokuussa 2000
  • PHP 5.0 julkaistiin 14.7.2004

Rakenne

PHP-koodi kirjoitetaan .php -tiedostoon, jota käyttäjät voivat suorittaa. Koodi kirjoitetaan <?php- ja ?>-tagien väliin. Sama php-tiedosto voi sisältää myös tavallista html-koodia, kunhan se sijoitetaan näiden kahden tagien ulkopuolelle. PHP sisältää valmiiksi todella paljon erilaisia funktioita, joilla voidaan nopeuttaa ja helpottaa tietyn tehtävän tekemistä. Edellisessä esimerkissä käytettiin hyväksi funktiota echo, jolla voidaan tulostaa tekstiä.

Ulkoasu

PHP-koodin ulkoasusta kannattaa tehdä melko yksinkertainen ja selkeä. Rivinvaihdoilla ja muilla samantyyppisillä ole koodin toimivuuden kannalta merkitystä, mutta niitä oikeinkäytettynä saadaan aikaan selkeää ja nopeasti omaksuttavaa koodia.

Jos katsot ylläolevaa esimerkkiä, huomaat, että jokainen ohjelmalause loppuu puolipisteeseen ; ja merkkijonot ympäröidään lainausmerkeillä "". Myös heittomerkkien käyttö on sallittu.

Kommentit, joita tietokone ei ota huomioon suorittaessa, kirjoitetaan joko //-merkin jälkeen samalle riville tai /*- ja */-merkkien väliin. Kommentteja kannattaa käyttää viimeistään silloin, kun koodista on tulossa monimutkaista ja pitkää. Ne auttavat nopeasti uudelleen omaksumaan koodin ja myös ulkopuolisten on helpompi ymmärtää toisten kirjoittamaa koodia, jos siinä on tarvittava määrä kommentteja.

Seuraava esimerkki tuottaa täysin samanlaisen tuloksen kuin aikaisempi, mutta koodin ulkoasua on vain muutettu:

<?php
/* Seuraava
ohjelmalause
tulostaa
tekstiä */
echo 'Hei, maailma!'; // Tulostaa tekstin: Hei, maailma!
?>

Oikeasti edellisen kaltainen kommentointi ei ole järkevää, mutta hieman vaativammissa sovelluksissa kommentteja kannattaa toki käyttää.

Perustoimenpiteet

PHP:ssä on monia näppäriä toimenpiteitä merkkijonojen ja lukujen käsittelyä varten. Seuraava esimerkki esittelee niistä muutamia:

<?php
echo "Hei, maailma!"; // Hei, maailma!
echo "Hei," . "maailma!"; // Hei, maailma! (Pisteen avulla voidaan yhdistää merkkijonoja yhteen)
echo 3 + 5; // 8 (Huomaa, että lukuja, joita ei ole tarkoitus käsitellä merkkijonoina, ei ympäröidä heitto- eikä lainausmerkeillä)
echo "3" . "5"; // 35
echo 5 - 3; // 2
echo 3 * 5; // 15 (Kertolasku)
echo 10 / 2; // 5 (Jakolasku)
echo 20 % 3; // 2 (Jakojäännös)
echo (3 + 5) * 10; // 80 (Termejä voi olla useampiakin. PHP osaa oikean laskujärjestyksen.)
?>

Muuttujat

Muuttujia käytetään tallentamaan tietoa, joka saadaan joko itse koodista, tietokannasta, käyttäjältä tai vaikkapa palvelimelta. Niiden käyttö ja hallinta on näppärää moniin muihin ohjelmointikieliin verrattuna se, että niiden tyyppiä ei tarvitse itse määrittää vaan se päätellään automaattisesti sille annetusta arvosta. Muuttujalle pitää kuitenkin antaa arvo ennen kuin sitä voidaan käyttää muualla koodissa.

Muuttuja merkitään dollarimerkillä $ ja tunnisteella, joka voi olla kirjaimia tai numeroita. Usein muuttujan tunnisteeksi kannattaa valita muuttujan tehtävää kuvaava nimi.

Seuraavassa esimerkissä tehdään sama toimenpide kuin kahdessa aikaisemmassa koodissa, mutta nyt käytetään hyväksi muuttujia:

<?php
$tervehdys = "Hei, maailma!"; // Tallennetaan teksti muuttujaan
echo $tervehdys; // Nyt sitten käytetään äskettäin luotua muuttujaa ja tulostetaan sen sisältämä teksti
?>

Jos muuttuja halutaan sijoittaa suoraan toisen merkkijonon sisään, voidaan menetellä kahdella tavalla:

<?php
$kayntikerrat = 3; // Tallennetaan luku muuttujaan. Huomaa, että ääkkösien käyttö on sallittu php:ssa
echo "Hei, olet käynyt täällä" . $kayntikerrat . "kertaa.";
// Hei, olet käynyt täällä 3 kertaa. (Muuttujan voi lisätä merkkijonojen liittämistekniikalla)
echo "Hei, olet käynyt täällä {$kayntikerrat} kertaa.";
// Hei, olet käynyt täällä 3 kertaa. (Muuttujan voi lisätä myös aaltosulkuja {} hyväksi käyttäen)
?>

Huomaa, että muuttujien nimissä ei kannata käyttää ääkkösiä, ja kirjainkoolla on merkitystä.

Taulukot

Taulukko on muuttuja, jossa on monia avain/arvo -pareja peräkkäin. Tyhjän taulukon voi luoda näin:

$taulukko = array();

Tyhjää taulukkoa harvemmin tarvitsee, joten luodaan taulukko vaikkapa maista:

$taulukko = array("Suomi", "Viro", "Irkutski");

Taulukossa on nyt kolme arvoa(Suomi, Viro, Irkutski) ja kolme avainta (0, 1, 2), joihin voi viitata seuraavasti:

//tulostaa "Suomi"
echo $taulukko[0];

Avainten numerointi alkaa oletuksena nollasta. Irkutski voitaisiin tulostaa korvaamalla äskeisestä 0 numerolla kaksi. Numeroinnin voi alkaa halutessaan muustakin numerosta. Seuraavassa numerointi aloitetaan numerosta 5, jota seuraa 6 ja 7:

$taulukko = array(5 => "Suomi", "Viro", "Irkutski");

Arvot voidaan myös nimetä, jolloin PHP:n taulukosta tulee muista kielistä tuttu hash-tyyppinen taulukko. Tällöin numerointi ei ole voimassa:

$taulukko = array("lähellä" => "Suomi", "kaukana" => "Viro", "erittäin kaukana" => "Irkutski");
//tulostaa "Viro"
echo $taulukko["kaukana"];

Taulukko voi olla kolmiuloitteinen. Tällöin tarvitaan kaksi avainta arvon löytämiseen.

$taulukko = array("lähistöllä" => array("Suomi" => "suomalaiset", "Viro" => "virolaiset"));
//tulostaa "suomalaiset"
echo $taulukko["lähistöllä"]["Suomi"];

Taulukko voi olla neli- tai viisiuloitteinenkin. Käytännössä sen monimutkaisempia taulukoita ei juuri koskaan tarvitse. Jos ihmettelet miksi, yritäpä piirtää kuusiulotteinen taulukko paperille.

Taulukkoa käytetään yksinkertaistamaan koodia. Esimerkiksi kuukausien nimet on kätevä tallettaa taulukkomuotoon siten, että avain 6 vastaa kesäkuuta ja niin edelleen. Jotkin tietorakenteet olisi vaikea toteuttaa ilman taulukkoa, sillä taulukosta on helppo suorittaa esimerkiksi arvontaa. Funktioille on helppo siirtää monia arvoja kerrallaan taulukkomuodossa. PHP:n monesti käyttämät POST- ja SESSION -muuttujat ovat taulukkoja.

Taulukkoon on helppo sijoittaa tietoa myöhemmin, $taulukko[] = "tieto"; sijoittaa tiedon seuraavaan vapaaseen paikkaan.

Katso myös

  • php.net - PHP:n virallinen sivu (englanninkielinen)
  • Ohjelmointiputka - Sivusto, jossa on paljon koodivinkkejä ja oppaita aloittelijoille.
  • Mureakuha - Toinen ohjelmointia käsittelevä sivusto, mutta se on tarkoitettu hieman edistyneemmille ohjelmoijille.