Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [framework] oparty MVC, kod w fazie dev..
splatch
post
Post #1





Grupa: Zarejestrowani
Postów: 487
Pomógł: 7
Dołączył: 7.01.2004
Skąd: Warszawa

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


Będę wdzięczny za oceny, opinie i uwagi odnośnie kodu frameworka - http://framework.dywicki.pl (przykładowy webapp w katalogu Example).

Ten post edytował splatch 13.02.2006, 08:46:49
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
sf
post
Post #2





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


Kod ładny. Teraz pytanie jak się sprawdzi przy pisaniu aplikacji (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
splatch
post
Post #3





Grupa: Zarejestrowani
Postów: 487
Pomógł: 7
Dołączył: 7.01.2004
Skąd: Warszawa

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


Któryś raz z kolei widzę taką odpowiedź.. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) , problem w tym, że kod jest mocno rozgrzebany (mimo, że być może bardzo tego nie widać), co uniemożliwia napisanie aplikacji, do tej pory nie rozwiązałem też problemu z widokami, a jeszcze większym destruktorem kodu jest pojawianie się nowych koncepcji. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
sf
post
Post #4





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


Tu też pojawia się problem z analizą. Np. przydałyby się jakieś schematy UML.

Np. w DatabaseManage widzę coś takiego w konstruktorze jak : ServiceLocator - nie umiem tego znaleźć, gdzie to jest zdefiniowane, albo ReflectionClass.

DatabaseManager ma przechowywać obiekty klasy PDODatabase? Jeśli nie to jaki jest jego cel?

Osobiście wolałbym stworzyć PDODatabase jako singleton dziedziczący po PDO. W metodzie getInstance jako argument podawałoby się DSN. Aktualnie zwracasz obiekt PDO... gdybś to zrobił tak jak ja podałem mógłbyś np. dodać obsługę logowania wykonywanych zapytań, albo liczenie czasu wykonania poszczególnego zapytania.

Co do widoku.. kiedyś chciałem to zrobić globalnie, ale w pewnym momencie zdecydowałem się, że klasa odpowiedzialna za widok jest tworzona w samej akcji.. to akcja decyduje co i w jaki sposób zostanie wyświetlone. Jest to dość elastyczna metoda.
Go to the top of the page
+Quote Post
splatch
post
Post #5





Grupa: Zarejestrowani
Postów: 487
Pomógł: 7
Dołączył: 7.01.2004
Skąd: Warszawa

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


DatabaseManager pełni funkcję fabryki tzn - tworzy obiekty, nie ważne jakiego drivera, czy PDO czy AdoDB czy czegoś innego. Moim celem nie jest pisanie kolejnej abstrakcji. DatabaseManager nie interesuje się implementacją, logowaniem etc. ponieważ jest niezależny od ado. Mam na to troszkę inną koncepcję, ale postaram się to rozważyć i przemyśleć.

Akcja decyduje tylko połowicznie o widoku. Chcę rozwiązać problem tak by można było zmieniać format outputu bez ingerencji w kod akcji. Jestem na dobrej drodze by to zaimplementować, gdy to zrobię uporządkuję, udokumentuję kod i wydam wersję stable.. z przykładami (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Przykład zmiany outputu:
http://foo.bar/Module/Action.form - zwykły html
http://foo.bar/Module/Action.form.pdf - pdf
http://foo.bar/Module/Action.form.xsl - excel
Dla niestandardowych typów wyników trzeba oczywiście dopisać klasy pośredniczące, ale wystarczy dorzucić plik z tą klasą i framework automatycznie dopuszcza możliwość wygenerowania powiedzmy PDFa, bez niepotrzebnego tworzenia i powielania akcji.
Go to the top of the page
+Quote Post
sf
post
Post #6





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


Właśnie sam miałem problem w przypadku gdy chciałem zmienić rodzaj outputu np. na plik pdf. Do dziś nie wiem jak to ładnie zrealizować, dlatego zrobiłem tworzenie widoku w akcji..
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 17:42