Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [klasy php5] Generator kanałów informacyjnych (Feeds), RSS, Atom, XML
Athlan
post
Post #1





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

Ostrzeżenie: (0%)
-----


Witam,

Może dział nie jest trafny co do mojego celu zamieszczenia tych klas, ale po części chodzi mi o ocenę. Ostatnio dużo myślałem nad obsługą kanałów informacyjnych w moim fameworku (ang. Feeds). Sprawa wygląda bardzo kontrowersyjnie, bowiem RSS nie cieszy się już taką dobrą opinią, jednak większość użytkowników używa właśnie tej wersji kanałów informacyjnych. Według ekspertów jego miejsce ma zastąpić kanał Atom, który stał się trendem i już rok temu liczba jego użytkowników znacznie wzrosła. Pomyślałem również o udostępnianiu naszych informacji w formie czystego arkusza XML.

Vfeed 0.0.1 - download

Powstały kolejne klasy:

Feed.Class.php – klasa abstrakcyjna, a zarazem rodzic wszystkich innych klas kanałów informacyjnych.
FeedRSS.Class.php – kanał informacyjny w formie RSS
FeedAtom.Class.php – kanał informacyjny w formie Atom
FeedXML.Class.php – czysty arkusz Tagów XML, nie przedstawiany jako kanał, ale jako dostępne źródło informacji, zaliczyłem go jako kanał, gdyż można z niego pobierać informacje poprzez różne dostępne metody takie jak SimpleXML, czy SAX.

W paczce został załączony jeszcze interfejs oraz przykładowe pliki użycia klas. Dokumentacji niestety nie ma, bowiem jest to jeden z komponentów mojego frameworka, szczegółowa dokumentacja wraz z przykładami pojawi się przy wydaniu stabilnej wersji Feeds. Proszę o ocenę, ale nie na tym mi zależy. Jakbyście mogli protestować wszystkie możliwości klasy, zadawać mi jak najwięcej pytań, aby wykryć tyle błędów, ile się tylko da.

Klasy zostały napisane w niecałą godzinę, dlatego wszystko jest możliwe. W razie wystąpienia jakichkolwiek błędów, będę zamieszczał kolejne wersje z poprawkami.

Pozdrawiam, Athlan (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował Athlan 27.12.2006, 16:34:36
Go to the top of the page
+Quote Post
SHiP
post
Post #2





Grupa: Zarejestrowani
Postów: 697
Pomógł: 47
Dołączył: 19.12.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Fajne jednak mam kilka uwag ;].

1. Jak pakujesz paczke to nie pakuj plikow luzem ;]
2. w pliku Loader.inc.php serwer zwraca mi błedy
Kod
Warning: require_once(./Incubator/Interfaces/FeedInterface.Class.php) [function.require-once]: failed to open stream: No such file or directory in /home/hellson/public_html/Feed/core/Loader.inc.php on line 3

Fatal error: require_once() [function.require]: Failed opening required './Incubator/Interfaces/FeedInterface.Class.php' (include_path='.:/usr/share/php5:/usr/share/php5/PEAR') in /home/hellson/public_html/Feed/core/Loader.inc.php on line 3

Wszystko przez ?błedne? includowanie plikow. Powinno być
  1. <?php
  2. require_once 'Incubator/Interfaces/FeedInterface.Class.php';
  3. require_once 'Incubator/Feed.Class.php';
  4. require_once 'Incubator/Feed/FeedRSS.Class.php';
  5. require_once 'Incubator/Feed/FeedXML.Class.php';
  6. require_once 'Incubator/Feed/FeedAtom.Class.php';
  7. ?>

3. Moja opera nie wykrywa strony jako kanal rss. Dodaj odpowiednie nagłówki.
  1. <?php
  2. header('Content-Type: text/xml');
  3. ?>
Go to the top of the page
+Quote Post
Athlan
post
Post #3





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

Ostrzeżenie: (0%)
-----


SHiP: teoretycznie includowanie powinno działać, w sumie robiłem je na oko i nie sprawdzałem, bo paczke mam na autoload we frame (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Przepraszam.

Ad3. Dziękuję bardzo, faktycznie nie działa, jedynie poprzez kliknięcie na przycisk Feeda w Operze przy wygenerowaniu tagu przez metodę rel().

Już zapowiadam następną wersję, przynajmniej dla kasy Atomu, gdyż nie jest możliwe dodawanie parametrów dla tagów zawartych w <entry> i głównych ustawień kanału. Bardzo fajny opis zaawansowanego kanału jest tutaj: http://kurs.browsehappy.pl/Atom/Atom . Przyznam szczeże, że lepszy niż na GoogleBase.

Jakbyście mogli, zgłoszajcie wszystke błędy i niedociągnięcia w kodzie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

pozdrawiam, Athlan (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

--- EDIT ---

Poprawki dotyczące problemu, który przedstawił SHiP:

Vfeed 0.0.2 - download

Aby wygenerować kanał z nagłówkiem Content-type, należy skorzystać z metody Display(). Warunkiem jest to, żeby nie wysłać żadnych danych do buforu przed wywołaniem buforu, w przeciwnym wypadku zostanie wyrzucony wyjątek. Metoda automatycznie kończy pracę aplikacji. Metoda przyjmuje te same parametry, co asString(), dla każdej z klas pokazane jest to w przykładach.

Pozdrawiam, Athlan (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował Athlan 27.12.2006, 16:16:12
Go to the top of the page
+Quote Post
Turgon
post
Post #4





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


Ściągnąłem klasy wrzucam i odpalam po kolei przykłady - ATOM okej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
RSS - Nie ma żadnego Itema.
XML -
Cytat
Fatal error: Call to a member function Display() on a non-object in /var/www/Feed/Feed/TestXML.Class.php on line 15


I też taka uwaga co do numeracji. Numeracja nowej wersji nie może być niższa od poprzednika. Postępuj konsekwentnie !
Go to the top of the page
+Quote Post
Athlan
post
Post #5





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

Ostrzeżenie: (0%)
-----


Oj przepraszam, stara paczka wymieszana z nowymi przykładami, aktualzuje posta #3 i podaje jeszcze raz link:

Vfeed 0.0.2 - download

Cytat
I też taka uwaga co do numeracji.


a tego nie rozumiem ;P

Ten post edytował Athlan 27.12.2006, 16:17:43
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
I też taka uwaga co do numeracji.


a tego nie rozumiem ;P
A czego tu nie rozumiec? Stara wersja ma numer 0.1, a nowa 0.0.2. Tu sie klaniaja podstawy matematyki (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Na chlopski rozum 0.1 jest wieksze od 0.0.2, a u ciebie jest na odwrot
Go to the top of the page
+Quote Post
Athlan
post
Post #7





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

Ostrzeżenie: (0%)
-----


nospor: błąd w pierwszym poście, mialo być 0.0.1 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 17:54