Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Rozwiązania gotowe , a swoje skrypty ?
Forum PHP.pl > Inne > Hydepark
dzesi
Witam was:) w ten piękny dzionek.Od kilku dni zastanawiam sie czy jest sens pisać swoje skrypty ( księga gości, licznik,panel admina itd) czy może korzystać z gotowców jak( skrypty sprawdzone innych programista ów albo używać frameworków i ich dobrodziejstw ) ?, pytam sie dlatego ze w php na poważnie pisze od niedawna hobbistycznie od ponad 1 roku ,ale nie moge powiedzieć ze wszystko umiem , i wszystko potrafię napisać bo tak nie jest .Czy lepiej pisać swoje skrypty i doskonalić sie w programowaniu czy korzystać z gotowców ( czami lepszych itd) bo chyba przy powznawianiu frameworków też człowiek sie uczy programować ( lepiej nazwijmy to dostosowywać gotowe rozwiązania jakie są w tych frameworkach )
Dziękuję za pomoc i mam nadzieje ze ta dyskusja będzie sensowna.
Moli
To zależy, jeśli robisz strony tylko hobbystycznie i nie chcesz poszerzać swojej wiedzy, a chcesz mięć zrobione coś dobrze to używaj darmowych skryptów/frameworków. Ale jeśli chcesz się doskonalić w programowaniu i robić to na poważnie to lepiej pisać wszystko własne. Może nie będzie tak dobre jak niektóre z darmowych rozwiązań, ale będziesz miał satysfakcje, wszystko będzie tak jak chcesz no i nauczysz się dużo więcej smile.gif
seaquest
@Moli: mam całkowicie odwrotne zdanie.

To właśnie poznając i rozwijając gotowe / dobrze napisane rozwiązania człowiek uczy się najwięcej.

Pisząc własne - zawsze jesteś ograniczony własną wiedzą. Zawsze będzie można znaleźć coś, co mogło zostać zakodowane lepiej, bo np autorzy PHPa już dawno pomyśleli, że należy daną rzecz wkomponować w jądro.
dzesi
Aha to chyba pede pisał włąsne skrypty, ale po mału bede poznawał frameworki i bibioteki , buezaszkodzi dodadkowa wiedza .Barzdziej programowani ucze sie dla siebie ale nie ukrywam ze chce pracowac jako proramista java lub php pomału dąże do tego
kwiateusz
To jak już dążysz do programowania to jeszcze o drodze zwróć uwagę jak piszesz bo mam niemałe problemy żeby rozczytać o co Ci chodzi...
dzesi
kwiateusz Przepraszam za moje błędy, ale tak to jest jak ktoś się spieszy .
Ps
Może poza tematem ale cóż nie chcę zakładać nowego wątku , Czy jest jakaś lepsza bibioteka axaja dla php oprócz mintajax i mootools [ musi mieć dobra dokumentację ]
Moli
@seaquest - Nie mówię że tak nie jest, sam czasami przeglądam cudze klasy, żeby zobaczyć jak dany problem rozwiązali. Ale uważam że więcej się nauczysz, pisząc np. własnego frameworka, niż pracując na cudzym.
dzesi
To w końcu jak ? przeglądać cudze skrypty , pisać swoje ? , dostosowywać frameworki do swoich potrzeb , bo już nie wiem kto ma racje smile.gif
nasty
dzesi, powiem tak, w warunkach produkcyjnych, gdzie się coś robi dla zarobku, to myślę ze jedynym sensownym rozwiązaniem jest używaniem frameworka (własnego czy tez gotowego, ale jakiegoś) bo w takiej sytuacji bardzo ważny jest czas wykonania, który się w znacznym stopniu skraca.

