![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 6 Dołączył: 21.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie forumowicze!
Chciałbym wam przedstawić moją prostą i zarazem nieskomplikowaną klasą Graphix którą napisałem z nudów (jak i w celach edukacyjnych). a postanowiłem wystawić na łamach forum bo uznałem że komuś może się przydać. Ponadto czyni kod (wg. mnie) czytelniejszym i ładniejszym pomijając to że część funkcji to wrappery (IMG:style_emoticons/default/wink.gif) . Oto taki przykładowy kod:
Download: Repozytorium na GitHub'ie Dokumentacja: Dokumentacja To chyba wszystko. A co do kodu to dla niektórych kod może być gorszy od podstawowego (GD) ale to zależy wyłącznie od własnych upodobań. Proszę o komentarze i wasze opinie. Ten post edytował Szadow 26.03.2011, 12:35:44 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cały projekt został profesjonalnie przygotowany i całość ogólnie wygląda dobrze. Wydajności, ani jakości nie sprawdzałem, ale wierzę, że powinno być ok. Mam kilka luźnych uwag, to co wpadło na szybko:
1) Graphix.class.php: public function load($path) { if(is_readable($path)) { $ext = explode('.', basename($path)); $ext = $ext[count($ext) - 1]; zawsze się tego czepiam, ale czy nie lepiej użyć przeznaczonej do tego funkcji pathinfo? $tmp = pathinfo($path); $ext = strtolower($tmp['ext']); i to samo metoda save oraz pewnie jeszcze inne metody, w których nie zauważyłem tego kodu. A właśnie tak poza tym to aż się prosi przenieść te dwie linijki, które kilka razy powtarzasz w kilku metodach do osobnej metody np. protected _getExtension($path) ? 2) Czy wiesz, że lepiej używać imagecopyresampled zamiast imagecopyresized? (znacznie lepsza jakość) 3) phpDoc umożliwia też zamieszczanie informacji o autorze (@author) oraz @package @subpackage etc. 4) brakuje mi tu gotowego interfejsu do późniejszej ewentualnej adaptacji dla jakiegoś frameworka. 5) mało efektów udostępniasz, brakuje mi odbicia lustrzanego, falowania, sepii, czerń-biel, odwrócenia barw i innych podstawowych funkcjonalności, ale przede wszystkim brak możliwości nałożenia znaku wodnego (IMG:style_emoticons/default/sad.gif) Podsumowując: Kawał dobrej roboty, kod dobrze udokumentowany, ale póki co mało funkcjonalny. Nie ma tutaj niczego, co jest niedostępne u konkurencji - zobacz no, sekcję "Learn how" na stronie http://phpthumb.gxdlabs.com/ Rozważyłbym też możliwość współpracy poprzez api z pakietem ImageMagick. Ten post edytował darko 25.03.2011, 20:51:05 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 06:04 |