OSA I Aloitetaan. Oppitunti. 1. PHP: Kotisivusta portaaliin 2. PHP:n asentaminen 3. Ensimmäinen skriptisi. 17 Johdanto

Samankaltaiset tiedostot
OPPITUNTI 3 Ensimmäinen skripti

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Ohjelmointi 1. Kumppanit

Web-sisällönhallintajärjestelmät. Sisältö. Mitä on web-sisällönhallinta?

Web-sisällönhallintajärjestelmät

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

T Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

Projektinhallintaa paikkatiedon avulla

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012

Written by Administrator Monday, 05 September :14 - Last Updated Thursday, 23 February :36

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Käytin tehtävän tekemiseen Xubuntu käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta.

LINUX-HARJOITUS, MYSQL

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

PERL. TIE Principles of Programming Languages. Ryhmä 4: Joonas Lång & Jasmin Laitamäki

Johdanto PHP PostgreSQL. PHP & PostgreSQL. Paul Tötterman 5. helmikuuta PHP & PostgreSQL.

Taustaa. CGI-ohjelmointi

C++ Ohjelmoijan käsikirja. Johdanto

2. PHP:n asentaminen 25

Erittäin nopea tapa saada kehitysympäristö php:lle pystyyn Voidaan asentaa muistitikulle

Chapel. TIE Ryhmä 91. Joonas Eloranta Lari Valtonen

4. Lausekielinen ohjelmointi 4.1

OPPITUNTI 5 Ohjelman kulku

3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä.

Käyttöjärjestelmien historia. Joni Herttuainen Henri Jantunen Markus Maijanen Timo Saksholm Johanna Tjäder Eetu Turunen

Valppaan asennus- ja käyttöohje

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari

PHP:n alkeita ja taustaa. Markus Norrena

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

Jouko Nielsen. Ubuntu Linux

TIE Principles of Programming Languages CEYLON

Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen

Menetelmäraportti - Konfiguraationhallinta

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä?

Maanmittauslaitoksen nimistö Spatialite-tietokantana. - kuvitettu ohje Quantum GIS ohjelmaa varten

SQL Buddy JAMK Labranet Wiki

PHP. Trainer Kit. Matt Zandstra. Copyright IT Press Tämän e-kirjan kopiointi, tulostaminen ja jakeleminen eteenpäin luvatta on kielletty.

OPPITUNTI 20 Tilan tallentaminen istuntofunktioilla

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A Kandidaatintyö ja seminaari

TIETOKANNAN LUONTI JA TOTEUTUS KOULUTUSSOVELLUKSELLE

SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

PHP:N JA ASP.NETIN SOVELTUVUUS TOIMINNANOHJAUSJÄRJESTELMÄ- PROJEKTIN TOTEUTUKSEEN

McAfee epolicy Orchestrator Pre-Installation Auditor 2.0.0

Testidatan generointi

Paavo Räisänen. WampServer palvelimen asennus ja käyttö Eclipsen kanssa, sekä ensimmäinen FTP yhteys.

Selvitysraportti. MySQL serverin asennus Windows ympäristöön

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

VHDL/Verilog/SystemC. Jukka Jokelainen

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan

Avoimen lähdekoodin kehitysmallit

Historiaa. Unix kirjoitettiin kokonaan uudestaan C-kielellä Unix jakautui myöhemmin System V ja BSDnimisiin. Kuutti, Rantala: Linux

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

ecome Markkinoiden kehittynein julkaisujärjestelmä

Kymenlaakson Ammattikorkeakoulu

11/20: Konepelti auki

Case TUHTI. Projektin tunnuslukuja. ! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä ! Java luokkia n. 5000

Uutta Remote Support Platform 3.0 -versiossa

Alustavia käyttökokemuksia SAS Studiosta. Timo Hurme Maa- ja elintarviketalouden tutkimuskeskus MTT (v alusta Luonnonvarakeskus / Luke)

SELVITYSRAPORTTI LABRA-VERKON MYSQL:n JA PHP:n KÄYTTÖÖNOTOSTA. Jarkko Kähkönen

Sivuston nopeus. Sivullasi ei ole uudelleenohjauksia. Lue lisää aloitussivun uudelleenohjausten välttämisestä.

Linux. 00 Keskeiset piirteet. Unix ja Linux Helsingin ammattikorkeakoulu Stadia Vesa Ollikainen (muokannut M.Mäki-Uuro) Kysymyksiä

