1 / 19

Workshop PHP

Workshop PHP. Een productencatalogus. Case. Uitgever van software wil webpagina met productgegevens publiceren op basis van catalogus. Het gaat momenteel om slechts 5 items

Download Presentation

Workshop PHP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Workshop PHP Een productencatalogus

  2. Case • Uitgever van software wil webpagina met productgegevens publiceren op basis van catalogus. • Het gaat momenteel om slechts 5 items • Afbeelding, de naam, een beschrijving van het product, de prijs en het bestelnummer moeten worden getoond op één pagina. • Zowel op de afbeelding, als op de productnaam moet kunnen worden doorgeklikt, waarna een nieuw scherm wordt geopend met detailgegevens over het item: • productnaam • afbeelding • prijs • highlights van het product • systeemvereisten voor het product

  3. Voorwaarden (1) • Het ontwerp moet flexibel en dynamisch zijn. Dus als er een nieuw product bij komt, of er gaat één uit de catalogus, dan moet dat makkelijk aan te passen zijn. • De pagina’s moeten in XHTML/PHP worden opgezet • Aangezien het geringe aantal producten in catalogus (5), wordt er NIET gewerkt met een database. In plaats daarvan, worden de productgegevens middels arrays beschikbaar gesteld. • De arrays met productgegevens moeten in een aparte include-file worden gedefinieerd (overzichtelijk en onderhoudbaar, met voldoende intern commentaar)

  4. Voorwaarden (2) • De unieke sleutel voor de producten is de EAN code • De volgende indeling in arrays moet worden gevolgd: • Array EAN, Naam • Array EAN, Prijs • Array EAN, Omschrijving • Array EAN, systeemvereisten • Array EAN, highlights

  5. Op te leveren • webpagina Catalogus.php, met een overzicht van alle vijf producten in lijstvorm • webpagina Catalogusdetail.php, met de detailgegevens over een geselecteerd product • include pagina Catalogus.inc.php, met de definitie en content van de diverse arrays • include pagina Header.inc voor de header op elke pagina • include pagina Footer.inc voor de footer op elke pagina

  6. Schematisch ontwerp:catalogus.php

  7. Schematisch ontwerp:catalogusdetail.php

  8. Benodigde PHP kennis (1) • Include() functie gebruiken • Require() functie gebruiken • Array_multisort() functie gebruiken • Foreach() functie gebruiken • File_exists() functie gebruiken • Isset() functie gebruiken • If() functie gebruiken • Variabelen versturen/afhandelen met $_GET

  9. Benodigde PHP kennis (2) • Variabelen declareren en gebruiken • Arrays declareren en gebruiken: • Declareren • Vullen • Sorteren • Doorlopen in een lus • Benaderen op key

  10. Uitleg: Code insluiten (include/require) (1) • Bestand op de server wordt ingesloten in een ander bestand • Templates voor opmaak (statisch, HTML, headers, footers)  include() • Dynamische code in PHP pagina’s (bijvoorbeeld vaak te gebruiken functies, libraries)  require()

  11. Uitleg: Code insluiten (include/require) (2) • Include()/include_once()  xxx.inc • Require()/require_once()  xxx.inc.php • Voorbeeld: <?php // Server-side include voor de catalogus: require_once('catalogus.inc.php');

  12. Uitleg: Arrays (geïndexeerd) • Structuur waarin meerdere variabelen worden opgeslagen • Naam en index (begint bij 0 (nul)!!) • Voorbeeld: $maand = array(“jan”, “feb”, “mrt”, … “nov”, “dec”); • Inhoud benaderen op index: $maand[4] of $maand[&teller]

  13. Uitleg: Arrays (associatief) (1) • Sleutel wordt zelf bepaald door string te gebruiken • Voorbeeld: $producten = array( "9789045630816" => "Studio Webdesign", "9789045632063" => "Plantenencyclopedie 2004", "9789045632902" => "PC Drukkerij 3 Suite", "9789045634814" => "Creatief Fotolab", "9789045634838" => "MovieJack DVD Pro" ); • $product[9789045630816] geeft dus “Studio Webdesign”

  14. Uitleg: Arrays doorlopen • Vaak wil je de hele array van boven tot onder doorlopen om met elk element iets te doen: Foreach($producten as $ean => $naam) { echo $naam; } • Elke iteratie geeft de sleutel ($ean) en de waarde ($naam) van het huidige element

  15. Uitleg: Arrays sorteren • Arrays kun je sorteren met de functie array_multisort() • Bijvoorbeeld: array_multisort($producten, SORT_ASC); • Hier wordt de array $producten oplopend gesorteerd

  16. Opdracht: maak catalogus.inc.php (1) • Aanwijzingen: • Je declareert alle te gebruiken arrays in dit script • Alle 5 arrays zijn associatieve arrays, waarvan de key bestaat uit het EAN nummer • Content van de producten vind je in document: http://www.serviceatschool.nl/cms/uploads/file/klassen/s3a/productcatalogus%20opdracht%20PHP.doc • De arrays $systeemvereisten en $highlights zijn meerdimensionaal!

  17. Opdracht: maak catalogus.inc.php (2) • Meerdimensionale arrays declareer je als volgt: $rooster = array( “maandag" => array( “ochtend" => “lokaal 105", “middag" => “lokaal 107" ), “dinsdag" => array( “ochtend" => “lokaal 107", “middag" => “lokaal 23" ) ); • $rooster[‘dinsdag’][‘middag’] geeft bijvoorbeeld waarde “lokaal 23” • Eerst wordt de juiste rij geselecteerd, dan de bijbehorende kolom

  18. Opdracht: maak catalogus.php (1) • Aanwijzingen: • Open met een require(), waarin je de code van catalogus.inc.php opneemt in je script • Sorteer vervolgens de array $producten oplopend • Doorloop dan de array $producten van begin tot eind mbv foreach()

  19. Opdracht: maak catalogus.php (2) • Elke iteratie binnen deze lus moet het volgende doen: • Controleren op bestand xxxx.gif (waarbij xxxx het EAN nummer is; dit is beschikbaar in je key variabele in de foreach() functie!) • Als bestaat: afbeelding weergeven op scherm en link van maken • Productnaam op scherm weergeven (ook link van maken) • Omschrijving en prijs op scherm weergeven • Zorg voor juiste indeling en HTML opmaak; maak ook gebruik van header.inc en footer.inc

More Related