![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 16.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam, wczoraj starałem się stworzyć swój pierwszy framework w PHP, lecz napotkałem kilka problemów. Z racji, że nie jestem profesjonalistą proszę o wyrozumiałość. Od razu chcę zaznaczyć, że jeśli ktoś chce napisać posta w stylu: "wyjdź z tym i idź się ucz symfony/cakephp" to proszę, aby się nie fatygował bo po prostu to zignoruje. Chce budować aplikacje na własnym silniku, który bardzo dobrze znam i mogę go dowolne rozbudować itp. Poza tym mam też inne powody, których nie będę tutaj opisywał. Chce po prostu używać swojego i tyle.
Zrobiłem go na takiej zasadzie: struktura folderów i plików:
Plik .htaccess - zadanie kierowania wszelkiego ruchu do index.php:
Plik index.php - załączenie frameworka z innego katalogu:
system/_init.php - główny plik frameworku:
system/Dispatcher.php - przetwarza ścieżkę wpisaną przez usera:
system/Model.php - plik pusty, jeszcze nic tam nie wrzuciłem. system/Database.php - sterownik bazy danych.
system/Autoloader.php - ładuje biblioteki z folderu:
lib/debugClass.php - liczy jak długo parseruje się dana klasa:
contollers/index/Controller.php - plik kontrolera index:
Prosiłbym o rady takie, które odpowiedzą mi na pewne pytania: - Czy dobrze zbudowałem cały framework? Coś powinienem zmienić? - Mam taki problem, że gdy chce np. wykonać akcje localhost/index/debug to dostaje błąd, że $debug nie jest obiektem. Wiem o tym, ale jak stworze go na nowo, to nie będzie miał już tej tablicy z danymi. Jak to rozmwiać? - Inne uwagi według własnego uznania mile widziane. Ten post edytował pajaa1981 16.01.2011, 17:35:14 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Czy dobrze zbudowałem cały framework? Coś powinienem zmienić? Fatalnie. Kompletny brak elastyczności, używanie przestarzałych mechanizmów, maskowanie błędów, kompletnie nielogiczny kod ("Debug" odpowiada za wczytywanie plików, wtf?), jakieś śmieci typu getMicrotime() - przyjrzyj się dokładniej funkcji microtime, nie przestrzegasz konwencji nazewnictwa, korzystasz z przestrzeni globalnej (jak rozpoczynasz teraz pisanie czegoś to PHP5.3 powinno być bazową platformą).Pisanie własnego frameworka jest uzasadnione chyba tylko w dwóch przypadkach: 1. Gdy piszesz go w celu edukacyjnym. 2. Gdy istniejące rozwiązania po prostu nie sprawdzą się w danym projekcie. I nie pisz o tym, że chcesz znać go dogłębnie, bo przestudiowanie źródeł istniejących projektów jest o wiele szybsze niż tworzenia wszystkiego od podstaw. I kto Ci broni rozbudowywać istniejące projekty? Poza tym niezależnie jaki będzie Twój powód dla stworzenia swojego rozwiązania trzeba najpierw porządnie poznać kilka innych projektów tego typu, zobaczyć jak działają, przekonać się jakie są ich mocne i słabe strony (by nie powielić tych samych błędów u siebie). Na chwile obecną to co prezentujesz nie nadaje się kompletnie do niczego. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 16.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
W takim razie co proponujesz? Dodam, że chodzi mi o framework, który nie będzie posiadał zbędnych funkcji. Potrzebuje czegoś pod tworzenie gier przeglądarkowych. Kupiłem książkę "Symfony aplikacje internetowe w praktyce", ale ta książka wydaje się przestarzała - Symfony od tego czasu się zmieniło i korzysta z Doctrine, a tam jest wszystko oparte o Propel. Jeśli znasz jakiś framework z którym poradzi sobie początkująca osoba taka jak ja, to bardzo proszę Cię o pomoc.
Ten post edytował pajaa1981 16.01.2011, 19:10:31 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 19:38 |