ScoreParser.php
ScoreParser.php to klasa napisana w PHP5 na zlecenie pewnej osoby. W jaki sposób działa? Mamy plik XML z wynikami. Klasa ma za odczytywać/dodawać wyniki. Jeśli chodzi o dodawanie, to jeśli wynik jest lepszy (lub równy) od najgorszego to ten ostatni jest wywalany. W dalszej części krótki opis i link do kodu.
Przykładowy plik XML
<scores>
<score wynik="666" pseudo="morter" date="01/01/2007" />
</scores>
Odczytywanie wyników
<?php
include("ScoreParser.php");
$Parser = new ScoreParser("topTen.xml");
foreach($Parser->wyniki as $wynik)
{
echo "Pseudo: ".$wynik['pseudo']."<br/>";
echo "Wynik: ".$wynik['wynik']."<br/>";
echo "Data dodania: ".$wynik['data'];
echo "<hr/>";
}
?>
Dodawanie wyniku
<?php
include("ScoreParser.php");
$Parser = new ScoreParser("topTen.xml");
$Parser->dodajWynik(666, "morter");
?>
Stopka
Kod klasy jest na licencji GPL. Kopiuj, modyfikuj do woli, zostaw gdzieś tylko info o mnie jako o autorze. Póki co kod klasy jest na stronie phpfi.com. Możesz go znaleźć tutaj.
Później wrzucę kodziwo na serwer :P
Komentarze
# Radarek
Nie obraź się, ale to nazywasz parsowaniem xmla? Wystarczy zamienić np kolejność atrybutów ‘wynik’ i ‘pseudo’ i twój kod leży. Lepiej nadrób zaległości z xmla :).
# radmen
Nigdy nie powiedziałem, że to jest parsowanie XMLa. Klasa spełnie swoje działanie i to chodzi. Jeśli będę chciał zrobić coś bardziej zaawansowanego z wykorzystanie XMLa to skorzystam z gotowych klas, zamiast robić je od zera
# MiB
Witam!
Naskrobałeś 146 linijek, zrobiłeś klasę, która obsługuje 1 konkretny format – i fajnie. Ja gdy miałem zrobić proste operacje na XMLu (prosty zapis i odczyt danych), torszkę pogmerałem i na 114 linijkach zmieściłem odczyt, zapis i łączenie 2 plików XMLowych. I ja teraz mogę zabrać moją klasę i użyć w kolejnym projekcie/gdy poprosi mnie znajomy o pomoc – a Ty?
Pozdrawiam
# radmen
Heh nie bardzo rozumiem sensu Twojego komentarza. Następnym razem to ja sobie skorzystam z czegoś takiego jak np. SimpleXMLElement(), albo jakiejś innej klasy obsługującej XMLa. To jest klasa do jednego tylko i wyłącznie problemu. I jak wcześniej wspomniałem tutaj nie ma mowy o obsłudze XMLa. Ten plik jest ładowany jak zwykły plik tekstowy i jest obsługiwany tak jakby to był najzwyczajniejszy pliczek tekstowy.
Sorry, nie chcę się czepiać ale to nie jest większy problem zrobić funkcję łączącą dwa pliki. Ty to zrobiłeś w 114 linijkach. Ja w moch 114 zrobiłem odczyt/zapis/sortowanie/sprawdzanie ostatniego wyniku i zapis do jednego konkretnego formatu. Żaden inny nie był potrzebny, a zleceniodawcy takie coś w zupełności wystarczyło.
# radmen
sorry chodziło o 146 linijek…