PHP -> [Edellinen | Seuraava]

PHP 18.1.2004

Tämä oppaan on kirjoittanut Ari.Rantala@co.jyu.fi <URL: http://www.co.jyu.fi/ara/ >. Opas on tarkoitettu PHP-kurssieni materiaaliksi oppilaiden henkilökohtaiseen käyttöön. Oppaan luvut ilmestyvät näkyviin kurssin edetessä.






PHP -> Web toimintoympäristönä [Edellinen | Seuraava]

1. Web toimintaympäristönä

  • Webin toiminta perustuu asiakas-palvelin -malliin. Malliin kuuluu yleisellä tasolla kolme osaa:
    1. asiakasohjelma, joka lähettää palvelimelle pyyntöjä käyttäjän ohjaamana
    2. palvelinohjelma, joka vastaa asiakasohjelman pyyntöihin
    3. yhteyskäytäntö (protokolla), joka  määrittelee miten asiakasohjelma ja palvelinohjelma viestivät keskenään
  • Runsaasti erilaisia tekniikoita valittaviksi (ja riideltäviksi)
  • Web-sovelluksissa käytettävät tekniikat voidaan jakaa karkeasti
    1. Web-selaimessa suoritettaviin asiakastekniikoihin,
    2. Web-palvelimessa suoritettaviin palvelintekniikoihin ja
    3. HTTP-yhteyskäytäntöön (protokollaan) liittyviin tekniikoihin
Web-tekniikat
  • Web-sovelluksen voidaan sanoa rakentuvan:
    • käyttöliittymästä
      • sijaitsee Web-selaimessa asiakaspuolella
      • rakentuu minimissään sekä HTML-elementeistä (erityisesti lomakkeet) että Web-selaimen ominaisuuksista
    • sovelluslogiikasta
      • käyttää lähes poikkeuksetta palvelintekniikoita
      • toteutetaan esim. PHP-kielellä
    • käyttöliittymän ja sovelluslogiikan välisestä viestinnästä
      • HTTP-protokolla

Web on ohjelmoijan kannalta hyvin haasteellinen toimintaympäristö!





PHP -> Staattinen ja dynaaminen Web-dokumentti [Edellinen | Seuraava]

2. Staattinen ja dynaaminen Web-dokumentti

Staattinen Web-dokumentti

  • Staattisia eli muuttumattomia siinä mielessä, että niiden muuttaminen vaatii tekijänsä toimia.
  • Puhutaan Web-julkaisemisesta (julkaistaan Web-dokumentti)

staattinen Web-dokumentti


Dynaaminen Web-dokumentti

  • Web-dokumentit voivat sisältää myös alati muuttuvaa tietoa
    • Tarvitaan helppokäyttöistä/automaattista päivitettävyttä
    • Samaan sisältöön erilaisia näkymiä (esim. kieliversiot selaimen perusteella)
  • Dokumentit luodaan automaattisesti kulloisenkin lähtötilanteen pohjalta ->  automatisointiin tarvitaan ohjelmointia jossakin laajuudessa
  • Dynaaminen sivusto luotu tiettyä sovelusaluetta silmälläpitäen -> Web-sovellus
  • Web-sovelluksia käytetään käyttäjän vuorovaikutuksen välityksellä -> puhutaan myös interaktiivisista Web-sivustoista


Dynaaminen Web-dokumentti


Dynaamisen palvelinpuolella rakennettavan Web-dokumentin muodostaminen alkaa Web-selaimen pyynnöstä (1). Web-palvelin huomaa esim. pyynnössä esiintyvästä tarkenteesta (.php), että tulee käynnistää tietty ohjelma (2). Ohjelma voi mahdollisesti pyytää tietoja (3) esim. teksti- tai relaatiotietokannasta. Kun halutut tiedot on saatu (4), ohjelma tuottaa (5) yleensä HTML-kieleen pohjautuvan Web-dokumentin, jonka Web-palvelin välittää vastauksessaan (6) Web-selaimelle.

Vaikka asiakastekniikkoja (HTML, CSS, JavaScript, Flash, ...) käyttämällä voidaan saavuttaa tiettyä dynaamisuutta Web-sovellukseen, dynaamisuus rajoittuu pääsääntöisesti käyttöliittymän hallintaan!





PHP -> Mikä on PHP? [Edellinen | Seuraava]

3. Mikä on PHP?

  • PHP = PHP: Hypertext Preprocessor < http://www.php.net/ >, kehitetty vuodesta 1994.
  • Työväline dynaamisten Web-dokumenttien luomiseen.
  • HTML-dokumenttien sisään upotettava Web-palvelimella tulkattava ohjelmointikieli.
    • Tulkattava ohjelmointikieli = skriptikieli
  • Syntaksi on lainattu suurimmaksi osaksi C-kielestä, mukana piirteitä Java-, Perl- ja C++ -kielestä PHP-lisäyksineen.
  • PHP on avoin ohjelmisto ja sen lähdekoodi on vapaasti saatavilla ilmaiseksi.
  • Käytetään yleisimmin Unix/Linux-alustalle asennetun Apache Web-palvelimen kanssa, vaikka toimii hyvin myös esim. Windows-alustalla.

Laajasti ymmärrettynä PHP viittaa sekä varsinaiseen PHP-kieleen että niihin teknisiin ratkaisuihin, joilla PHP-kielisten ohjelmien suorittaminen on mahdollista. Kokonaisuutena voidaan puhua PHP-ympäristöstä.






Generoitu: Ari Rantala19.12.2024