Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Biblioteki PEAR - czy warto używać ?
Forum PHP.pl > Forum > PHP
binio
Witam,

Ostatnimi czasy zainteresowałem się bibliotekami PEAR, gotowcami które czekają na użycie smile.gif
Nie wiem jednak czy wykorzystanie ich nie spowoduje ze moje prace beda mniej elastyczne - np w przypadku przenosin na inny serwer itp, zmiana oprogramowania na obecnym itp historie.

Dochodzi jeszcze inna kwestia. Piszac wlasne skrypty człowiek sie w jakiś sposób rozwija, zaczyna się od prostych funkcji, potem klasy itd itd, korzystając z gotowców - nie.
Szczeze powiedziawszy ja mam mieszane uczucia co do PEAR.

Dlatego chciałbym dowiedzieć się jakie są wasze opinie o bibliotekach PEAR, czy bawicie sie w to, czy to tylko strata czasu i zabawa dla dzieci ?
hawk
Spróbuj z takim podejściem napisać prosty serwis w Javie winksmiley.jpg.
Kocurro
Jeśli umiesz coś zrobić samemu i to co zrobisz będzie działąć dobrze to spokojnie możesz wykorzystać czyjać pracę do tego samego - zyskujesz na czasie.

Ale jeśli czegos nei umiesz a chcesz się nauczyć to przygotuj sam to wszystkiego.

Kolejna sprawa elastyczności - tak naprawe porządny serwis kiedy się go przenosi na nowy serwer ma przepisywane od nowa fragmentu kodu. Tylko nędzny serwis przy kolejnych przenosinach zostaje bez zmian.

Tworzac profesjonalny serwis - tworzysz go na dany serwer, tak by działął jak najstabilniej, niezawodnie i do tego porządnie.

Inna sprawa to korzystanie z klas w php - co według według jest fajną zabawka ale niczym więcej.

Podsumowując:

jeśli chcesz stworzyć coś naprawdę porządnego to opróćz php musisz używać: shella, crona, innych języków (jak Java, Python, Perl).

a jeśli chcesz tworzyć pseudo serwis to użyj tylko php i to czy wykorzystasz PEAR, PECL czy coś innego nie ma żadnego znaczenia.

To Ty tworzysz i Ty decydujesz jak to wygląda i jak ma wyglądać.

PEAR, PECL, Smarty itp. zostały stworzone po to by tworzenie prostego portaliku, seerwisu nie trwało wieczności.

Pozdrawiam
binio
Cytat(Prometeus @ 2005-01-04 10:15:30)
Kolejna sprawa elastyczności - tak naprawe porządny serwis kiedy się go przenosi na nowy serwer ma przepisywane od nowa fragmentu kodu. Tylko nędzny serwis przy kolejnych przenosinach zostaje bez zmian.

Tworzac profesjonalny serwis - tworzysz go na dany serwer, tak by działął jak najstabilniej, niezawodnie i do tego porządnie.

