Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Framework MVC i wywoływanie domyślnego widoku, Jak to wygląda od strony wnętrza frameworka?
Walian
post 27.05.2012, 17:35:55
Post #1





Grupa: Zarejestrowani
Postów: 124
Pomógł: 1
Dołączył: 13.07.2009

Ostrzeżenie: (0%)
-----


W jaki sposób we frameworkach MVC są wywoływane domyślne widoki? Tzn. nie pytam o zasady MVC, lecz o kwestię techniczą od strony wnętrza frameworka.

Np. w Zendzie tworzymy sobie najbardziej podstawowy kontroler:
  1. class IndexController extends Zend_Controller_Action
  2. {
  3. function indexAction()
  4. {
  5.  
  6. }
  7. }

I już na tym etapie Zend wie, że ma wyświetlić zawartość pliku index/index.phtml.
Gdzie jest zawarty kod, który to realizuje? Działa to świetnie bo już w akcji można wyłączyć wyświetlenie zarówno layoutu jak i widoku, a nawet wywołać kilka widoków.
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
skowron-line
post 27.05.2012, 18:16:40
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


Zapewne do widoku jest przekazywana nazwa akcji jaka jest wywoływana, więc szukaj w widoku.


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
irmidjusz
post 28.05.2012, 00:19:09
Post #3





Grupa: Zarejestrowani
Postów: 279
Pomógł: 60
Dołączył: 25.02.2012

Ostrzeżenie: (0%)
-----


Cytat(Walian @ 27.05.2012, 18:35:55 ) *
Np. w Zendzie tworzymy sobie najbardziej podstawowy kontroler:
  1. class IndexController extends Zend_Controller_Action
  2. {
  3. function indexAction()
  4. {
  5.  
  6. }
  7. }

I już na tym etapie Zend wie, że ma wyświetlić zawartość pliku index/index.phtml.
Gdzie jest zawarty kod, który to realizuje?


Uwierz mi, nie chcesz tego wiedzieć biggrin.gif biggrin.gif biggrin.gif

A jeśli koniecznie chcesz, to przeanalizuj metody Zend_Controller_Front::dispatch(), Zend_Controller_Dispatcher_Standard::dispatch() oraz klasy Zend_Controller_Action i Zend_Controller_Action_Helper_ViewRenderer biggrin.gif (tak na początek).

Pomocne będą:
http://nethands.de/download/zenddispatch_en.pdf
http://www.slideshare.net/polleywong/zend-...spatch-workflow
http://framework.zend.com/manual/en/zend.c...ler.basics.html
Go to the top of the page
+Quote Post
!*!
post 28.05.2012, 08:04:55
Post #4





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Cytat
I już na tym etapie Zend wie, że ma wyświetlić zawartość pliku index/index.phtml.


I jesteś tego pewien że to jest dobre rozwiązanie?


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Pilsener
post 28.05.2012, 14:23:10
Post #5





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Jak chcesz to MVC to wybrałeś zły przykład. ZF to raczej zbiór komponentów niż framework i bardziej chyba będzie to wzorzec eee... MVP? No ale ok, trzymajmy się logiki - "MVC" potocznie czyli podział kodu na części wg ich przeznaczenia wink.gif A każde rozwiązanie ma jakieś wady i zalety (pomijając oczywiście kompletne fuszerki czy improwizacje).

Poza tym trochę dziwne pytanie... a skąd wie, że ma wywołać kontroler np. index? Gdy odpalasz jakiś swój controller to dziedziczy on zapewne po klasie controller_action gdzie masz jakiś initView czy coś w tym guście, to tam kontroler ustawia widok czerpiąc z własnych ustawień (folder views i rozszerzenie .phtml) oraz z dispatchera, skąd pobierana jest nazwa mpdułu i kontrolera.
Go to the top of the page
+Quote Post
Walian
post 29.05.2012, 11:59:17
Post #6





Grupa: Zarejestrowani
Postów: 124
Pomógł: 1
Dołączył: 13.07.2009

Ostrzeżenie: (0%)
-----


Niczego nie jestem pewien. Po prostu chcę sobie stworzyć mały framework zgodny z MVC. Do tej pory w jednej firmie używałem CMS-a opartego o Zenda, i choć sam CMS był z dupy to jednak z samym Zendem pracowało się w miarę OK. Przynajmniej kilka rozwiązań dawało wygodę i pomyślałem, że w swoim frameworku bym je zaimplementował, ale już nie w taki zamieszany (z punktu widzenia wnętrza kodu Zenda) sposób. Nie potrzebuję tylu komponentów ile ma Zend ani metod typu preDispatch(), postDispatch() oraz podobnych, tylko proste sterowanie kontrolerami, widokami i modelami, resztę bajerów jak obsługa bazy danych itd. oprę na własnych klasach - i to wszystko mi wystarczy. Jeśli czegoś zabraknie to wtedy to zaimplementuję.

Dlatego pomyślałem sobie: po co w każdej akcji ręcznie ustalać nazwę widoku, skoro domyślnie może być automatycznie ustawiona taka jak nazwa akcji, z możliwością ręcznej zmiany w razie potrzeby. To zły pomysł?
Go to the top of the page
+Quote Post
Crozin
post 29.05.2012, 12:22:03
Post #7





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Skoro Zend Ci odpowiada to po jakie licho robisz swojego "frameworka"? Co z tego, że ma masę rzeczy, których na chwilę obecną nie potrzebujesz? W czym one przeszkadzają? A jak przyjdzie potrzeba użycia jednej z nich, to zamiast skorzystać z istniejących już rozwiązań będziesz je dopisywać do swojego FW?
Go to the top of the page
+Quote Post
!*!
post 29.05.2012, 12:28:24
Post #8





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Cytat(Crozin @ 29.05.2012, 13:22:03 ) *
Skoro Zend Ci odpowiada to po jakie licho robisz swojego "frameworka"?


