Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Klasa] EasyGravatar
Forum PHP.pl > Forum > Gotowe rozwiązania > Algorytmy, klasy, funkcje
Szadow
Witam (ponownie).

Chciałbym wam zaprezentować nową klasę mojego autorstwa, EasyGravatar. Są to tak naprawde dwie klasy-wrappery do API Gravatara, jedna do pobierania avatarów, druga do pobierania danych użytkowna z jego publicznego profilu. Pobranie avataru ogranicza się do jego wyświetlenia i opcjonalnie ustawienia rozmiaru, maksymalnej oceny avatara itp. A profilu do jego wczytania.
( Mogę śmiało powiedzieć że to moja tak naprawdę pierwsza klasa oparta na Namespace'ach. wink.gif )

Wymagania:
- PHP 5.3+
- SPL
- allow_url_fopen włączone

Aby zainstalować EasyGravatar wklej pobrane pliki do twojego folderu includelub do include_path.

Użycie
Najprostsze pobranie avatara użytkownika:
  1. Dołączenie image.php do twojego pliku (include)
  2. Stworzenie obiektu Gravatar\Image
  3. Wyświetlenie avatara

W praktytce wyląda to tak:
  1. # Krok 1
  2. include 'path/to/EasyGravatar/Image.php';
  3.  
  4. # Krok 2
  5. $img = new Gravatar\Image('jakisemail@example.com');
  6.  
  7. # Krok 3
  8. echo $img->getImage();


Równie dobrze możesz stworzyć obiekt podając już zahaszowany e-mail. Jeśli chcesz otrzymać avatar w innej formie, jak np. w HTML-owym tagu <img> wystarczy że jako parametr do Gravatar\Image::getImage podasz typ. Tu jest ich lista:

  • Gravatar\Image::HTML
  • Gravatar\Image::BB
  • Gravatar\Image::Markdown
  • Gravatar\Image::Plain [domyślnie]


Opcje
Zmiana rozmiaru żądanego avataru, klasyfikacje i obrazek domyślny można zmienić za pomocą tych funkcji:

  • Gravatar\Image::setSize($rozmiar) - zmiania rozmiar żadanego obrazka
  • Gravatar\Image::setDefault($default) - zmienia obrazek domyślny (kiedy żądany nie istnieje)
  • Gravatar\Image::setRating($ocena) - zmienia maksymalną ocene avatara
  • Gravatar\Image::useSecure($bool) - zmiana użycia bezpiecznego połączenia
  • Gravatar\Image::setForcedDefault($bool) - zmiana użycia avatara domyślnego, jeśli prawda obrazek domyślny zawsze będzie wczytany


Łańcuch
Możesz również łączyć powyższe metody w jeden łańcuch:
  1. $img->setSize(50)
  2. ->setForcedDefault(true)
  3. ->setRating( Gravatar\Image::RATING_PG )
  4. ->useSecure(true);



Więcej informacji, pełen tutorial( w łamanym angielskim ) oraz cały projekt można znaleźć na GitHubie. Komentarze, krytyka, pomysły na zmiene, ocena itd. mile widziane

Pozdrawiam Szadow. wink.gif
nospor
Cytat
Pozwala ona pobierać avatar użytkownika lub jego profil w prosty sposób
Czyli co to robi? Bo z opisu nic nie kumam a chciałbym zakumać smile.gif

Cytat
Mogę śmiało powiedzieć że to moja tak naprawdę pierwsza klasa oparta na Namespace'ach.
Szkoda, że wczasie jej pisania nie miałeś włączonego wyświetlania wszystkich błędów wink.gif
Szadow
Drogi nospor, Serdeczne dzięki za wypowiedź. Dodałem małą notkę co ta klasa robi. A co do tych "błędów" to: poprawione. Człowiek przecież uczy się na błędach, a ja nie powiedziałem że jestem pro wink.gif
nospor
Cytat
Dodałem małą notkę co ta klasa robi
Mógłbyś zacytować mi tę notkę w następnym poście, bo jest faktycznie mała i jej nie widzę.

Cytat
Człowiek przecież uczy się na błędach, a ja nie powiedziałem że jestem pro
Tylko żeby się na nich, uczyć to trzeba je wpierw zobaczyć wink.gif A ja nie oceniam czy jestes pro czy nie tylko zwracam ci uwagę, że Twój skrypt generuje/generował błędy.
Szadow
Cytat(nospor @ 13.04.2011, 17:18:08 ) *
Mógłbyś zacytować mi tę notkę w następnym poście, bo jest faktycznie mała i jej nie widzę.


Aaaa... Taka malutka: wink.gif
Cytat
[...]Pozwala ona pobierać avatar (klasa pobierająca avatar użytkownika, konstruuje adres avatara za ciebie smile.gif ) użytkownika lub jego profil w prosty sposób.[...]
nospor
Acha, w takim razie to już zobaczyłem wcześniej no ale nic to mi nadal nie mówi. Nadal nie wiem do czego ta klasa służy - no cóż, za stary jestem i nie nadążam za nowinkami wink.gif
Szadow
Poprawiłem opis. Mam nadzieje że jest to nico bardziej czytelne niż wcześniej i można zrozumieć czym to jest i co robi. wink.gif
Crozin
Za tą przestrzeń nazw to powinni Ci łeb ukręcić:
- "Gavatar" to sobie może dać Gavatar, Ty możesz co najwyżej "Szadow/Gavatar" czy coś w tym stylu.
- Projekt nazywa się EasyGavatar, a używasz innej nazwy przestrzeni - stosuj się do konwencji PSR-0 i odzwierciedlaj nazwę ścieżki w drzewie katalogów.

Swoją drogą, już widać, że wśród społeczności PHP przestrzenie nazw są źle wykorzystywane - nie jest to pierwszy taki projekt jaki widzę.

PS. Kodu nawet nie sprawdzałem, tylko na tych przestrzeniach się skupiłem.
Szadow
Crozin dzięki za wypowiedź!
Co do przestrzeni nazw to z początku ten wrapper był częścią większego projektu ale postanowiłem go "wyciąć" z projektu i dać jako osobny projekt a przestrzeń nazw została. wink.gif Tak czy siak Poprawione.

Cytat
Swoją drogą, już widać, że wśród społeczności PHP przestrzenie nazw są źle wykorzystywane - nie jest to pierwszy taki projekt jaki widzę.

Ja jak dotąd przestrzeni w ogóle nie używałem, teraz zacząłem i to są początki. smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.