Nie wziąles pod uwagę sprzedaży gotowych aplikacji php, co niebawem pewnie nastąpi ...
To chyba nie najlepszy pomysł aby wymagac od klienta aby mial zainstalowany PEAR.
DeyV
a kto powiedział - że należy wymagać?
Trudno dołączyć interesujące Cię biblioteki do kodu Twojej aplikacji?
Właśnie w ten sposób zazwyczaj tak to się robi, czego przykładem jest np. http://seagull.phpkitchen.com/ , bardzo mocno oparty na PEAR, a jednak zupełnie samodzielny w instalacji...
binio
DeyV - tu mnie przekonales tongue.gif
bregovic
Tak jak powiedział DeyV - zawsze można dołączyć biblioteki PEAR, lub jakiekolwiek inne do twojej aplikacji. Warto wtedy dać użytkownikowi możliwość już zainstalowanych w systemie bibliotek - np user może już mieć zainstalowaną nowszą wersje PEAR...
splatch
PEAR to na prawdę przydatne narzędzie. Ułatwia pracę przy wielu rzeczach i dlatego warto poświęcić mu odrobinę czasu. Mnie ostatnio zainteresowała biblioteka HTML_QuickForm. Zawsze chciałem coś takiego napisać, ale zabrakło troszkę zdolności i chęci smile.gif.
Sam w swoich projektach nie używam PEARa, ale mój znajomy pracuje w firmie, w której korzysta się z tego pakietu dość często, przez co ma go dobrze opanowanego.
Gdyby zaszła taka potrzeba to bym zaczął używać PEARa bez obaw.
seaquest
Moim zdaniem używanie bibliotek typu PEAR, PECL, ADoDB, Smarty itp to bardzo dobry pomysł. Jak ktoś kiedyś już tutaj powiedział: Po co wyważać otwarte drzwi? Ja jestem podobnego zdania. Jeżeli ktoś czemuś konkretnemu poświęca dużo czasu, to możemy się spodziewać, że ta rzecz (w tym przypadku biblioteka) jest zrobiona dobrze (liczne wyjątki potwierdzają regułę ;-) ). Tak więc moim zdaniem używanie bibliotek prowadzi nie tylko do szybszego ukończenia projektu, ale także do nauki programowania, a także w pewnym stopniu do unifikacji godu, co sprawia, że jest on bardziej elastyczny i łatwiejszy w modyfikacji. Powiem szczerze, że dla mnie programista, to osoba, która nie tylko potrafi pisać własny kod, ale także w znacznym stopniu potrafi modyfikując kod innych programistów przystosować aplikację do własnych potrzeb. Z tego wynika kolejna rzecz. Osoba taka zaczyna pisać kod w sposób zunifikowany, czyli tak, aby inni programiści ją zrozumieli.
sobstel
osobiście moje obawy budzi wydajność aplikacji pracującej na PEARu. robilem na localhoscie male testy porownujac jak to dziala bez biblioteki i z biblioteką i (glownie dołączanie rozbudowanych bibliotek) zajmuje trochę, kilka do kilkunastu razy dluzej, dlatego bardziej bym sie zwracal w strone PEARa przy budowie większych serwisów, gdzie przejrzystość i łatwość rozbudowy gra decydujaca role (co nie znaczy ze nie mozna napisac samemu zeby dzialalo szybciej, ale kto ma na to czas? winksmiley.jpg )
bela
Cytat(seaquest @ 2005-01-04 21:00:54)
liczne wyjątki potwierdzają regułę ;-)

masz na myśli PEAR'a ? winksmiley.jpg
pusiek.org
Mam zdanie podobne do Prometeus.

A mianowicie, jezeli wiesz ze mozesz sam cos takiego napisac bez problemu, to korzystaj z danej biblioteki, ale jezeli tak nie jest, sprobuj sam to napisac.

Wyjatkiem sa sytuacje, kiedy masz nieskonczony projekt, nie masz pomyslu i wiecej czasu. Wtedy takze siegasz po biblioteki winksmiley.jpg
bregovic
sopel Ależ oczywiście, coś, niestety, za coś. Ale powiedzmy sobie szczerze, który z nas potrafiłby i miał czas napisać klasę lepszą od PEAR::Mail ?
awides
funkcje biblioteczne zawsze będą wolniejsze od tych które się samemu napisze po to by rozwiązać konkretny problem i to jest bardzo duża wada tych funkcji, a jeśli chodzi o poziom zaawansowania użytkowników to raczej początkujący korzystają z gotowych bibliotek a nie "porządni" programiści... (korzysta się raczej z własnego zbioru funkcji)

biblioteki są dobre ale jak się programuje np. w C++ (tzn. raczej nie można się bez nich obejść :))))
hawk
@awides: Zanim napiszesz następnego posta, lepiej skonsultuj się u jakiegoś porządnego programisty...

FYI, w C++ da się obejść bez jakichkolwiek bibliotek. Naprawdę, to żadna magia, tylko zwykły kod w C. Z twojego postu wynika, że jako "porządny programista" biggrin.gif sam napisałbyś to lepiej, prawda?
R2r
Cytat(awides @ 2005-01-05 22:06:08)
a nie "porządni" programiści... (korzysta się raczej z własnego zbioru funkcji)