Ale w twoim przypadku to bym polecał pisanie wszystkiego swojego żeby nie stać się niewolnikiem frameworkow, znaczy ze piszesz w nich ale nie wiesz jak w środku działają, wiec zrób to samo co przerabia prawie każdy programista php, napisz swojego frameworka tongue.gif
tiraeth
@nasty: A tam... gadanie ;-) Ja zaczynałem od księg gości, potem systemu newsów, cms (oczywiście własne rozwiązania). W tym momencie, po prawie czterech latach batalii ze skryptami, uważam, że jeśli chce się czegoś nauczyć, to nawet korzystając z frameworka można to zrobić. Od jakichś dwóch miesięcy pracuję z CakePHP i jestem z tej pracy zadowolony :-)

To wybór każdego programisty. Jedni są tak pewni swoich umiejętności, że chcą udowodnić, że potrafią coś dobrze napisać. Ja uważam, że można dobrze napisać stronę z użyciem frameworka, a do tego też są potrzebne umiejętności :-) Tak samo zasada działania MVC - poznasz ją, jak będziesz ją stosować.
Moli
Ale używając ciągle frameworka, będziesz wiedział jak go używać, ale nie będziesz wiedział jak dana opcja jest napisana. Myślę że każdy kto zaczynał z php, wpierw patrzył jak są pisane skrypt, przerabiał i się uczył na tym, później pisał własne i brał się za przerabianie bardziej złożonych rzeczy.
Jabol
Osobiście jestem za używaniem gotowych bibliotek. W PHP to może jest jeszcze opcja używać własne biblioteki, ale jak się wchodzi w poważniejsze rzeczy to rozwiązania stają się zbyt skomplikowane, aby móc pisać własne w rozsądnym czasie. Pomyślcie, że większość z tych Frameworków i bibliotek których się używa od tak było pisanych i testowanych więcej niż całe coponiektóre aplikacje (a już na pewno więcej niż te małe projekciki, jakie tam sobie początkujący skrobią)! W PHP tak można, ale pomyślcie sobie o troszkę innej sytuacji. Chcę napisać aplikację okienkową. Wykorzystuje Gtk czy piszę własną bibliotekę wysokopoziomową do obłsugi okienek? Oczywiście nie muszę udzielać odpowiedzi.
Osobiście nie polecam patrzeć jak Frameworki są napisane, tylko jak się ich używa, bo to jest i tak wystarczająco spora wiedza do nauczenia się. A pisać przy okazji i tak się człowiek nauczy.

Dlatego gdyby to była ankieta głosowałbym na gotowe rozwiązania.
Taki przykład, może nie PHP, ale nie znalazłem na szybko ile zajmują źródła symfony. Jest taki framework do Pythona, pylons. Jego spakowane źródła mają 150KB! Jeżeli wiecie jak mocno kompresują się pliki tekstowe to się ze mną zgodzicie, że ten framework ma ~0,5MB źródeł! A należy raczej do małych. Po prostu pisanie własnych bibliotek tylko po to aby pisać jest niewydajne, niekorzystne (nie mamy dogłębnęgo testowania itp) i po prostu mija się z celem.
SHiP
@Moli: Nigdy nie bawiłem się w czyimś frameworku winksmiley.jpg i nigdy nie przerabiałem czyichs skryptów. W moim przypadku wygląda to tak że pisałem swojego cmsa przez 2 lata doszedlem do wniosku ze jest ubogi i przepisalem go na nowo bazując na OP i jednym wzorcu. Ktoś tam napisał, że bez analizowania czyichś prac człowiek się nie rozwinie. Bzdura. Coś mi nie działa, coś działa źle - zmieniam i kombinuje. Nie wiesz jak rozwiązać jakieś ciężki problem programistyczny? Google, forum(w php pro kiedys troche tego bylo, nie wiem jak teraz bo żadko zaglądam) - zawsze mozna znaleźć najbardziej optymalne rozwiązanie.