Tähtitieteen käytännön menetelmiä Kevät 2009

Digitaalisen median tekniikat, k2004 HY/TKTL, palvelinohjelmointi_1 21/04/2004. Harri Laine 1. Palvelinohjelmointi. Staattinen www-sivu

Ohjelmointi 1 / syksy /20: IDE

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

Digitaalisen median tekniikat. Palvelinohjelmointi Harri Laine 1

Test-Driven Development

Digitaalisen median tekniikat. Palvelinohjelmointi

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Osoitin ja viittaus C++:ssa

Lisenssin hakeminen PTC:n verkkosivun kautta

Harri Laine 1. Digitaalisen median tekniikat, s2007 HY/TKTL, palvelinohjelmointi_1. Palvelinohjelmointi

Tikon Ostolaskujenkäsittely versio SP1

Dart. Ryhmä 38. Ville Tahvanainen. Juha Häkli

Test-Driven Development

D-OHJELMOINTIKIELI. AA-kerho, 33. Antti Uusimäki. Arto Savolainen

OPPITUNTI 11 DBM-funktioiden käyttö

HENKILÖKOHTAINEN NÄYTTÖSUUNNITELMA

Järjestelmäarkkitehtuuri (TK081702)

Webpalvelin muistitikulle - Ohje

Älysopimusten kehittäminen. Sopimus suuntautunut ohjelmointi

Alkukartoitus Opiskeluvalmiudet

HELIA 1 (11) Outi Virkki Tiedonhallinta

Pedacode Pikaopas. Web-sovelluksen luominen

Maiju Mykkänen Susanna Sällinen

Johdatus ohjelmointiin

.NET ajoympäristö. Juha Järvensivu 2007

Tietotekniikka / Tietoverkkotekniikka. Markus Autio WWW-sisällönhallintajärjestelmät Linux-järjestelmät. Lukukausi: Kevät 2014

Käytin tehtävän tekemiseen Xubuntu käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta.

Lisää pysähtymisaiheisia ongelmia

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

Juha Peltomäki JAMK/Teknologia

KYMENLAAKSON PARTIOPIIRIN JÄSENREKISTERI

SQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010

Transkriptio:

17 Johdanto OSA I Aloitetaan Oppitunti 1. PHP: Kotisivusta portaaliin 2. PHP:n asentaminen 3. Ensimmäinen skriptisi

18

1. Kotisivusta Portaaliin 19 OPPITUNTI 1 PHP: Kotisivusta portaaliin Tervetuloa PHP-maailmaan! Tässä kirjassa käydään läpi melkein jokainen PHP:n elementti. Mutta aivan ensimmäiseksi tutkimme itse PHP:tä, tuotteen historiaa, ominaisuuksia ja tulevaisuutta. Tällä oppitunnilla opit seuraavia asioita: Mikä PHP on Millainen on PHP:n historia Mitä parannuksia on PHP4:ssä Joitakin PHP-binääriin liittyviä vaihtoehtoja Syitä, miksi sinun tulisi valita PHP