Swój FW jest lepszy wink.gif obojętnie jak działa, czy jest wydajniejszy, zawsze będzie lepszy bo został napisany przez Nas samych. Poza tym, nie przesadzajmy z tandetnym tekstem że jak już coś jest, to po co pisać coś swojego/nowego. Chociażby po to żeby się sprawdzić. To że Zend czy inncy FW tworzy 1k osób, nie znaczy że jest on dobry, przeciwnie, jest optymalny.

Poznanie jakiegoś FW zajmuje czasami więcej czasu niż napisanie czegoś samego, ponadto dobrze napisany własny FW posiada nieinwazyjną możliwość podpięcia zewnętrznych klas innego FW i nie ma z tym problemu.

Jest też jedna rzecz... Czasami są zlecenia, w których nie mogą być użyte elementy open source. Wtedy własny FW pasuje idealnie.

Ten post edytował !*! 29.05.2012, 12:37:38


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Walian
post 29.05.2012, 13:16:02
Post #9





Grupa: Zarejestrowani
Postów: 124
Pomógł: 1
Dołączył: 13.07.2009

Ostrzeżenie: (0%)
-----


@!*! Jesteś jedną z niewielu osób, która nie atakuje tematem "wyważania otwartych drzwi" tak jak Crozin. Przy okazji podałeś wiele argumentów, które powinny być oczywiste dla wielu osób. W pełni zgadzam się z całym Twoim postem.

Ja dodam jeszcze, że:
- gdyby Linus Torvalds nie zaczął pisać jądra Linuksa, to kto wie, na jakim poziomie technicznym stałaby dzisiaj ludzkość?
Pisał ten system, kiedy istniał już inny. Ktoś z Was odważy się powiedzieć "po co wyważać otwarte drzwi" w odniesieniu do jego pracy?
- pisanie własnego frameworka to satysfakcja, nauka i minimalizm - po jaką cholerę tworząc dla kogoś małą stronkę opartą o MVC mam kopiować kilkaset (kilka tysięcy?) plików, które wchodzą w skład Zenda?
- mam używać Zenda (czy innego gotowego FW) i nigdy nie wiedzieć, jak właściwie działa taki FW?
- można stworzyć FW tak, by aplikacja oparta o niego przypominała inne frameworki, dzięki czemu modyfikacja aplikacji nie będzie nastręczać wielu trudności.

Proszę nie pytać mnie, czemu chcę tworzyć własny mini-framework, ani nie mówić mi, że to jest "be", bo to nie jest tematem tej dyskusji.

Cytat
A jak przyjdzie potrzeba użycia jednej z nich, to zamiast skorzystać z istniejących już rozwiązań będziesz je dopisywać do swojego FW?

W skrócie: Tak.

P.S. Dałbym sobie głowę uciąć, że po napisaniu "tworzę sobie FW" następna osoba mnie o to zbeszta... I jak zwykle nie myliłem się ;-)
Go to the top of the page
+Quote Post
Dipter
post 29.05.2012, 16:14:55
Post #10





Grupa: Zarejestrowani
Postów: 81
Pomógł: 14
Dołączył: 28.11.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


@!*! i Walian

Może inaczej.. Główny problem, który tyczy się pisania własnego frameworka to komponenty, tzn. ludzie zamiast skorzystać z gotowych klas [narzędzi], które ktoś już napisał i są one powiedzmy dobre (czy tam "prawidłowo" napisane) tworzą swoje własne, które zazwyczaj kończą się niepowodzeniem - przez co każdy je zmienia 50x lub pisze od nowa, bo albo nie spełniają wymogów takich i takich, albo są wadliwe w niektórych sytuacjach.

Sam twórca Symfony napisał artykuł "pisanie własnego frameworka w oparciu o komponenty Symfony". Pytanie - Dlaczego ludzie chcą pisać przykładowo własny ORM, który wydajnością różni się ciut od przykładowego Doctrine'a, a funkcjonalnością nie dobiega mu nawet do połowy? Ponieważ to mały projekt, to wszystko musi być "lżejsze" i "mniejsze"? W takim razie po cholere ładować tam ORM? Takim sposobem nie tworzy się nic sensownego tylko łata się dziury niczym robotnicy w polskich drogach.

Cytat
- pisanie własnego frameworka to satysfakcja, nauka i minimalizm - po jaką cholerę tworząc dla kogoś małą stronkę opartą o MVC mam kopiować kilkaset (kilka tysięcy?) plików, które wchodzą w skład Zenda?


Nauka? Piszesz jakąkolwiek rzecz - niech zarzućmy na przykład komunikację w MVC - Piszesz kontroler, model i widok odpalasz - działa, po chwili zastanawiasz się co dodać - analizujesz i dodajesz, działa - ale za chwile próbujesz wykonać jakiś wyjątkowy manewr, ale technikę jaką ustaliłeś wcześniej całkowicie wykracza temu wyjątkowi - co teraz? Przebudowujesz swój kod na taki, żeby pasował pod ten wyjątek, ale zaraz - dochodzi kolejny i znów schody, piszesz teraz obejście problemu dla niego - co się dzieje? Że tak powiem burdel, a dalej to sobie sam dopisz, gdy dochodzą inne sytuacje.

Cytat
Poznanie jakiegoś FW zajmuje czasami więcej czasu niż napisanie czegoś samego, ponadto dobrze napisany własny FW posiada nieinwazyjną możliwość podpięcia zewnętrznych klas innego FW i nie ma z tym problemu.