Cytat
Ale w twoim przypadku to bym polecał pisanie wszystkiego swojego żeby nie stać się niewolnikiem frameworkow, znaczy ze piszesz w nich ale nie wiesz jak w środku działają, wiec zrób to samo co przerabia prawie każdy programista php, napisz swojego frameworka

Popieram winksmiley.jpg. Pisząc własny framework zawsze przechodzimy chrzest bojowy - pisanie rdzenia silnika. Jak to napiszesz w miarę optymalnie to reszta to pikus.

ps: myślę ze dobrym zwyczajem jest wykorzystywanie czyichs bibliotek a nie calych skryptow. Ja np. korzystam z pagera Nospora i chociaz nie mam pojęcia jak on dziala wewnątrz jestem bardzo zadowolony winksmiley.jpg
nasty
Dobrze, to powiedzmy ze będziesz musiał napisać aplikacje która czyta konfiguracje z plików zapisanych w niestandardowym formacie, to co powiesz klientowi czy szefowi ? ze nie, nie zorbie bo mój framework tego nie potrafi ?
A tak gdybyś znal jego zasadę działania, to szybciutko sobie dopiszesz.

Jabol: Zgadzam się z tobą, nikt nikomu nie każe przegladac źródła mysql_connect(), ale frameworka owszem.
Moli
Ja nigdy nie powiedziałem, że korzystanie z cudzych bibliotek jest złe, sam też czasami wolę skorzystać z cudzej (np. bo jest dobra a nie mam czasu na pisanie własnej). Ale jeżeli chcę się nauczyć jak coś działa, to wolę napisać własne (jedynie mogę podpatrzeć jak jest u innych to wykonane).
Jabol
Inna sprawa, że czytanie innych źródeł dla rozwiązania konkretnych problemów też jest dobre. Tzn. nie czytać źródeł dla czytania, a np. jak nie wiem jak zrobić stronicowanie to hop podglądam w bibliotece i mam prostą własną wersje. Oprócz tego są niektóre nieudokumentowane biblioteki oraz niskopoziomowe API do którego nie ma dokumentacji i można albo czytać jego kod (opcja hard), albo czytać jak z niego korzystają inni programiści (opcja soft). Tutaj czytanie jest rzeczywiście pomocne. Zazwyczaj używam opcji soft. Także jeżeli już czytać to pod kontem konkretnego problemu, nie tak sobie.
Cosi*
Pozwolę sobie dorzucić swoje trzy grosze.
Korzystanie z cudzego frameworka a korzystanie z gotowych rozwiązań typu CMS czy sklep internetowy to dwie różne rzeczy. IMHO można korzystać z frameworka, nie znając jego "bebechów", bo niekoniecznie muszę znać kod źródłowy mojego kompilatora C, pisząc programy właśnie w C - co nie znaczy, że nie można podejrzeć jak to czy owo jest skonstruowane.
A co do korzystania z gotowców, to z założenia są to "szkielety", które powinno się samodzielnie przerobić, dostosować do własnych potrzeb. A popatrzcie na niektóre serwisy internetowe - autorom czasem nie chce się nawet przerobić komunikatów na polski, nie mówiąc o zmianie layout'u. Wielu "tfurców" nie zagląda nawet do kodu, tylko wrzuca gotowy skrypt na stronę. W takim razie ilu z własnej woli zajrzy do źródeł, żeby znaleźć rozwiązanie jakiegoś problemu? Co dziesiąty, co dwudziesty?
Dlatego jestem zdania, że najlepsza szkoła to dobra książka, dobry manual w Sieci, dobre forum dyskusyjne i pisać, pisać od zera. Ewentualnie z niewielką pomocą hotscripts.com smile.gif
Pozdrawiam
athabus
Moim zdanie to od zera można pisać stronki dla babuni.
Jest wiele genialnych bibliotek, które po prostu warto znać. Po co mam pisać np. swoją własną klasę do obsługi baz danych skoro jest taki propel. Jeśli piszę to po to aby stworzyć optymalną klasę do tego zadania to ok, ale jeśli piszę stronę i na jej potrzeby buduje od zera taką klasę to... to jest po prostu chore. Taka klasa i tak nawet nie zbliży się w funkcjonalności do pierwowzoru - nie będzie tak funkcjonalna, tak przetestowana itp.
Nie mówię, że nie warto nic pisać - czasami jest to po prostu fajne aby napisać np. swojego autloadera czy system routingu - ale tak dla siebie.

