Kirjoittaja: Antti Laaksonen (2003).
⚠ Huomio! Tämä opas on vanhentunut. Oppaan sisältöön ei voi enää luottaa. Opas on säilytetty vain sen historiallisen arvon vuoksi. ⚠
PHP on ilmainen, palvelinpohjainen skriptikieli, jota käytetään usein toiminnallisten www-sivujen toteuttamiseen. Palvelinpohjaisuus tarkoittaa sitä, että PHP-koodi suoritetaan palvelimella, jolloin se ei vaadi mitään erityistä tukea selaimelta. Se tarkoittaa myös sitä, että skriptillä on pääsy esimerkiksi palvelimen tiedostoihin ja tietokantoihin.
Tämä PHP-opas on yritetty kirjoittaa niin, että se antaa lukijalle perustiedot PHP-kielen ominaisuuksista ja mahdollisuuksista. Opas ei siis pyri olemaan täydellinen kuvaus kielestä. Ensimmäiset kolme osaa käsittelevät kielen rakennetta, tämän jälkeen keskitytään nimenomaan www-sivujen tekemiseen liittyviin asioihin.
Oppaan lukemiseksi et tarvitse välttämättä aikaisempaa ohjelmointikokemusta, mutta perustiedot www-sivujen luomisesta ja HTML-kielestä on syytä olla. Jos olet ohjelmoinut aiemmin jollain toisella kielellä, tulet todennäköisesti omaksumaan PHP:n nopeasti. Erityisesti C-kielen lauserakenteet ovat hyvin samankaltaisia PHP:n kanssa. Tämän lisäksi PHP on helppokäyttöinen ja joustava kieli.
Ennen kuin voit alkaa ohjelmoida PHP:lla, tarvitset sitä tukevan palvelimen. Voit tarkistaa oman palvelimesi PHP-tuen seuraavalla skriptillä. Nimeä se testi.php:ksi, lähetä palvelimelle (FTP-ohjelmalla) ja katso sivua selaimella.
<?php echo "Toimiiko PHP?"; ?>
Jos selaimessa näkyy ainoastaan teksti "Toimiiko PHP?", palvelin tukee PHP:ta. Jos selain näyttää koko koodin, palvelimella ei ole PHP-tukea. Maksuttomat kotisivutilat eivät aina tue PHP:ta, koska se asettaa vähän suuremmat vaatimukset palvelimelle – hyvää ei saa ilmaiseksi.
PHP-skriptejä voi testata myös omalla tietokoneella asentamalla sopiva palvelinohjelma PHP-tuella. XAMPP-paketti tarjoaa helpon tavan asentaa tarvittavat ohjelmat omalle koneelle. Ohjelmointiputkassa on myös kuvitettu ohje XAMPP:n asennuksesta Windows-ympäristöön.
Osoitteesta https://www.php.net/ löytyy PHP:n virallinen manuaali, joka sisältää tarkan kuvauksen PHP-kielen rakenteesta ja kielen sadoista funktioista. Manuaali on luettavissa Internetissä, ja voit myös kopioida sen omalle koneellesi. Tulet varmasti löytämään manuaalille käyttöä ennemmin tai myöhemmin.
Perinteinen tapa aloittaa uuden ohjelmointikielen opiskelu on kirjoittaa pieni ohjelma, joka tulostaa pätkän tekstiä. Näin teemme mekin. Kirjoita seuraavat rivit tekstieditorilla, tallenna skripti nimellä eka.php, ja katso sivua selaimella.
<?php //tulostaa tekstin "PHP-ohjelmointi on mukavaa!" echo "PHP-ohjelmointi on mukavaa!"; ?>
Selaimen ikkunaan pitäisi ilmestyä teksti "PHP-ohjelmointi on mukavaa!". Koska PHP-koodi suoritetaan jo palvelimella, sivun koodissa ei näy mitään PHP:hen viittaavaa. Tämän ansiosta sivun katselijat eivät myöskään pysty näkemään kirjoittamaasi koodia.
PHP-skriptin merkitsemiseen on useita eri tapoja, mutta paras ja yleisimmin käytetty tapa on aloittaa skripti <?php
-merkinnällä ja päättää se ?>
-merkintään. Samalla sivulla voi olla useita PHP-osuuksia, joiden välissä voi olla tavallista HTML-koodia.
//monta PHP-koodiosuutta HTML-dokumentissa <html> <body> <p>Tämä HTML-sivu on luotu <?php echo "PHP:n"; ?> avulla ja sen pituus on <?php echo 5; ?> riviä.</p> </body> </html>
Kommentteja käytetään selventämään skriptin toimintaa. Koodin kommentointi on hyödyllistä erityisesti silloin, kun skriptit ovat pitkiä ja monimutkaisia. PHP:ssä on kolme kommentointitapaa.
<?php //yhden rivin pituinen kommentti /* kolmirivinen kommentti, joka vaatii sekä aloitus- että lopetusmerkinnän */ # vaihtoehtoinen kommentointitapa ?>
PHP:ssä on kaksi lähes samanlaista komentoa tekstin tulostamiseen, echo
ja print
. Se, kumman itse valitsee, on käytännössä makuasia. Joka tapauksessa kummatkin tulostavat sivulle niille parametriksi annetun tekstin.
Merkkijonot ympäröidään joko lainausmerkeillä tai heittomerkeillä. Lisätietoa merkkijonojen merkitsemisestä on tämän opassarjan toisessa osassa.
<?php echo "Tämä on lainausmerkeissä tulostettu lause. "; echo 'Tämä on heittomerkeissä tulostettu lause. '; ?>
Luvut ilmoitetaan sellaisenaan. Kuten ohjelmointikielissä yleensäkin, desimaalipilkkuna käytetään pistettä.
PHP:ssä jokainen ohjelmalause päätetään puolipisteeseen. Tämä tarkoittaa sitä, että samalla rivillä voi olla useampia lauseita puolipisteellä erotettuna. Kuitenkaan koodin selkeyden vuoksi yhdelle riville ei tavallisesti kannata laittaa kuin yksi lause.
<?php echo "Ensimmäinen lause. "; echo "Toinen lause. "; echo "Kolmas lause. "; echo "Neljäs lause."; ?>
Tämän PHP-oppassarjan ensimmäinen osa alkaa olla lopussaan. PHP:n toimintaperiaate tuli toivottavasti selväksi, seuraavaan osaan on luvassa tietoa muuttujista ja taulukoista. Palautetta, ilmoituksia virheistä ynnä muuta voi lähettää esimerkiksi sähköpostilla.
Antti Laaksonen, 28.3.2003
Olisi kannattanut ainakin ehtolauseet esitellä ensimmäisessä osassa.
En nyt viitsi turhaan pitää kiirettä. Osa 2 käsittelee muuttujia ja taulukoita, ja osassa 3 on tietoa ehto- ja silmukkarakenteista, kuten if:stä.
Kannattaa varmaan opettaa hyvät koodaustavat (coding convention) heti alusta. Eli ei tuollaisia 3 lausetta samalla rivillä yms. Helpottaa asioita myöhemmässä vaiheessa.
Mukava opas. (¨) <- peukalo pystyyn
nii, mitä enemmän koodia samalla rivillä, sitä vaikeempi sitä on lukea. :) kielestä riippumatta.
Tuo kolme lausetta samalla rivillähän vain kuvasi sitä ettei niitä ole pakko laittaa eri riveille :)
Silti ei kannata opettaa käyttämään montaa riviä tekstiä samaan koodiriviin!!!!
Eeh... Mitä jos ei näy mitään, kun kokeilee tota testiä? Siis testi.php
Kokeilin, mutta ei näy mitään!
Jätin sen vähäksi aikaa osoitteeseen:
http://www.freepgs.com/masa-webbi/testi.php
Mutta ei ole pakosta kauaa!
Eli vastauksia, PLEASE! ;)
Tai se paikka vaihtu... :D TUOLLA se taitaa olla kauemmin... :) Eli vastauksia, pliis!
http://www.freepgs.com/emkoo/testi.php
Masa Mainio luullakseni freepgs:n palvelin ei tue php:tä. Tarkista palvelimen tuet freepgs:n sivuilta.
kahden kuukauden tappelun jälkeen sain apachen ja php:n toimimaan koneella niin eiköhän tämän oppaan avulla myös opita sitten tuo php-kieli.
onneksi joku on nähnyt vaivaa tehdä tälläisen ja sille iso hatun nosto!
muuten hyvä mutta eikö ensimmäinen ohjelma pitäisi olla "hello world"
Oikein hyvä... Ohops! Nytpä innostuin PHP:stä! ; )
Helpoiten Apachesta ja PHP:stä (+ MySQL) pääsee asentamalla winukkaansa WAMP:in, jonka löytää osoitteesta http://wampserver.com/en/download.php .
Toi wampserver olikin todella helppo ja hyvä ratkasu :)
Siis todella hyvä opas, voitte katsoa aikaansaannoksiani osoitteesta http://www.hulluaivo.tk/
Jep, toi wamp on hyvä :)
Ilman tietokoneen php-tukea, jota en itse ole edes saanut toimimaan, pärjää myös. Homma käy helposti, kun on kunnon ftp-ohjelma (itsellä Filezilla) auki, jolloin siirtey on helppoa ja nopeaa.
Numis97 kirjoitti:
Ilman tietokoneen php-tukea, jota en itse ole edes saanut toimimaan, pärjää myös. Homma käy helposti, kun on kunnon ftp-ohjelma (itsellä Filezilla) auki, jolloin siirtey on helppoa ja nopeaa.
Itse käytin ennen myös servolle siirtoon SFTP yhteyttä filezillalla, jossa sitten voi testata, mutta huomasin että on vaivattovanpaa asentaa se php koneelle. Tai sitten asentaa esim. WAMP:in jossa on mukana php, MySQL ja apache jne.
Kannattaa kokeilla. http://www.wampserver.com
Tämän jokainen saa toimimaan senkun vaan lataa ja asentaa : )
Tämä opas on loistava, kiitos paljon Antille!!
hmm eipä toimi kumpikaan noista wamp/xampp minulla. Apache palvelin online-tilassa ja kaikki pitäis olla kunnossa, mut näyttää siltikin php-koodin selaimessa. :( UAC poistettu käytöstä. Neuvoja?
Edit. Ongelma ratkesi. localhost/testisivu.php selaimessa osoitteeksi. Alun perin yritin avata C:ltä suoraan tuon sivun. :)
hmm jotenkin kun käväsin ton juhkon sivulla heitti johonkin kilpailu sivulle.
Edit:joku semmonen missä piti pistää numero sähköposti jne
"Tämä opas on vanhentunut", mutta täytyy sanoa, että näiden ohjeiden avulla itse opin huomattavasti helpommin. Kun jokaisessa kohdassa selitetään mitä mikäkin tarkoittaa eikä kerralla vain pitkää litaniaa erilaisia merkkejä ilman yksinkertaista selitettä mitä ja miksi. :) Kiitos! Vaikka vaarana onkin, että jotkin osuudet ovat vanhentuneita, niin peukut ohjeistuksista!
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.