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

5 Responses to “ScoreParser.php”

  1. Radarek March 5, 2007 at 7:21 pm #

    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 :) .

  2. radmen March 5, 2007 at 7:21 pm #

    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

  3. MiB March 5, 2007 at 7:21 pm #

    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

  4. radmen March 5, 2007 at 7:21 pm #

    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.

  5. radmen March 5, 2007 at 7:21 pm #

    sorry chodziło o 146 linijek…