Stwierdzenie, że używając frameworka człowiek się nie rozwija jest po prostu śmieszne. Żeby dobrze zrozumieć framework, umieć pisać do niego rozszerzenie, nowe klasy itp trzeba mieć nieporównywalnie większą wiedzę niż aby stworzyć jakiś licznik czy badziewny CMS (mam tu na myśli coś co tak na prawdę nie jest CMS tylko stroną z panelem administracyjnym). Szczerze mówiąc pisząc stronę od zera poświęcasz swój czas na rzeczy typu:
a) tworzenie/walidacja formularzy
cool.gif klepanie w 95% banalnych zapytań sql i dostęp do bazy danych
c) tworzenie widoków

Zobacz jak odbywa się to np. w Symfony - na takie rzeczy poświęcasz bardzo mało czasu bo są to czynności zautomatyzowane. Ty masz rozwiązywać ZŁOŻONE problemy. Nie wiem jak wy, ale ja nie widzę nic rozwijającego w klepaniu obiektów DAO dla prostych obiektów czy tworzenie formularzy będących nakładką na tabele w bazie danych... Dla mnie jest to po prostu nudne.

Co do początków to uważam, że lepiej zacząć od pisania własnych skryptów, ale to z tego powodu, że chyba tylko Code Igniter jest w zasięgu osoby, która o php wie bardzo mało. Ale z czasem warto zabrać sie za fremeworki typu Zend czy Symfony bo dopiero praca z nimi uczy na czym tak naprawdę polega OOP. Trudno OOP nauczyć się pisząc stronkę w takim języku jak PHP - gdzie tu zastosujesz dziedziczenie, polimorfizm, interfejsy itp - dopiero we frameworku widać jak to działa. Dopiero używając dobrego frameworka nauczysz sie oddzielać warstwy aplikacji, tworzyć i wykorzystywać pewne mechanizmy itp a przede wszystkim poświęcasz czas na rzeczy rozwojowe zamiast na powtarzanie w kółko tych samych czynności.
Jabol
@Cosi*: nie chodzi o to, żeby wyznaczyć który schemat działania jest lepszy dla dobra PHP, tylko o pomoc w wyborze sciezki dla tych ktorzy chca sie uczyc. Jak ktoś nie chce, to ja nie mam zamiaru go ratować.
@athabus: dokładnie to co próbowałem wyrazić. Lepiej Ci się to chyba udało wyjaśnić.
dzesi
nasty Napisać własny framework obawiam się ze nie mam takiej wiedzy [mvc - wiem co to jest jak mniej wiecej kożystać ale zeby napisać jakaś aplikacje na podstawie mvc to jeszcze nie teraz, może z mała pomoca waszą bo tak napawde nie wiem od czego zaczać [ mam nadzieje ze podacie mi linki do mvc dla poczatkujacych itd].No dobra pisać wasne aplikacje ale z tego co słysze [ od programistów którzy juz pracują itd] to to że w 90% wykożystuje sie bibioteki i frameworki już gotowe [ bibioteki dla ajax, javascript itd] , bo pisanie swoich by zajeło napawde dużo czasu ale z drógiej strony jak zaczne pisać ciagle apliakcje na podstawie frameworków to co bedzie ze mnie za programista jak przyjdzie do mnie klient i powie prosze mi napisać cmsa czy coś innego od podstaw wtedy sie załamie bo niebede wiedział jak i teraż na sówa sie pytanie co lepiej wybrać ,na co postawić . sadsmiley02.gif Dziekuje wam za odpowiedzi i myśle ze temat bedzie nadal ciekawy , bo nie jest to taka łatwa sprawa . blink.gif
Przepraszam za błędy ale mam kupe pracy i mam napawde mało czasu ale obiecuje poprawie błedy smile.gif
nasty
dzesi: pisać wlasny framework to w ramach nauki, a nie do używania w prawdziwych projektach, to jest porostu jeden z wielu sposobów nauki. Potem przesiądziesz się na poważne frameworki z powodów które podał athabus, i zgodzę się z nim ze aby używać frameworka trzeba mieć trochę wiedzy, dlatego nie wskakuj od razu na głębokie wody, tylko doszlifuj swoje umiejętności a następnie baw się fw.

pozdrawiam.
Dandelion
Cytat
i powie prosze mi napisać cmsa


To wtedy wykorzystasz jeden z opanowanych frameworkow i napiszesz ten cms

Teraz nachodzi pytanie czy wiesz czym jest framework i do czego sluzy ?
Jabol
@dzesi: popisz troszkę w gotowych frameworkach a nawet nie zauważysz jak będziesz zdobywał wiedzę. Tym bardziej, że zazwyczaj trzeba zajrzeć do kodu. Tutaj żeby sprawdzić nieudokumentowaną funkcjonalność, tam żeby sobie jakieś konflikty prześledzić itp...
Cysiaczek
Wydaje mi się, że najlepiej robic te dwie rzeczy na raz - pisać na gotowacach i jednocześnie próbować tworzyć coś swojego. Gdyby nagle programiści zaczęli używac tylko gotowych bibliotek i je rozwijali, to utknelibyśmy w miejscu, bo systemy by się rozrastały, a jak wiadomo - im większy system - tym trudniejszy w rozwoju.

Pozdrawiam.
Sedziwoj
@Cysiaczek
Zgadzam się, nie można siedzieć tylko w tym co istnieje.
@dzesi
Zainstaluj FF i spr. pisowni wbudowane...

Co do tematu, trzeba pamiętać że część "bibliotek"do PHP jest tak marnie napisana, że szkoda gadać.
Ale jakoś nie wpadło mi do głowy aby pisać własne rozwiązanie typy Smarty, Propel'a jeszcze nie korzystałem, ale będę chciał, bo wydaje się ciekawą propozycją.

Trzeba rozdzielić to co służy do nauki, od tego co służy do pracy. Bo mimo że mamy rozszerzenie do przeciążania operatorów, to go się nie wykorzysta w pracy. Tak samo lepiej korzystać z gotowych FW czy modułów, bo są lepiej przetestowane, czasami są naprawdę dobrze napisane.
Ale jak się ma człowiek uczyć to musi sam pisać, tylko żeby robić to bardziej skutecznie korzystajmy z wiedzy innych programistów, którą można znaleźć np. w książkach, artykułach, forach, blogach ale też w ich skryptach. Przebijanie się przez kod brzydko napisany też uczy, bo samemu się odczuwa na własnej skórze czemu obiektowe jest lepsze dlaczego trzeba komentować. Ale też pokazuje jak ktoś rozwiązał dany problem, bo czasem są naprawdę ciekawe rozwiązania.

Przeglądanie różnych "bibliotek" daje coś jeszcze, jak się jakieś ciekawe znajdzie to można potem z nich korzystać. Ja miałem kłopot bo tokenów nie używałem a musiałem takowe dodać, zacząłem szukać gotowych (szybciej) ale to co znalazłem było takie kitowe, że ostatecznie sam napisałem.
Bo niestety jest dużo kiepskiego kodu PHP'a, dlatego nie ma co porównywać do obsługi okienek w innych językach gdzie są naprawdę dopracowywane. Jest migracja z PHP na inne języki tych bardziej doświadczonych.
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.