biblioteki są dobre ale jak się programuje np. w C++ (tzn. raczej nie można się bez nich obejść smile.gif)))

Znaczy się uważasz, że porządny programista będzie powielał już istniejące rozwiązania...
"Porządny programista" jak go nazwałeś potrafi raczej wyszukać najlepsze rozwiązania i optymalnie je wykorzystać w swoim projekcie.
Czemu nie korzystać z gotowca, który został stworzony przez zespół kilkudziesięciu programistów (często z ogromnym doświadczeniem) a przetestowany przez tysiące użytkowników na całym świecie i jest ciągle rozwijany.
Owszem czasem w gotowym rozwiązaniu "czegoś brakuje" wtedy najpierw warto dobrze rozejrzeć się za alternatywą i jeżeli takiej nie ma zaplanować własne rozwiązanie.
Pamiętajmy o jednaj bardzo ważnej rzeczy - o czasie, mamy go wszyscy tyle samo i zamiast tracić go na wyważanie otwartych drzwi lepiej przeznaczyć go z większym pożytkiem na naukę nowych rzeczy bądź też odpoczynek od kompa :-)
A w ramach nauki możemy przyłączyć się do już istniejącego zespołu tworzącego jakieś rozwiązanie. Rozwijanie projektu wymaga dokładnego przestudiowania i zrozumienia istniejącego kodu a to naprawdę może być pouczające
NuLL
W mojej skromnej opinii w PEARu jest mnóstwo perełek a niektóre biblioteki są naprawde fajne. Dla mnie głównym problemem jest, iż w PEARze jako całej bibliotece panuje jeden wielki nieporządek - jakby to ktoś uporządkowałby było by naprawdę fajnie - choć masz ci tu znowu inne wersje itp.

Ja PEAR użyłem parę razy- nie wiedząc np. jak wysłac mail'a z załącznikiem tongue.gif, a poza wszystkim wole to co własne i jakoś lubię wyważac otwarte drzwi - czemu questionmark.gif Brak jakieś możliwości - to sobie ją dopisuje. Ta aplikacja potrzebuje czegoś specyficznego questionmark.gif Dopisuję smile.gif

A co najfajniejsze - działają szybciej od ogólnie znanych.
awides
@hawk będziesz pisał klase do obsługi strumieni wejścia-wyjścia, klasę obsługującą łańcuchy, odczytywanie i zapisywanie plików, klasę do obsługi wektorów, itp. ?, albo
(odnosząc się do php, PEAR, itp.) będziesz pisał algorytmy szyfrowania ?, bo ja myślę że niebardzo

ale jak będziesz wykonywał działanie którego głównym celem jest osiągnięcie wyniku 4 to zrobisz to tak: 2+2=4 czy tak (2*2)/2+2=4 questionmark.gif?

ps. sorry jeżeli Kogoś uraziłem, ale każdy ma swój styl i zasady, ja mam takie i trudno, DTW
none
Witam
Prometeus napisał:
Cytat(Prometeus @ 2005-01-04 10:15:30)
Kolejna sprawa elastyczności - tak naprawe porządny serwis kiedy się go przenosi na nowy serwer ma przepisywane od nowa fragmentu kodu. Tylko nędzny serwis przy kolejnych przenosinach zostaje bez zmian.

Tworzac profesjonalny serwis - tworzysz go na dany serwer, tak by działął jak najstabilniej, niezawodnie i do tego porządnie.


Jeśli te "fragmentu kodu" dotyczą ustawien polczenia z bazą to mogę sie zgodzić. Natomisat jeśli trzeba coś wiecej zmieniać to serwis jest do d.

Moim zdaniem serwis powinien być tak napisany aby przy zmianie serwera oprócz usatwien typu polczenia z bazą ewnetualnie konfiguracja zabezpieczeń nie trzeba bylo nic zmieniać.
sobstel
Cytat(none @ 2005-01-06 19:33:46)
Moim zdaniem serwis powinien być tak napisany aby przy zmianie serwera oprócz usatwien typu polczenia z bazą ewnetualnie konfiguracja zabezpieczeń nie trzeba bylo nic zmieniać.