Poznanie jakiejś rzeczy zajmuje więcej czasu od napisania dobrze działającej swojej? Czyli uważasz, że zerknięcie do dokumentacji i popatrzenie kod (+ sprawdzenie tego czy faktycznie działa) jest dłuższe od napisania takiego samego (lub gorszego/lepszego) systemu? Poza tym, twierdzisz że w swoim FW nie ma problemu z zew. klasami - Czyli w Symfony lub Zendzie są? Bardzo dziwna sprawa - Szkoda na to słów.

Pozdrawiam i jeśli tak bardzo już chcecie pisać własne platformy to skorzystajcie chociaż z komponentów, które już ktoś napisał i spełniają one swój obowiązek, bo można powiedzieć że to samo tyczy się PDO, podstawowych funkcji PHP i np Iteratorów (W końcu z tego korzystacie, a chcecie mieć swoje, czyż nie?).
Go to the top of the page
+Quote Post
!*!
post 29.05.2012, 17:26:13
Post #11





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Cytat
tzn. ludzie zamiast skorzystać z gotowych klas [narzędzi], które ktoś już napisał i są one powiedzmy dobre (czy tam "prawidłowo" napisane) tworzą swoje własne, które zazwyczaj kończą się niepowodzeniem


Ale dobre dla kogo? Dla Ciebie? Dla innych bo też z tego korzystają? Niektórzy używają GTK+ przy budowaniu aplikacji dla linux, inni Qt a jeszcze inni napiszą coś używając basha...

Chodzi o to żeby napisać coś co Nam pasuje... To ile błędów popełnimy w trakcie to już inna kwestia, dobrym rozwiązaniem przy budowie FW jest pisanie od razu jakiejś aplikacji w nim, np. CMSa wtedy wyjdą wszystkie błędy dość szybko. Tworzymy narzędzie które pasuje to naszego stylu, to po prostu wygodne.

Cytat
Czyli uważasz, że zerknięcie do dokumentacji i popatrzenie kod (+ sprawdzenie tego czy faktycznie działa) jest dłuższe od napisania takiego samego (lub gorszego/lepszego) systemu? Poza tym, twierdzisz że w swoim FW nie ma problemu z zew. klasami - Czyli w Symfony lub Zendzie są? Bardzo dziwna sprawa - Szkoda na to słów.


Dokumentacja Zenda jakby to ująć... jest jedną z gorszych jakie miałem okazje czytać. To tylko moje zdanie i całkowicie się z nim zgadzam wink.gif po prostu wolałbym przerabiać kod strukturalny aplikacji która ma 170k linijek w jednym pliku skompresowanej ciurkiem w jednej linijce, niż starać się zrozumieć tą dokumentacje. Podoba mi się za to dokumentacja CI, bo jest krótko i na temat, oraz cakePHP, bo jest krótko na temat i bez burdelu.

Kod
Pozdrawiam i jeśli tak bardzo już chcecie pisać własne platformy to skorzystajcie chociaż z komponentów, które już ktoś napisał i spełniają one swój obowiązek, bo można powiedzieć że to samo tyczy się PDO, podstawowych funkcji PHP i np Iteratorów (W końcu z tego korzystacie, a chcecie mieć swoje, czyż nie?).


Nie chce mieć swojego PDO, bo po co? PDO jest wbudowane w PHP i działa idealnie. Po co miałbym korzystać z cudzych komponentów, jak to mój FW pisany pod moje potrzeby? Owszem mogę skorzystać np. z klasy routera tej z ZF ale nie pasuje mi ona, szczególnie że mój FW opiera się o konkretne założenia sterowania aplikacją, więc napisałem routing pod siebie np. zlikwidowałem całkowicie odwoływanie z linku do kontrolera, metody i parametru bo mi to po prostu nie pasuje i uważam to za głupotę. Dlatego zanim przeanalizowałbym i przerobił klasy ZF pod siebie... zajęłoby mi to więcej czasu niż napisanie własnej klasy. Która działa tak jak chce i jest odpowiednia dla mojego FW i sposobu jego działania.

Zanim zdecydowałem się napisać własny FW, zadawałem dużo pytań na różnych forach odnośnie właśnie ZF, cakephp czy CI, jak zbudować w nich coś, co byłoby dokładnie takie jak JA chce. Efektem tego było to iż większość rozwiązań jakie chciałem uzyskać, zwyczajnie pozostawała bez odpowiedzi np. budowa panelu administracyjnego dla wszystkich zarejestrowanych aplikacji, w głównej strukturze katalogu, stworzenie tym samym własnego ekosystemu. Tego po prostu nie da się zrobić "od tak" w tych FW, przynajmniej na ichniejszych forach nikt takiej wiedzy nie posiadał... I tak dla odmiany mój FW na to pozwala "od tak", bez ceregieli, prosto i przyjemnie.


Cytat
Nauka? Piszesz jakąkolwiek rzecz - niech zarzućmy na przykład komunikację w MVC - Piszesz kontroler, model i widok odpalasz - działa, po chwili zastanawiasz się co dodać - analizujesz i dodajesz, działa - ale za chwile próbujesz wykonać jakiś wyjątkowy manewr...


Korzystasz z ZF czy jakiegoś tam FW, obojętnie... A wiesz chociaż JAK działają poszczególne jego elementy, nie pytam o efekt końcowy.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Dipter
post 29.05.2012, 18:03:22
Post #12





Grupa: Zarejestrowani
Postów: 81
Pomógł: 14
Dołączył: 28.11.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cytat
Ale dobre dla kogo? Dla Ciebie? Dla innych bo też z tego korzystają? Niektórzy używają GTK+ przy budowaniu aplikacji dla linux, inni Qt a jeszcze inni napiszą coś używając basha...


No właśnie używają GTK+ albo Qt - To nie są gotowce? wink.gif

