sivut.web

ohjeita web-sivuston tekijälle

PHP-opas: Aliohjelmat

Yleistä

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.

Määrittäminen

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>
<?
}

Kutsuminen

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)

Arvojen palauttaminen

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.


Käyttäjien kommentit

28.1.2005 11:33
mika

noissa yläosa ja alasosa funktioissa taitaa olla <? väärinpäin.

18.10.2006 14:35
tero koskinen <tero.koskinen@dbs-databasessytems.fi>

PHP-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

17.11.2006 14:40
Jan

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

Lisää oma kommentti


Juha-Pekka Järvenpää
jp@sivut.org
http://www.jarvenpaa.net/