![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 180 Pomógł: 6 Dołączył: 10.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Moja pierwsza klasa więc proszę o bugi i konstruktywną krytykę ( aha pisanie w PHP to dla mnie rodzaj hobby więc proszę o wyrozumiałość) O klasie: 1. Pozwala pomniejszać obrazy 2. Pozwala nakładać znak wodny 3. Pozwala na wybór typu pliku ( *.png, *.jpg, *.bmp ) przy zapisie 4. Pozwala na zachowanie proporcji / tego mi brakowało w innych klasach/ . Zmniejsza obraz po podaniu tylko wymaganej szerokości/wysokości lub obu + zachowanie proporcji 5. Obsługuje przeźroczystość (na pewno w *.gif png - dziwny format chętnie posłucham uwag) P.S. Do klasy przydało by się (tak sobie myślę) więcej zabezpieczeń głupo-odpornych, ale tak się zastanawiając dalej tego rodzaju klasy są umieszczane raczej wewnątrz skryptów więc zdaje się na osoby które będą używać klasy. Ja sam wole raportowanie błędów w postaci 0 lub 1 szczególnie przy używaniu AJAX'a Klasa Cphoto.php Użycie:
Ten post edytował gebp 19.12.2008, 21:44:48 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Admin Techniczny Grupa: Administratorzy Postów: 2 071 Pomógł: 93 Dołączył: 5.07.2005 Skąd: Olsztyn ![]() |
fajniej by to wyglądało w stylu method chaining czyli $photo->setDestination('../photo/miniatury/')->setWidth(5)->setHeight(null) etc
![]() set_s set_m malo co mowią tak na 1szy rzut oka ![]() tak samo obrazek po resize moglby być zwracany jako obiekt nie tablica (ale to juz moze takie zboczenie) wtedy moznaby $d5->name etc a tak to całkiem zgrabnie tylko nie chce mi sie na ta godzine sprawdzac dokladnie kodu ![]() |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 398 Pomógł: 10 Dołączył: 24.11.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
To o czym piszesz nazywa sie Fluent Interface, a realizuje sie to tak ze kazda metoda klasy zwraca $this i bardzo ciekawy jest pomysl zastosowania tego w klasie do obrobki obrazow
![]() Co do klasy to ... spagetti troche ... Kiedys sobie napisalem taka prosta klase do skalowania ... looknij moze cos Ci sie z niej spodoba: http://phpfi.com/389831 -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 180 Pomógł: 6 Dołączył: 10.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat tak samo obrazek po resize mógłby być zwracany jako obiekt nie tablica Już tłumacze. Klasę tą stworzyłem do obsługi ładowanych zdjęć na serwer. Załadowane zdjęcie obrabiam wg. swojego "widzi mi się". Z dlatego zwracam tablice z link+plik aby zapisać je w bazie. Dalej. Umaiłem sobie że jeżeli komuś się spodoba jakieś zdjęcie ale będzie chciał je w innej rozdzielczości to proszę bardzo. Czyli koncepcja wygląda mniej więcej tak: 1. Ładuje zdjęcie-orginał + zapis do bazy link + plik. 2. Stworzeni miniatury + odpowiednio mniejszego by dobrze wyglądało na stronie ( nie za duże nie za małe). Ważne (dla mnie) by zachować proporcje. Zdjęcie z cyfrówek jest standardowo w formacie 3:2 / 2:3. Miniatury znów muszą też zmieścić się w pewnej ograniczonej przestrzeni (<div> np 140px na 140 px.). No i też ważne by zachować proporcje. Widziałem kilka galerii z "goblinami" -paskudztwo. 3. Jeżeli ktoś będzie chciał zdjęcie pobrać ale w innej rozdzielczości to mam pełną konfigurację. tak to mi się widzi. Cytat Co do klasy to ... spagetti troche ... Odpowiem Tak i Tak. 1. Nie mam jeszcze biegłości w pisaniu - wogóle w pisaniu skryptów PHP ( nie pisze zawodowo) to jedno z moich hobby. 2. Klase pisałem pod siebie. po tym jak przeszukałem forum pod kontem klasy jak moja. Wynik - brak. 3. Za szybko myślę niż piszę. Pisze jedną funkcję a już myślę o drugiej. 4. W końcu pomyślałem sobie jeszcze że może by ktoś ocenił te moje wypociny. Ale sama obsługa jpg to trochę mało. No i tak klasa się trochę rozrosła. Szczerze mówiąc to moja klasa dla moich potrzeb. Jak ktoś ją wykorzysta a lepiej jeszcze jak ją poprawi by miała ręce i nogi, to naprawdę nie będę miał mu tego za złe. Chętnie poczytam jakie błędy popełniam jakie było by korzystne ich rozwiązanie. Tak dla samego siebie. Zamierzałem że to będzie wyglądało mniej więcej tak: Ustawić oryginał. Ustawić parametry. Obrobić zdjęcia. To by było chyba na tyle. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 398 Pomógł: 10 Dołączył: 24.11.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Jezeli chcesz zeby bylo ladniej to przeformatuj kod, zastosuj odpowiednie wciecia i ponazywaj zmienne jakos ladniej naPrzykladZmienna albo NazwaKlasy.
Jezeli myslisz o innej funkcji piszac jedna to moze najpierw napisz sobie interfejs klasy (gole funkcje bez kodu w srodku) a potem uzupelniaj sukcesywnie wewnatrz. Pisz tak zeby ktos kto bedzie to po Tobie czytal robil to z przyjemnoscia ![]() Niby liczy sie funkcjonalnosc i to ze dziala .. ale estetyka tez jest bardzo wazna w pisaniu kodu -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 13:40 |