Cytat
Chodzi o to żeby napisać coś co Nam pasuje... To ile błędów popełnimy w trakcie to już inna kwestia, dobrym rozwiązaniem przy budowie FW jest pisanie od razu jakiejś aplikacji w nim, np. CMSa wtedy wyjdą wszystkie błędy dość szybko. Tworzymy narzędzie które pasuje to naszego stylu, to po prostu wygodne.


Jaki sens ma pisanie platformy pod gotowy projekt? Później nie możesz jej nawet przerobić bo większość elementów musisz zmienić.

Cytat
Dokumentacja Zenda jakby to ująć... jest jedną z gorszych jakie miałem okazje czytać. To tylko moje zdanie i całkowicie się z nim zgadzam wink.gif po prostu wolałbym przerabiać kod strukturalny aplikacji która ma 170k linijek w jednym pliku skompresowanej ciurkiem w jednej linijce, niż starać się zrozumieć tą dokumentacje. Podoba mi się za to dokumentacja CI, bo jest krótko i na temat, oraz cakePHP, bo jest krótko na temat i bez burdelu.


Zend to akurat przypadek, gdzie jest masa forów i poradników na blogach, czy tam zwykłych dev stronach jak skorzystać z tego i tego (Nie wspominając o forum na którym właśnie piszemy). Co do cakephp i codeignitera nawet nie będę się wypowiadał bo niepotrzebnie rozpoczynać drugą wojnę.

Cytat
Nie chce mieć swojego PDO, bo po co? PDO jest wbudowane w PHP i działa idealnie.


Możesz sobie zadać to samo pytanie do chociażby Dependency Injection w Symfony.

Cytat
Po co miałbym korzystać z cudzych komponentów, jak to mój FW pisany pod moje potrzeby? Owszem mogę skorzystać np. z klasy routera tej z ZF ale nie pasuje mi ona, szczególnie że mój FW opiera się o konkretne założenia sterowania aplikacją, więc napisałem routing pod siebie np. zlikwidowałem całkowicie odwoływanie z linku do kontrolera, metody i parametru bo mi to po prostu nie pasuje i uważam to za głupotę.


Pisząc FW pod dany projekt, tworzy się pic na wodę - Bo wtedy to można nazwać "biblioteki projektu".

Cytat
Dlatego zanim przeanalizowałbym i przerobił klasy ZF pod siebie... zajęłoby mi to więcej czasu niż napisanie własnej klasy. Która działa tak jak chce i jest odpowiednia dla mojego FW i sposobu jego działania.


Dlaczego nie zrobisz wtedy adaptera dla tejże klasy i nie ustalisz swoich metod działania? Skoro jesteś aż tak zdolny by pisać własny FW, to chyba tak prostą czynność możesz wykonać w 15 minut?

Cytat
Zanim zdecydowałem się napisać własny FW, zadawałem dużo pytań na różnych forach odnośnie właśnie ZF, cakephp czy CI, jak zbudować w nich coś, co byłoby dokładnie takie jak JA chce. Efektem tego było to iż większość rozwiązań jakie chciałem uzyskać, zwyczajnie pozostawała bez odpowiedzi np. budowa panelu administracyjnego dla wszystkich zarejestrowanych aplikacji, w głównej strukturze katalogu, stworzenie tym samym własnego ekosystemu. Tego po prostu nie da się zrobić "od tak" w tych FW, przynajmniej na ichniejszych forach nikt takiej wiedzy nie posiadał... I tak dla odmiany mój FW na to pozwala "od tak", bez ceregieli, prosto i przyjemnie.


Co jak co, ale w Zendzie panelem administracyjnym może być zwykły moduł i podobne rozwiązania znalazłbyś wszędzie (Czasami warto zaglądnąć na te zagraniczne fora, niż czekać nieustannie na odpowiedź na tych polskich).

Cytat
Korzystasz z ZF czy jakiegoś tam FW, obojętnie... A wiesz chociaż JAK działają poszczególne jego elementy, nie pytam o efekt końcowy.


Czy wiem... a po co mi to wiedzieć? W dzisiejszych czasach liczy się czas, który jest bardzo cenny. A jeśli już mam się dowiedzieć jak działa to i to, to po prostu wystarczy że zajrzę w źródła.

EOT jak dla mnie.
Go to the top of the page
+Quote Post
!*!
post 29.05.2012, 18:34:43
Post #13





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Dipter chyba nie za bardzo rozumiesz o czym rozmawiamy.

Cytat
No właśnie używają GTK+ albo Qt - To nie są gotowce?


Tak, takie same gotowce jak PHP, ale to nie znaczy że mają w sobie wszytko czego potrzebuje.

Cytat
Jaki sens ma pisanie platformy pod gotowy projekt? Później nie możesz jej nawet przerobić bo większość elementów musisz zmienić.


Jakiej znowu platformy? Piszemy o FW który jest uniwersalny i napiszesz w nim wszytko co tylko zdołasz sobie wyobrazić.

Cytat
Dlaczego nie zrobisz wtedy adaptera dla tejże klasy i nie ustalisz swoich metod działania? Skoro jesteś aż tak zdolny by pisać własny FW, to chyba tak prostą czynność możesz wykonać w 15 minut?

Ponieważ musiałbym wiedzieć jak go zrboić, czy go zrobić i czy w ogóle mi się to opłaca wiedzieć. Jakbym był zwolennikiem czyjegoś FW to pewnie bym nawet go współtworzył, ale po co zawracać sobie głowę, dla mnie to jest dokładnie tak samo jak poprawianie kodu po kimś...

Cytat
Możesz sobie zadać to samo pytanie do chociażby Dependency Injection w Symfony.

Mam dziwne wrażenie że nie wiesz czym jest PDO i uważasz że jest to klasa php.

