![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 225 Pomógł: 18 Dołączył: 30.06.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Wiem że to kolejny temat z serii "zaczynam, pomocy!", ale...
Zaczynam pisać CMS'a na razie nazywa się w3cms, ale to może ulec zmianie. Wszystko jest w fazie projektów: Założenia
To tak w skrócie. Układ katalogów Kod / ---- katlog główny, tylko index'y i pliki apache (.htacces) /lib -- pliki klas /lib/dao/*/ -- wiadomo;) /lib/control/*/ -- obiekty do obsługi zdarzeń /etc/baseSystem -- konfiguracja podstawowa (można ew ustalić inne położenie, poza public_html /etc/*/ -- jeżeli modół ma własny plik konfiguracji to tutaj, gdzie * nazwa modułu /share -- pliki modułów, nie php /share/locale/kod_języka/ -- tłumaczenia, zastanawiam się nad rozwiązaniem /share/*/ -- jeżeli np galeria, to jej zdjęcia /var/*/ -- pliki dodtakowe modułów, np logo, licencja, info o autorach, screen itd. /dev/*/ -- widoki (np /dev/html, /dev/ajax/,/dev/pdf) /proc -- base system /home/ -- opcjonalnie, jeżeli użtkownicy mają możliwość przechowywania własnych danych ( kocham linux'a ![]() Przykład działania
To tylko zarys. Mam nadzieję że nie popełniłem jakiś straszliwych błędów. Odrazu też zadam kilka pytań.
-------------------- |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 442 Pomógł: 0 Dołączył: 27.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Czy jest jakiś prosty sposób na odczytywanie plików .po albo .mo w php? Jest Babel Cytat Czy warto postawić np w warstwie abstrakcji baz danych na jeszcze jedną (adoDB-chyba jakos tak, nie pamiętam) Warto ORM'a (najlepiej opartego na PDO), np. Propela Cytat # Powinienem użyć np SVN, czy lepiej odrazu pisać i olać kontrolę wersji? - pewnie będe pisał sam # Jakieś sugestie? Wątpie żeby ci się udało tak od ręki, napisać łatwego w rozbudowie, modularnego CMS'a. Zainteresuj się UML'em. Ja tam wolę używać kontroli wersji, ale kto co lubi ![]() |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 225 Pomógł: 18 Dołączył: 30.06.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
"Od ręki" to nie bardzo. Nad CMS'em myslę od dłuższego czasu. I bawię się UML'em rozważając różne scenariusze. Chodzi mi o to żebym miał wygodne narzędzia do składania portalu (baseSystem), a przy tym zachować jakąś wspólną, w miarę zrygoryzowaną strukturę nie tracąc przy tym zbytnio na elastyczności.
-------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 634 Pomógł: 14 Dołączył: 27.05.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Cytat System ma sie operać na zdażeniach CMS oparty na zdarzeniach to nie jest dobry pomysl, dlatego w ASP.NET ciezko pisze sie CMS-y bo jest oparty na eventach, zdarzenia sa dabre to aplikacji gdzie jest duzo formularzy, i innych bajerow, w cms-ie to jest praca z trescia w kturej watpie zeby byly zdarzenia, a druga sprawa to w zdarzeniach ciezko jest "dokladnie" obugiwac requesty usera w cms-ie |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 225 Pomógł: 18 Dołączył: 30.06.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Ja chciałem troche inne podejście. W sensie zdarzenie rozumiem obiekt(specjalnej klasy) w którym zawarte są informacje takie jak jaki widok, lub kontroler zdarzenie podrzędne. Np. dostanę POST lub GET żądanie dodania artykułu:
Przy okazji mam kolejne pytanie. Czy będzie zgodne z MVC, to że dane przychodzące validuje kontroler. I drugie: logiczne jest dla mnie, że tak naprawdę do jednego modelu jest jeden kontroler który komunikuje się z nim bezpośrenio. I tu tez nie jestem pewny co do zgodności z MVC :/ P.S. Sorry za błedy ![]() -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Hm, a ja proponuje inna strukture:
lib/ - biblioteki, ktore mozna tez uzywac w innych aplikacjach aplikacja/ - tutaj sa moduly, akcje oraz cache ( oczywiscie zakaz dostepu na ten katalog ) web/ - templaty, obarazki, css, js silnik/ - tutaj jest caly framework, ktory zarzadza aplikacja i wywoluje to co jest w app... app wywoluje to co jest w web i lib -------------------- Zapraszam na mój php blog, tworzenie stron.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków ![]() |
Ja mam tak:
./kernel - framework ./lib - dodatkowe biblioteki ./web - widoki ./share - konfiguracja modułów ./modules - akcje |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
A ja mam
./includes - klasy i pakiety ogolnego zastosowania np. Request, Ado (np. PDO lub ADOdb), Dto, Templates (np. Smarty), Dispatcher, Tree, Session itd. ./modules - moduly skladajace sie na calosc mogace jednoczesnie byc samodzielnymi aplikacjami np. News, Articles, Calendar, Catalog, Gallery Uklad podkatalogow w powyższych zalezy juz od danego pakietu. Kazdy pakiet ma swoj plik inicjalizujacy ktory jest odpowiedzialny za dolaczenie odpowiednich klas lub ustawienia konkretnych zmiennych potrzebnych do dzialania danego zbioru. W kazdym razie uchwyty zdarzen czy szablony znajduja sie wylacznie w katalogu modules. Zawartosc katalogu inkludes jest bardziej abstrakcyjna. Idea klas tam zgromadzonych jest taka aby wszystko co mozliwe bylo wymienne - oczywiscie po napisaniu odpowiednich klas oslonowych zgodnych z domyslnymi interfejsami. Uzywam zdarzen przy czym jako zdarzenie rozumiem np. wydanie polecenia DisplayNews -------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 09:15 |