oczywiscie zalezy jaki serwis. wiadomo ze jak piszesz pod konkretna konfiguracje to bedzie wydajniej. jesli to ma byc ogolnodstpeny skrypt opensource to oczywiscie sie zgadzam, ale jesli dla konkretnej np. firmy z dedykowanym hostingiem itp. to chyba jednak mozna (a raczej powinno) podreperowac sie go kosztem przenosnosci.
binio
-> Prometeus

Wszystko zalezy po co piszesz dany serwis, więc nie uogolniaj że ...

Cytat
tak naprawe porządny serwis kiedy się go przenosi na nowy serwer ma przepisywane od nowa fragmentu kodu. Tylko nędzny serwis przy kolejnych przenosinach zostaje bez zmian


Kilka dni temu okazało się że przepinamy czesc skryptów pod inna domenke i zmieniamy miejsce na serwku.

Gdybym pisał tak jak Ty proponujesz to pewnie bym z 3 dni spedzil na przenosinach bo aplikacji mamy od .... i jeszcze troche.

Plik z polaczeniem do bazy zostal dalej zamaskowany na serwku wiec nie mialem praktycznie dodatkowej roboty z tym zwiazanej. I chyba o to chodzi a nie przewracanie do góry nogami kodu aby skrypty wystartowały powtórnie.

Wydaje mi sie ze piszac programy wlasnie o to chodzi a nie o to aby sie jak najwiecej napracowac tongue.gif

Przy okazji poruszę jeszcze jedną kwestię.
Zrobilem kilka skryptów w dwóch wersjach, jedna od a do z w znacznikach php,
w drugiej uciekałem z php przy kazdej okazji (tabele, teksty itp).

Skrypt w calosci w znacznikach php okazal sie wolniejszy, przy malych skryptach porownywalne czasy, natomiast przy wiekszej ilosci obliczen to juz roznica do sekundy i wiecej.

Testowaliscie w ten sposob skrypty php?
seaquest
Sory @awides ale zobacz co ty piszesz. Przeczysz sam sobie. Raz mowisz, że lepiej samemu pisać własne biblioteki, a drugi raz piszesz że korzystasz ze standardowych bibliotek obsługi wejścia i wyjścia, stringów itd. Czy może ja źle zrozumiałem...

@binio: jest to dosyć oczywiste parser php musi przeciez przejechac cale echo z jego zawartoscia (zeby znalezc ewentualne $stringi) a tak, to pomija ten kod html, ale moim zdaniem jeszcze lepszym rozwiazaniem jest stosowanie szablonow i calkowite (lub prawie calkowite) oddzielenie wody od artykulow czyli oddzielenie kodu php od kodu html.
awides
tak w C++ nie opłaca się pisać tego na nowo :) tak jak wiele rzeczy w php (chociażby to szyfrowanie danych, kompresja, itp.) ale jeżeli chodzi o buforowanie, drivery, szablony itp. to bardziej się opłaca je napisać samemu dostosowując je do konkretnego projektu (np. smarty mają olbrzymie możliwości ale można napisać prosty kod, użyć tagów php i uzyskać znacznie wydajniejszy w działaniu system bez zbędnych dodatkow)
Kocurro
@binio - o wiele szybciej jest wpisywać wszystko w php niż uciekać z php...ale musisz zwracać uwagę na funkcje jakich używasz i w jaki sposób - o wiele mniej efektywne jest np. wpisanie całego tekstu w cudzysłów - bo wtedy cały tekst jest parsowany... zapisnaie tego samego w apostrofie przyśpiesza działanie.

jeśli chce się tworzyć coś profesjonalnego trzeba sporo sie nauczyć...


swoją drogą t oteraz widać kto się uczył programować od php a kto od c lub asm'a...i kto to traktował na pwoażnie a kto nie tongue.gif

dobra - ja kończe się kłócić...mnie nie przekonacie a sam nie mam ochoty co chwila odbijacargumentów...najlepiej niech każdy robi jak uważa...
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-2025 Invision Power Services, Inc.