Cytat
Co jak co, ale w Zendzie panelem administracyjnym może być zwykły moduł i podobne rozwiązania znalazłbyś wszędzie (Czasami warto zaglądnąć na te zagraniczne fora, niż czekać nieustannie na odpowiedź na tych polskich).


Zadawałem pytania również na forach zagranicznych. To nie ma znaczenia jaki kraj, wyobraź sobie że w PL też są ludzie co znają się na rzeczy, choć nie koniecznie znają odpowiedź na wszytko, tak jak w przypadku tego panelu.

Cytat
Czy wiem... a po co mi to wiedzieć? W dzisiejszych czasach liczy się czas, który jest bardzo cenny. A jeśli już mam się dowiedzieć jak działa to i to, to po prostu wystarczy że zajrzę w źródła.


Mógłbyś. Żeby później na rozmowach kwalifikacyjnych nie przychodzili ludzie co chcą robić inicjacje obiektu.

Ten post edytował !*! 29.05.2012, 18:36:45


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Dipter
post 29.05.2012, 20:34:05
Post #14





Grupa: Zarejestrowani
Postów: 81
Pomógł: 14
Dołączył: 28.11.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cytat
Tak, takie same gotowce jak PHP, ale to nie znaczy że mają w sobie wszytko czego potrzebuje.


Co nie oznacza, że trzeba je odstawiać na bok i pisać je od nowa.

Cytat
Jakiej znowu platformy? Piszemy o FW który jest uniwersalny i napiszesz w nim wszytko co tylko zdołasz sobie wyobrazić.


Frameworka można w pewny sposób platformą, bo w końcu coś na czymś stoi. Poza tym sam sobie zaprzeczasz - Jak twój framework może być uniwersalny skoro piszesz go pod DANY PROJEKT.

Cytat
Ponieważ musiałbym wiedzieć jak go zrboić, czy go zrobić i czy w ogóle mi się to opłaca wiedzieć. Jakbym był zwolennikiem czyjegoś FW to pewnie bym nawet go współtworzył, ale po co zawracać sobie głowę, dla mnie to jest dokładnie tak samo jak poprawianie kodu po kimś...


Nie wiesz jak zrobić coś takiego, ale wiesz jak napisać framework? Gratuluję umiejętności (Nie chcę Cię tutaj obrazić, ani na Ciebie naskakiwać).

Cytat
Mam dziwne wrażenie że nie wiesz czym jest PDO i uważasz że jest to klasa php.


