Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaKristóf Balla Megváltozta több, mint 10 éve
1
Zenetár a webszerverünkön, avagy XML használata PHP 5 alatt. Ercsey Balázs (laze) – netpeople.hu
2
Zenetár a webszerverünkön Miről lesz szó? XML Objektum orientált szemléletmód PHP4 PHP5
3
Az XML W3C szabvány üzleti érdekek felett áll Mozaikszó: eXtensible Markup Language ~kiterjeszhető leíró nyelv Különböző médiumok közti kapcsolat, Adatszerkezetek leírása
4
Az XML Elsőre kísértetiesen hasonlít a HTML- hez… …de van pár megkötés: Kell lennie záró párnak, vagy az elemet kell zárni A paraméter értékét idézőjelbe kell tenni: szoveg
5
Az XML Köztes nyelv Más nyelvek leírására szolgál, például: WDDX, RSS, XHTML A célnak leginkább megfelelő saját struktúra, és saját elem definíció lehetséges DTD (Document Type Defintion) Adatátvitel különböző rendszerek, például Macromedia Flash és PHP között.
6
Zene, zene, zene Az adathalmaz kerete: <?php $xmlData = <<<XML... XML; ?>
7
Zene, zene, zene Az adathalmaz egyetlen eleme: Katjusha Leningrad Cowboys Thank You Very Many •Ebből lehet még tetszőleges számú darab
8
Zene, zene, zene Észrevételek: Saját struktúra, saját, beszédes elemnevek Hasonló struktúrákra példa: iTunes exportálási lehetősége Házi feladat elemezni, feldolgozni!
9
Feldolgozás… PHP4 alatt: Külső PHP modul (expat, sablotron) lassabb Külön erőforrás azonosító Két fő lehetőség: SAX (Simple API for XML) – Esemény alapú kezelés DOM (Document Object Model) – A dokumentum strukturális kezelése
10
Feldolgozás… PHP5 alatt több lehetőség van: SAX DOM SimpleXML A továbbiakban ezzel foglalkozunk
11
Feldolgozás… A SimpleXML előnyei: Nem bővítményként fut, az új libxml2 modult használja, ami a PHP5 része sokkal gyorsabb Nem kell külön erőforrás azonosítót létrehozni Minden adat objektum orientált módon érhető el
12
Feldolgozás… 1. Példa, elemek listázása: Kiíratjuk a számok címeit... A szám címe
13
Feldolgozás... Forráskód: <?php include ’tracks.php’; $xmlObject = simplexml_load_string( $xmlData ); foreach( $xmlObject->track as $track ) { echo( $track->title.’ ’ ); } ?>
14
Feldolgozás... Észrevételek: Rendkívül egyszerű beolvasás Azonnal egy objektum áll a rendelkezésünkre: $xmlObject = simplexml_load_string( $xmlData ); Amit tovább bontva is objektumként kezelhetünk: $track->title
15
Feldolgozás… 2. Példa, elemek paramétereinek listázása Kiíratjuk az albumok címeit és típusait... Az album címe
16
Feldolgozás… Megint forráskód : <?php include ’tracks.php’; $xmlObject = simplexml_load_string( $xmlData ); foreach( $xmlObject->track as $track ) { echo( $track->album ); echo( ’ (’.$track->album[’type’].’) ’ ); } ?>
17
Feldolgozás… XPath kezelése SimpleXML által Az XPath: Külön szabvány Elemek keresésére szolgál XML alapú forrásban XML, XHTML, WDDX,... Az elem elérése független az elem helyétől Gyorsabb, mint az elemek egyenkénti, manuális ellenőrzése
18
Feldolgozás… 3. Példa, XPath kezelése Kiválasztó: //author illeszkedik minden elemre a dokumentumban, bárhol legyen is. Válogassunk ki minden előadót! Az előadó neve
19
Feldolgozás… Íme, a forráskód : <?php include ’tracks.php’; $xmlObject = simplexml_load_string( $xmlData ); foreach( $xmlObject->xpath( ’//author’ ) as $author ) { echo( $author.’ ’ ); } ?>
20
Módosítás SimpleXML-ben megvan a módosítás lehetősége A beolvasáskor kapott objektumokon keresztül A végeredmény a megváltoztatott XML forrás
21
Módosítás 4. Példa, elem módosítása Az egyik szám címének megváltoztatása: Előtte: A régi cím Utána: Az új cím
22
Módosítás Az elmaradhatatlan forráskód: <?php include ’tracks.php’; $xmlObject = simplexml_load_string( $xmlData ); $xmlObject->track->title = ’Ballad Of The Leningrad Cowboys’; echo $xmlObject->asXML(); ?>
23
Végszó Tehát, mint azt láthattuk, az objektum orientált XML kezelés PHP5 alatt: Gyorsabb Jelentősen egyszerűbb Kiváló megoldás strukturált adatkezelésre
24
Linkek Néhány hasznos oldal: - XML: http://www.w3.org/TR/REC-xml –XPath: http://www.w3.org/TR/xpath –libmxml2: http://www.xmlsoft.org –PHP 5 Manual / SimpleXML: http://hu.php.net/manual/en/ref.simplexml.php
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.