ohjeita web-sivuston tekijälle
Aliohjelmat (alirutiinit, funktiot) ovat omia, itsenäisiä koodinpätkiä, joilla on jokaisella oma funktionsa. PHP:ssa on sisäänrakennettuja funktioita, jotka helpottavat skriptausta siten, että joka toiminnolle ei tarvitse luoda omaa aliohjelmaa. Monessa tapauksessa on kuitenkin kätevää luoda aliohjelmia.
Esimerkkinä rakennamme yksinkertaisen skriptin, joka koostuu kahdesta aliohjelmasta. Ensimmäinen palauttaa HTML-sivun yläosan ja toinen alaosan. Yläosan aliohjelmaan lisäämme dynamiikkaa, sillä otsikkoa tulee voida vaihtaa. Tämänkaltaisen rakenteen luominen on suositeltavaa, sillä koodin uudelleenkirjoittaminen on aina pahasta.
Aliohjelman syntaksi on seuraava:
function aliohjelma(argumentit) {
lauseita
}
Argumentit ovat aliohjelmalle annettavia arvoja. Yläosan aliohjelmassamme tarvitsemme argumentin otsikon määrittämiseen.
HTML-sivun yläosan aliohjelma:
function htmlyla($otsikko) {
?>
<html>
<head>
<title><?echo $otsikko?></title>
</head>
<body>
<?
}
Ja alaosan aliohjelma:
function htmlala() {
?>
</body>
</html>
<?
}
Aliohjelmaa kutsutaan seuraavasti:
aliohjelma(argumentit);
Oletetaan, että ylä- ja alaosa-aliohjelmat ovat tallennettu omaan tiedostoonsa html.php. Sieltä niitä voidaan kutsua mistä tahansa muusta skriptistä. Yksinkertainen luomiamme ylä- ja alaosa-aliohjelmia käyttävä sivu näyttää seuraavalta:
<?
// ottaa html.php-tiedoston mukaan suoritukseen
include "html.php";
htmlyla("testiotsikko");
?>
<p>Testisisältöä</p>
<?htmlala()?>
esimerkit/function.php
lähdekoodi (function.php)
lähdekoodi (html.php)
Aliohjelmat voivat myös palauttaa arvoja. Lähestulkoon kaikki PHP:n sisäänrakennetut aliohjelmat palauttavat tuloksensa kutsujalleen eivätkä suoraan selaimelle. Aliohjelmasta palautetaan arvo käyttämällä lausetta return.
Esimerkkiskriptin aliohjelma ottaa argumenttina kaksi merkkijonoa ja palauttaa ne liitettynä.
function liimaa ($mjono1,$mjono2) {
return "$mjono1$mjono2";
}
esimerkit/return.php
lähdekoodi
Seuraava sivu: Taulukkofunktiot.
noissa yläosa ja alasosa funktioissa taitaa olla <? väärinpäin.
18.10.2006 14:35PHP-LOPPUTAGI PUUTTUU ESIMERKKILISTAUKSESTA,JOKA
ON HARMAASSA LAATIKOSSA. KIITOS MUUTEN ERINOMAISESTA KURSSISTA, JOTA TÖIDEN LOMASSA KÄYN.
Ja alaosan aliohjelma:
function htmlala() {
?>
</body>
</html>
<?
}
<---------------PHP-LOPPUTAGI PUUTTUU
Kutsuminen
Sen on tarkoituskin puuttua. Leikkaapa ja liimaa tuo kyseinen funktio tähän:
<?
// ottaa html.php-tiedoston mukaan suoritukseen
include "html.php";
htmlyla("testiotsikko");
?>
<p>Testisisältöä</p>
<?htmlala()?> <---SIIS TUOHON!
Funktioiden kutsuminen...
...taikaa! :D