Nigdzie nie napisałem, że jest to klasa PHP więc nie wprowadzaj tutaj coś czego nie było - Miałem tu na myśli fakt iż to i to to narzędzie (Niezależnie od tego czy jest wbudowane jako rozszerzenie czy jako zbiór klas, bo i z tego i z tego korzystasz w podobny (prawie identyczny) sposócool.gif.

Cytat
Zadawałem pytania również na forach zagranicznych. To nie ma znaczenia jaki kraj, wyobraź sobie że w PL też są ludzie co znają się na rzeczy, choć nie koniecznie znają odpowiedź na wszytko, tak jak w przypadku tego panelu.


Nie sugerowałem się raczej tym, że w tym, a tym kraju są tak i tak znający się ludzie, bo to absurd - Bardziej chodziło mi o fakt że tam rozwój tego frameworka jest znacznie większy i prędzej tam znajdzie się odpowiedź niż tutaj.

Cytat
Mógłbyś. Żeby później na rozmowach kwalifikacyjnych nie przychodzili ludzie co chcą robić inicjacje obiektu.


Co ma piernik do wiatraka? Na rozmowach kwalifikacyjnych z tego co sam wiem, liczy się znajomość danego frameworka, a nie to czy znasz każdą jego linijkę od środka.

Nie za bardzo chcę mi się już spierać w tym temacie, bo szczerze i tak mało w tym sensu - Ty masz swoją rację, ja mam swoją.
Go to the top of the page
+Quote Post
irmidjusz
post 30.05.2012, 03:08:36
Post #15





Grupa: Zarejestrowani
Postów: 279
Pomógł: 60
Dołączył: 25.02.2012

Ostrzeżenie: (0%)
-----


Według mnie, czasami warto napisać własny FW (a przynajmniej można spróbować), ale żeby z tego wyszło coś rzeczywiście fajnego, to dobrze byłoby się zapoznać dogłębnie z kilkoma istniejącymi, sprawdzonymi rozwiązaniami smile.gif Tzn. poznać je od podszewki, dobrze zrozumieć architekturę kodu oraz możliwości i sposoby używania (pisania za ich pomocą złożonych aplikacji). Plus do tego przydałaby się porządna wiedza na temat programowania w ogólności oraz doświadczenie w projektowaniu i kodowaniu.

Cytat
Swój FW jest lepszy obojętnie jak działa, czy jest wydajniejszy, zawsze będzie lepszy bo został napisany przez Nas samych.


Sorry, ale za wiele razy miałem do czynienia z takimi "frameworkami" napisanymi przez ludzi, którym się wydawało, że są dobrymi programistami i że stworzyli super dzieło, a w rzeczywistości te ich "frameworki" to była kupa prymitywnego śmiecia na poziomie rozwoju programowania sprzed co najmniej 10 lat. Co najśmieszniejsze, większość wyjaśniała swoje decyzje o napisaniu własnego FW tym, że chcą mieć "lekki" system, a istniejące FW-ki są "za ciężkie" (co to za argument? za ciężkie do czego?), bądź, że chcą mieć własny FW. No to mieli. W rezultacie wszystkie te rozwiązania, z którymi się zetknąłem, nie miały nawet połowy (co ja piszę - chyba nawet 1/5!) możliwości dobrych, znanych FW, za to mnóstwo najróżniejszych ograniczeń, upierdliwych wad i dziwacznych, pokracznych rozwiązań programistycznych.

No ale to tak wygląda z mojego punktu widzenia (czyli kogoś, kto musiał - krócej lub dłużej - z takim systemem pracować); jeśli dla autora taki FW był OK, bo napisał go podług własnych potrzeb dla siebie samego, to w sumie wszystko OK i nie ma się do czego przyczepiać... Jak ktoś chce, niech pisze, i nikomu nic do tego. W końcu faktycznie technologia rozwija się dzięki tym, którzy tworzą nowe, innowacyjne rozwiązania.

Cytat
po jaką cholerę tworząc dla kogoś małą stronkę opartą o MVC mam kopiować kilkaset (kilka tysięcy?) plików, które wchodzą w skład Zenda?


Kopiowanie niepotrzebnych plików jest bez sensu, jeśli w czymkolwiek przeszkadzają, gdy siedzą sobie w katalogach. Ale jest na to rada - np. taki ZF to zbiór najróżniejszych, luźno ze sobą związanych bibliotek - do projektu wystarczy skopiować tylko te potrzebne, używane pliki smile.gif

A jeśli nie ma znaczenia, czy takie niepotrzebne pliki zostaną skopiowane, czy nie, to i problemu sensu/bezsensu ich kopiowania także nie ma, prawda?

Cytat
mam używać Zenda (czy innego gotowego FW) i nigdy nie wiedzieć, jak właściwie działa taki FW?


Ależ nic nie stoi na przeszkodzie, by poznać, jak on działa smile.gif

Go to the top of the page
+Quote Post
!*!
post 30.05.2012, 08:34:51
Post #16





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Cytat
Co nie oznacza, że trzeba je odstawiać na bok i pisać je od nowa.

A jakiś argument w końcu podasz, tak czekam i czekam... Tylko wymyśl coś innego niż "bo ktoś już to zrobił "lepiej" i sprawdziło to tysiące ludzi", błąd, ktoś to zrobił, sprawił że jest to popularne i używa tego tysiące ludzi, a śmiem wątpić że im się w 100% takie rozwiązanie nie podoba, wystarczy poczytać kilka wspomnianych "dev blogów", gdzie nie raz ktoś proponuje własne rozwiązania, choć ciężko je wprowadzić... klasa rozszerza klasę X, ta Y, jeszcze idzie kolejne rozszerzenie do Z... I tym sposobem mamy załadowanych 30 klas w dół, tylko p oto żeby coś zmienić, bo tak na prawdę mogłaby być tą jedną (oczywiście można to zrobić na 1, co kto lubi, tylko czy to wtedy będzie na pewno kompatybilne, różnie bywa). Nie czepiam się objętości plików zenda, czy wagi całego FW, to dzisiaj w zasadzie nie ma znaczenia, chyba że ktoś jest fanatykiem minimalizmu.

Cytat
Frameworka można w pewny sposób platformą, bo w końcu coś na czymś stoi. Poza tym sam sobie zaprzeczasz - Jak twój framework może być uniwersalny skoro piszesz go pod DANY PROJEKT.


A mógłbyś wskazać gdzie napisałem że tworzę go pod DANY PROJEKT?

Cytat
Sorry, ale za wiele razy miałem do czynienia z takimi "frameworkami" napisanymi przez ludzi, którym się wydawało, że są dobrymi programistami i że stworzyli super dzieło, a w rzeczywistości te ich "frameworki" to była kupa prymitywnego śmiecia


Jasne że tak, ba nawet może być to w moim przypadku, jak w Twoim, Dipter czy Twórcy Symfony. Każdy ma indywidualne podejście do tego co i jak robi. W całej tej dyskusji został pominięty jeden fakt... Skoro ktoś pisze FW, i nie jest on na licencji open source, to jakby nie patrzeć jest producentem tegoż FW i to w zasadzie wyklucza Kowalskiego programistę który nie zrozumiał X rzeczy w nim, chyba że zatrudniamy pracownika, ale wtedy dajemy mu czas na zapoznanie się ze szczegółami.

Cytat
Co ma piernik do wiatraka? Na rozmowach kwalifikacyjnych z tego co sam wiem, liczy się znajomość danego frameworka, a nie to czy znasz każdą jego linijkę od środka.


Mąkę? Bardzo dużo, bo wystarczy że Ci coś zlecę, użyję jakiegoś określenia to nie będziesz wiedział o co chodzi mimo że "znasz" ZF. Oczywiście zajrzysz w dokumentacje, a jak nie rozumiesz to w google...


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
tehaha
post 30.05.2012, 12:31:55
Post #17





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Wasza dyskusja za bardzo do niczego nie prowadzi bo właściwie to oboje macie rację tylko prezentujecie inny punkt widzenia. To czy warto pisać FW zależy od wielu czynników. Myślę, że główne kryteria w tym przypadku to wiek i tryb pracy tzn. freelancer vs praca zespołowa w firmie.

Jeżeli ktoś jest młody i dopiero się uczy to myślę, że warto napisać własny FW, bo to zaowocuje w przyszłości. Ale i tak przed pisaniem własnego FW dobrze jest poznać inne dostępne już frameworki i je przeanalizować chociażby po to, żeby podpatrzeć kilka fajnych rozwiązać i zobaczyć co się sprawdza. Ale to też zależy od człowieka, bo dla zdolnej osoby pisanie FW poskutkuje dużą wiedzą i doświadczeniem, a dla mało ogarniętej masą złych nawyków i dziurawym systemem, bo też już dużo wynalazków widziałem.

Natiomiast, jeżeli ktoś już ma trochę lat na karku i chce jak najszybciej podjąć pracę to pisanie własnego FW byłoby stratą czasu i odbiło by się bardzo nie korzystnie na: jakości projektów oraz na czasie realizacji. Na własny FW trzeba mieć dużo czasu i pierwsze jego wersje nie będą się nadawały do użytku.

W przypadku pracy w firmie w większym zespole wybranie gotowego FW ma bardzo dużo zalet;
- Przede wszystkim nie ma problemu, żeby kilka osób tworzyło jednocześnie projekt. Łatwo można się podzielić robotą i dużym atutem jest to, że FW przeważnie narzucają swoją architekturę, więc programiści skupiają się na tworzeniu logiki biznesowej i nie ma konfliktów typu, że każdy ma swoją klasę walidacji czy autoryzacji i jak to teraz połączyć. Łatwiej jest tworzyć jednolity projekt i go kontrolować.
- Nie ma problemu, żeby inny programista dokończył projekt, jeżeli pierwszy poszedł na L4, urlop, itp.
- Łatwo można włączyć kolejnych programistów do projektu, jeżeli realizacja się wydłuża, a termin co raz bliżej.
- Często też skrypt napisany na FW będzie łatwiejszy w rozbudowie i edycji dla programistów, którzy go nie pisali, jeśli znają ten FW.

Odnośnie jeszcze innych komponentów to czasami trzeba samemu coś napisać od podstaw z różnych powodów np. gotowe rozwiązanie nie spełnie założeń projektu, jest trudne w rozbudowie, nie wydajne, słaba dokumentacja lub jej brak, nie odpowiada naszemu stylowi programowania itd. To jest po postu kwestia indywidualna i każdy musi sam zdecydować co będzie dla niego lepsze w danym przypadku.

Tak na marginesie: śmieszni są dla mnie ludzie, którzy mówią "ja zawsze wszystko piszę sam" a potem patrzę na taki projekt i widzę: smarty, jQuery, edytor Wysiwyg, a dispatcher z książki przepisany itd. tongue.gif

Cytat
Co ma piernik do wiatraka?
Wiatrak się może rozpierniczyć biggrin.gif

Pozdro
Go to the top of the page
+Quote Post
Dipter
post 30.05.2012, 14:39:53
Post #18





Grupa: Zarejestrowani
Postów: 81
Pomógł: 14
Dołączył: 28.11.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cytat
A jakiś argument w końcu podasz, tak czekam i czekam... Tylko wymyśl coś innego niż "bo ktoś już to zrobił "lepiej" i sprawdziło to tysiące ludzi", błąd, ktoś to zrobił, sprawił że jest to popularne i używa tego tysiące ludzi, a śmiem wątpić że im się w 100% takie rozwiązanie nie podoba, wystarczy poczytać kilka wspomnianych "dev blogów", gdzie nie raz ktoś proponuje własne rozwiązania, choć ciężko je wprowadzić...


A właściwie to jest jakiś argument, który Cię zadowoli? Jak na razie zauważyłem, że pisać wszystko swoje i koniec kropka, bo to za ciężkie, to nie wydajne, to nie spełnia swych wymogów, a to zaś jest jeszcze zaprojektowane inaczej jakbyś chciał (Tutaj pytanie - A skąd masz pewność, że akurat twoje rozwiązanie jest dobre?). Co do tego iż jest popularne - Skoro ludzie w tym piszą, jest im wygodnie i ten framework im odpowiada tzn że jest on przereklamowany? Myślę że twoje założenia związane są właśnie z wcześniej wspomnianym CI lub Kohaną, które akuratnie dość dobrze zaprojektowane nie są (szczególnie ten pierwszy), co nie oznacza że nie spełniają swego zadania i za to plus.

Cytat
A mógłbyś wskazać gdzie napisałem że tworzę go pod DANY PROJEKT?


Cytat
dobrym rozwiązaniem przy budowie FW jest pisanie od razu jakiejś aplikacji w nim, np. CMSa wtedy wyjdą wszystkie błędy dość szybko.


Piszesz wszystko od razu pod CMS'a by to co ma się w nim znaleźć działało - A co jeśli przyjdzie napisać Ci coś innego?

Cytat
Mąkę? Bardzo dużo, bo wystarczy że Ci coś zlecę, użyję jakiegoś określenia to nie będziesz wiedział o co chodzi mimo że "znasz" ZF. Oczywiście zajrzysz w dokumentacje, a jak nie rozumiesz to w google...


No nie do końca, bo równie dobrze gdyby ktoś popatrzył na kod prostego warunku (mimo tego że nie zna składni żadnego języka) nie wiedziałby do czego to jest i co to w ogóle jest. Po co ktoś ma poznawać różne rozwiązania od środka jak nawet nie wie co z nimi zrobić na zewnątrz? - Jeśli ktoś nauczy się używać roweru to wtedy może spokojnie zbadać jak i z czego jest zrobiony i działa, bo niby po co ma robić na odwrót? Co mu to da?

Cytat
Wiatrak się może rozpierniczyć biggrin.gif


LOL tongue.gif

Ten post edytował Dipter 30.05.2012, 14:42:49
Go to the top of the page
+Quote Post
!*!
post 30.05.2012, 15:47:27
Post #19





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Kod
A właściwie to jest jakiś argument, który Cię zadowoli? Jak na razie zauważyłem, że pisać wszystko swoje i koniec kropka, bo to za ciężkie, to nie wydajne, to nie spełnia swych wymogów, a to zaś jest jeszcze zaprojektowane inaczej jakbyś chciał

Z pewnością jest i to wiele, tak samo jak dlaczego klasa X jest lepsza od Y, jeśli tylko dobra będzie argumentacja. Dlaczego uważasz że powinienem się męczyć z FW X który ma takie a nie inne podejście do projektowania które mi nie pasuje...
Cytat
Tutaj pytanie - A skąd masz pewność, że akurat twoje rozwiązanie jest dobre?

Bo to właśnie moje rozwiązanie tongue.gif A Ty skąd masz pewność że rozwiązanie w FW jest dobre?

Cytat
Co do tego iż jest popularne - Skoro ludzie w tym piszą, jest im wygodnie i ten framework im odpowiada tzn że jest on przereklamowany?

Nie.

Cytat
Piszesz wszystko od razu pod CMS'a by to co ma się w nim znaleźć działało - A co jeśli przyjdzie napisać Ci coś innego?

Na tym właśnie polega FW, jego budowa jest elastyczna, główny rdzeń pozostaje bez zmian, aplikacja z niego korzysta, i może mieć swoje moduły. Dlatego nie ma znaczenia czy będzie do CMS czy gra w przeglądarce z wykorzystaniem praktycznie tylko JS, bo obie aplikacje będą korzystać z głównego rdzenia FW. Nie napisałem nigdzie że jest to FW tylko pod CMS, a tylko że wygodniej jest pisać FW równolegle tworząc jakąś aplikacje, aby poznać zasady działania każdego komponentu.

Cytat
Jeśli ktoś nauczy się używać roweru to wtedy może spokojnie zbadać jak i z czego jest zrobiony i działa, bo niby po co ma robić na odwrót? Co mu to da?

To że jak mu odpadnie koło, to żeby wiedział że to nie wina bidonu.

Przykładem pisania czegoś swojego może być chociażby tutejszy formularz wysyłania postu... Zapewne są jakieś gotowe rozwiązania umożliwiające lepsze zarządzanie treścią przy długich wiadomościach... Przykładowo funkcja cytowania, można klikać w "cytat" ale trzeba przewijać stronę i ogólnie wielka niewygoda, ale załóżmy że mam czas, bo niby czemu nie i napiszę wtyczkę pod forum, które będzie cytować danych użytkowników w prostszy sposób, jakieś graficzne bajery tuż obok pola z tekstem np. śledząc akapity... Czy to znaczy że mam się męczyć z tym co jest, bo ktoś inny to napisał i "jest to dobre" ? Nie, siadam, piszę własny komponent i gra gitara.

Gdyby każdy tak myślał "po co tworzyć coś, skoro już to jest" to prawdopodobnie dzisiaj byś nie miał monitorów LCD czy plazmy na ścianie, a o takich wynalazkach jak ASP.NET czy D już nie wspomnę. I oczywiście byłaby jedyna słuszna przeglądarka, bez opery, chrome czy fx.

Ten post edytował !*! 30.05.2012, 16:00:34


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Dipter
post 30.05.2012, 17:49:58
Post #20





Grupa: Zarejestrowani
Postów: 81
Pomógł: 14
Dołączył: 28.11.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cytat
Bo to właśnie moje rozwiązanie tongue.gif A Ty skąd masz pewność że rozwiązanie w FW jest dobre?


Ponieważ w każdej aplikacji którą tworzę za każdym razem się sprawdza.

Cytat
Na tym właśnie polega FW, jego budowa jest elastyczna, główny rdzeń pozostaje bez zmian, aplikacja z niego korzysta, i może mieć swoje moduły. Dlatego nie ma znaczenia czy będzie do CMS czy gra w przeglądarce z wykorzystaniem praktycznie tylko JS, bo obie aplikacje będą korzystać z głównego rdzenia FW. Nie napisałem nigdzie że jest to FW tylko pod CMS, a tylko że wygodniej jest pisać FW równolegle tworząc jakąś aplikacje, aby poznać zasady działania każdego komponentu.


Widzisz, po to Zend, Symfony, Yii, Kohana czy jeszcze inny framework był pisany, byś mógł postawić na nim co tylko chcesz (stąd też spory zasób komponentów - które tak przerażają tych co wolą coś lżejszego co jest bzdurą, bo i tak nie wykorzystuje się wszystkiego dlatego nie ma prawie żadnego wpływu na wydajność.)
Ty twierdzisz, że dobrze pisać coś równolegle, widzisz framework to trochę jak system operacyjny - powinien być w pewien sposób uniwersalny, a pisząc go równolegle z projektem zaczyna być ułomny, bo jest przystosowany tylko i wyłącznie do niego.

Cytat
To że jak mu odpadnie koło, to żeby wiedział że to nie wina bidonu.


Tylko, że koło zazwyczaj samo z siebie nie odpada, dlatego pierw trzeba nauczyć się jeździć skoro wyskakuje taka sytuacja.

Cytat
Przykładem pisania czegoś swojego może być chociażby tutejszy formularz wysyłania postu... Zapewne są jakieś gotowe rozwiązania umożliwiające lepsze zarządzanie treścią przy długich wiadomościach... Przykładowo funkcja cytowania, można klikać w "cytat" ale trzeba przewijać stronę i ogólnie wielka niewygoda, ale załóżmy że mam czas, bo niby czemu nie i napiszę wtyczkę pod forum, które będzie cytować danych użytkowników w prostszy sposób, jakieś graficzne bajery tuż obok pola z tekstem np. śledząc akapity... Czy to znaczy że mam się męczyć z tym co jest, bo ktoś inny to napisał i "jest to dobre" ? Nie, siadam, piszę własny komponent i gra gitara.


Tu nie chodzi o to, że coś jest i już jest dobre, trzeba używać i koniec kropka - Po prostu chyba lepiej jest coś wziąć, przestudiować, sprawdzić czy pasuje i czy spełnia wymogi, a dopiero jeśli jest przeciwnie i ten framework czy jakieś narzędzie jest na NIE, wziąć kolejny i sprawdzać dalej? Jak już tak konkretnie nic nie odpowiada twoim kryteriom i odbiega od twojej ideologii tworzenia aplikacji to wtedy pisz już swoją maszynkę.

Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 08:48