20 1. Kotisivusta Portaaliin Mikä PHP on? PHP on kieli, joka on kasvanut ulos nimestään. Alunperin se koostui joukosta makroja, jotka auttoivat koodaajaa ylläpitämään henkilökohtaisia kotisivujaan (personal home pages) ja siitä PHP:n nimi juontuikin. Sen jälkeen PHP:n ominaisuudet ovat lisääntyneet ja siitä on tullut täysiverinen ohjelmointikieli, jolla voidaan hallita jopa laajoja tietokantapohjaisia online-ympäristöjä. Sitä mukaa, kun PHP:n ominaisuudet lisääntyivät, sen suosio myös kasvoi. NetCraftin mukaan (http://www.netcraft.com) PHP:tä käytettiin yli miljoonassa palvelimessa marraskuussa 1999. Vuoden 2000 helmikuuhun mennessä tuo luku oli kasvanut jo 1,4 miljoonaan palvelimeen. E-Softin mukaan PHP on suosituin saatavilla oleva Apache-moduuli ja se lyö jopa ModPerlin. PHP tunnetaan nykyään virallisesti nimellä PHP: HyperText Preprocessor (hypertekstin esikäsittelijä). Se on palvelinpuolen skriptikieli, jota kirjoitetaan tavallisesti HTML:n yhteydessä. Toisin kuin tavallinen HTML-sivu, PHP-skriptiä ei lähetetä suoraan asiakkaalle, vaan se jäsennellään PHP-ohjelman tai -moduulin toimesta. Skriptissä olevat HTMLelementit jätetään käsittelemättä, mutta PHP-koodi tulkataan ja suoritetaan. Skriptissä oleva PHP-koodi osaa tehdä kyselyjä tietokannasta, luoda kuvia, lukea tiedostoja ja kirjoittaa tiedostoihin sekä keskustella etäpalvelimien kanssa. Mahdollisuudet ovat rajattomat. PHP-koodin tulostus yhdistetään skriptissä olevaan HTML-koodiin ja tulos lähetetään käyttäjälle. Kuinka PHP laajeni? Rasmus Lerdorf loi ensimmäisen PHP-version vuonna 1994; tällöin PHP oli vielä joukko Webjulkaisumakroja. Nuo makrot julkistettiin Personal Home Page Tools -työkalupakkina ja kirjoitettiin myöhemmin uudelleen ja niihin lisättiin paketti nimeltä Form Interpreter (PHP/FI). Käyttäjän kannalta PHP/FI oli jo houkutteleva työkalu ja sen suosio kasvoi tasaisesti. PHP alkoi kiinnostaa myös kehitysyhteisöä. Vuonna 1997 joukko ohjelmoijia aloitti työskentelynsä projektissa. Seuraava julkistus, PHP3 syntyi tuon yhteistyön tuloksena. PHP3 oli tehokkaasti kirjoitettu uusi PHP ja siinä oli kokonaan uusi, Zeev Suraskin ja Andi Gutmansin luoma jäsentelijä. Se erosi aiemmasta versiosta syntaksiltaan ja sisälsi myös uusia piirteitä. Tuo julkistus teki PHP:stä yhden jännittävimmistä saatavilla olevista palvelinpuolen skriptikielistä ja sen kasvu oli tämän jälkeen suunnatonta. PHP:n tuki Apachelle ja MySQL:lle lisäsi edelleenkin sen suosiota. Apache on nykyään maailman yleisin Web-palvelin ja PHP3 voidaan kääntää Apachen moduuliksi. MySQL on tehokas ja ilmainen SQL-tietokanta ja PHP tarjoaa huomattavan joukon funktioita tietokannan käsittelemiseen. Apachen, MySQL:n ja PHP:n yhdistelmä on lyömätön. Edellä sanottu ei suinkaan tarkoita sitä, ettei PHP voisi toimia myös muissa ympäristöissä ja muiden työkalujen kanssa. Tosiasiassa PHP tukee useaa eri tietokantaa ja palvelinta. PHP:n suosion kasvaessa on Web-julkaisemisen lähestymistavoissa tapahtunut muutoksia. 1990-luvun keskivaiheilla oli tavallista kehittää sivustoja (jopa laajoja sivustoja), joissa oli satoja yksilöllisiä HTML-koodattuja sivuja. Sivustojen kehittäjät päätyivät kuitenkin enenevässä määrin käyttämään hyödykseen tietokantojen antamia mahdollisuuksia, jotta sisältöä voitaisiin hallita tehokkaammin ja sivustoja voitaisiin yksilöllistää käyttäjien ominaisuuksien mukaisesti. Tietokantojen käyttäminen sisällön tallentamiseen ja skriptikielen käyttäminen tiedon hakemiseen ovat nykyään välttämättömiä, kun tieto lähetetään yksittäisestä lähteestä erilaisiin ympäristöihin, esimerkiksi matkapuhelimiin ja PDA-laitteisiin, digitaalisiin televisioihin ja laajakaistaisiin Internet-ympäristöihin. Ei siis olekaan hämmästyttävää, että kehittynyt ja joustava PHP-työkalu tulee nopeasti suosituksi. Tämän kirjan kirjoittamisen aikoihin PHP4 oli lopullisessa beta-vaiheessaan ja lähellä julkistamistaan. Ehkä PHP4 on jo käytössäsi, kun luet tätä kirjaa!

1. Kotisivusta Portaaliin 21 Mitä uutta PHP4:ssä on PHP4 tuo mukanaan joukon uusia piirteitä, jotka parantavat ohjelmoijan elämän laatua. Katsokaamme niitä nyt lyhyesti. Uusi foreach-lause, joka on samanlainen kuin Perlissä, helpottaa taulukoiden läpikäyntiä silmukassa. Käytämme rakennetta useimmiten kirjan taulukkoesimerkeissä. Kielessä on nyt myös booleantietotyyppi. Erityisen hyödyllinen PHP3:n piirre oli kyky nimetä lomake-elementtejä aivan kuin ne olisivat taulukkomuodossa. Elementtien nimiin ja arvoihin voidaan sitten viitata taulukkoa käyttäen. Tätä ominaisuutta on laajennettu tukemaan moniulotteisia taulukoita. Oliopohjaisen ohjelmoinnin tuki oli heiveröistä PHP:ssä. Tukea on huomattavasti parannettu PHP4:ssä ja nyt on esimerkiksi mahdollista kutsua korvattua metodia lapsiluokasta. PHP4 tarjoaa nyt sisäisen tuen käyttäjäistunnoille käyttäen evästeitä ja kyselymerkkijonoa. Nyt voit "rekisteröidä muuttujan istunnon yhteydessä ja sitten käsitellä samaa muuttujanimeä peräkkäisissä käyttäjäyhteyksissä. Uusi vertailuoperaattori (===) on nyt mukana; sillä voidaan testata sekä tyypin että arvon yhteensopivuus. Saataville on asetettu myös uudet assosiatiiviset taulukot, jotka sisältävät palvelinmuuttujia ja ympäristömuuttujia. Uutta on myös muuttuja, joka tallentaa tietoa palvelimelle ladatuista tiedostoista. PHP4 tarjoaa nyt myös sisäänrakennetun tuen Javalle ja XML:lle. Vaikka nämä ja muut uudet piirteet parantavatkin huomattavasti kieltä, tärkein muutos lienee tapahtunut pinnan alla. Zend-moottori Kun PHP3 kirjoitettiin, luotiin samalla kokonaan uusi jäsentelijä. PHP4 esittelee samanlaisen muutoksen skriptimoottoriin. Siihen tehdyt muutokset ovat kuitenkin merkittävämpiä. Zend on skriptimoottori, joka toimii PHP-pohjaisten moduulien alla. Se on optimoitu parantamaan merkittävästi suorituskykyä. Nämä muutokset takaavat, että PHP4:n suosio jatkuu. Suurin osa PHP3:lle kirjoitetusta koodista toimii ilman muutoksia, mutta ne voivat olla jopa 200 kertaa nopeampia! Xend-moottoriin tuleva kaupallinen lisäys on mahdollisuus kääntää PHP-skriptejä. Se lisää suorituskykyä niin paljon, että useimmat elleivät peräti kaikki kilpailijat jäävät taakse. Zend on rakennettu parantamaan suorituskykyä, mutta se on kehitetty myös kasvattamaan joustavuutta. Kommunikointia palvelimien kanssa on parannettu, joten on mahdollista luoda PHP-moduuleita, jotka toimivat entistä useammalla palvelimella. Toisin kuin CGI-tulkki, joka sijaitsee palvelimen ulkopuolella ja joka alustetaan joka kerta, kun skripti ajetaan, palvelinmoduulia ajetaan palvelimen yhteydessä. Se parantaa suorituskykyä, koska skriptimoottoria ei tarvitse käynnistää PHP-sivun suorittamiseksi. Miksi valita PHP? PHP4:n käyttöön on useitakin syitä. Useiden projektien tuotantoaika on huomattavasti lyhyempi kuin muita skriptikieliä käytettäessä. Open source -tuotteena PHP4 saa tukea lahjakkaalta tuotantoryhmältä ja sitoutuneelta käyttäjäyhteisöltä. PHP-koodia voidaan lisäksi suorittaa useimmissa käyttöjärjestelmissä ja palvelimissa.

22 1. Kotisivusta Portaaliin Kehittämisen nopeus Koska PHP sallii erottaa HTML-koodin skriptielementeistä, kehitysaika lyhentyy useimmissa projekteissa. Useimmissa tapauksissa voit erottaa projektin koodausvaiheen suunnittelu- ja kokoamisvaiheista. Tuo mahdollisuus helpottaa ohjelmoijaa ja poistaa lisäksi kompastuskiviä, joita usein esiintyy tehokkaan ja joustavan suunnittelun tiellä. PHP on Open Source -tuote Useille ihmisille open source merkitsee vain ilmaista tuotetta, mikä sekin on tietenkin positiivista. Lainaamme virallista PHP-sivustoa osoitteessa http://www.php.net/ : Tämä saattaa kuulostaa hieman vieraalta kaikille teille, jotka tulette muusta kuin UNIX-ympäristöstä, mutta tosiasia on, että PHP ei maksa mitään. Voit käyttää sitä kaupalliseen ja/tai ei-kaupalliseen toimintaan. Voit antaa sen ystävillesi, tulostaa sen ja ripustaa sen seinällesi tai syödä lounaaksesi. Tervetuloa Open Source - maailmaan! Hymyile, maailma on hyvä. Täydelliset oikeustiedot saat virallisesta lisenssistä. Hyvin ylläpidetyt Open Source -projektit ovat edullisia myös käyttäjille. Saat ottaa yhteyttä sitoutuneeseen yhteisöön, jolla on runsaasti kokemusta aiheesta. Aivan varmasti saat vastauksen jokaiseen kohtaamaasi ongelmaan vaivattomasti. Jos vastausta ei löydetä heti, kysymyksesi lähetetään postituslistalle, jonka tuloksena voi olla älykäs ja selkeä vastaus. Voit myös olla varma siitä, että virheistä ilmoitetaan heti, kun (tai jos) niitä ilmaantuu ja uudet piirteet tulevat käyttöön, kun tarvetta ilmenee. Sinun ei tarvitse odottaa seuraavaa kaupallista julkistusta, jotta pääsisit nauttimaan parannuksista. Aktiivisuus ei kohdistu mihinkään tiettyyn palvelintuotteeseen tai käyttöjärjestelmään. Voit valita vaihtoehdot, jotka sopivat omiin tarpeisiisi tai asiakkaasi tarpeisiin ja voit olla varma siitä, että koodisi toimii juuri kuin pitikin. Suorituskyky Tehokkaan Zend-moottorin ansiosta PHP4 pärjää hyvin ASP:ille benchmark-testeissä voittaen sen joissakin testeissä. Käännetty PHP jättää ASP:in kauas taakseen. Siirrettävyys PHP on kehitetty käytettäväksi useissa eri käyttöjärjestelmissä ja se toimii useiden palvelimien ja tietokantojen kanssa. Voit tehdä tuotteen UNIX-ympäristöön ja siirtää sen sitten NT:lle ilman ongelmia. Voit testata tuotteesi Personal Web Server -palvelimessa ja asentaa sen UNIX-järjestelmään, jossa PHP on Apachen moduulina. Yhteenveto Tällä tunnilla sinulle esiteltiin PHP. Sait tietää PHP:n historian, kun se kehittyi yksinkertaisesta makrojoukosta tehokkaaksi skriptiympäristöksi. Sait tietoa PHP4:stä ja Zend-skriptimoottorista ja niiden tuomista uusista piirteistä ja lisätehosta. Lopuksi kerroimme joistakin ominaisuuksista, jotka tekevät PHP:stä kilpailukykyisen vaihtoehdon Web-ohjelmointikieleksi.

1. Kotisivusta Portaaliin 23 K&V K Onko PHP helposti opittava kieli? V Lyhyesti, kyllä! Voit todellakin oppia PHP:n perusteet 24 tunnissa. PHP tarjoaa suunnattoman määrän funktioita, joilla saat nopeasti aikaan toimintoja, joita muilla kielillä joutuisit kirjoittamaan itse. PHP hoitaa myös tietotyypit ja muistinhallinnan puolestasi (aivan kuin Perl). Ohjelmointikielen syntaksin ja rakenteiden ymmärtäminen on kuitenkin vain matkan alku. Oikeastaan opit parhaiten ohjelmointia, kun kehität omia projektejasi ja teet virheitä. Näe tämä kirja vain aloituspisteenä. Työpaja Työpaja tarjoaa pikakysymyksiä, joiden avulla voit kerrata läpikäytyä materiaalia. Yritä ymmärtää vastaukset ennen kuin jatkat seuraavaan lukuun. Vastaukset annetaan liitteessä A. Kysymyksiä 1. Mistä kirjaimet PHP tulevat? 2. Kuka loi alkuperäisen PHP-version? 3. Mikä on PHP:n uuden skriptimoottorin nimi? 4. Nimeä jokin uusi piirre, joka tuli PHP4-version mukana. Toiminta 1. Selaile kirjaa saadaksesi kuvan sen rakenteesta. Pohdi aiheita ja sitä, kuinka ne saattaisivat auttaa omissa tulevissa projekteissasi.

24 1. Kotisivusta Portaaliin