Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 3.08.2017 Ostrzeżenie: (0%)
|
Od 2015 r. uczę się programować obiektowo w PHP. Przez ten czas napisałem kilka własnych aplikacji. Ostatnią pod koniec 2024 r. Gdy ją skończyłem, doszedłem do wniosku, iż na jej podstawie mogę utworzyć własny PHP Framework. Stworzyłem go w dwa dni i jest bardzo prosto napisany. Tak prosto, że trochę wstydzę się go pokazywać do oceny. Nadaje się do tworzenia ultra lekkich stron i prostych Systemów Zarządzania Treścią. Wszystkie najważniejsze pliki znajdują się w "src/Core". Framework jest oparty na architekturze SOA (architektura zorientowana na usługi). Budowa systemu katalogów przypomina Symfony, na którym się wzorowałem. Bez problemu da się w nim instalować biblioteki przy użyciu Composer'a. Prosiłbym o ocenę... (IMG:style_emoticons/default/smile.gif)
|
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 |
Cytat Jak zauważyłeś, stworzyłem ten framework głównie dla siebie, aby łatwo tworzyć nowe projekty. Tez tak kiedys myslalem, tez kiedys stworzylem swoj wlasny zajebisty i mega szybki framework. Napisalem na nim nawet pare projektow i bylem zajebiscie dumny.... Jakby mi teraz ktos kazal znowu zaczac w tym pisac to bym sie chyba zastrzelil. To byla tylko strata czasu. W to miejsc trzeba bylo sie uczyc znanych FWs. Taki wlasny FW raz ze jest mega ubowi, dwa ze jak niedaj boze ktos bedzie chcial cos z toba robic to musi sie tego nauczyc, a dwa ze jak bedziesz chcial pojsc do pracy i pracowac z innymi devami to bedziesz sie musial uczyc tego co juz dawno znac powinienes. Wiec jak juz bardzo chcesz cos takieg pisac, to tylko w ramach nauki/eksperymentow. Niestety zostajeszz w tyle uzywajac tego. Co do kodu: to brawa ze jedziesz na najnowszym php (choc chyba nie do konca skoro nie korzystasz z "private readonly" w konstuktorze), kod jest w miare czytelny. W miare dobrze sie to czyta. Zas co do krytyli (pomijajac to co juz napisano) 1) Takie cosiki $array = $mainPageService->mainPageAction(....); return $array; Sie poprostu robi tak: return $mainPageService->mainPageAction(....); Dodatkowa zmienna jest tu zbedna 2) Moze przegapilem, ale nie widze by dla strony mozna bylo wybrac inny szablon niz tylko main. Nie mowie o srodku strony, tylko o calym szablonie na cala strone 3) Brakuje mi w konstruktorze kontrolera by dzieidziczyl po jakims abstrakcyjnym kontrolerze ktory by dodawal na dzien dobry stala funkcjonalnosc 4) Tworzenie w kazdej akcji kontrolera tego non stop $html = new Html(); $csrfToken = new Token(); jest troche nieteges. Ciagla duplikacja tego samego kodu 6) Osobiscie strasznie nie lubie zbednych zagniezdzen np public function prepareError(?array $array): string { $error = ''; if (is_array($array)) { foreach ($array as $key => $value) { $error .= htmlspecialchars($value) . '<br>'; } $error .= "\n"; } return $error; } powinno wygladac tak public function prepareError(?array $array): string { if (!is_array($array)) { return ''; } $error = ''; foreach ($array as $key => $value) { $error .= htmlspecialchars($value) . '<br>'; } $error .= "\n"; return $error; } Dodatkowo wymuszasz tu jak ma wygladac struktura html bledu. A co jesli bym chcial miec UL LI zamiast BR ? W przypadku braku bledu to powinno poza tym zwracac NULL a nie pusty text. W innych miejscach dodajac error, laczysz je w string z nowa linia, potem robisz explode po nowej linii by zwrocic ARRAY... NIe lepiej od razu poprostu trzymac to w array? Taka robota do niczego , juz nie wspomne jak ktos bedzie chcial dodac wlasny error z nowa linia w srodku. 7) W Query nie bardzo kumam tej logiki public function setParameter(string $search, $replace): self { if ($replace === false) { $replace = '0'; } jak replace false, to zmien na 0. 8) public function dbFetchArray($result): ?array { return mysqli_fetch_assoc($result); } fetch_assoc moze zworic false, twoj kod tego nie uwzglednia i normalnie w swiecie sie wywali w takim przypadku 9) Brakuje interfejsow by ta funkcjonalnosc byla troche bardziej rozszerzalna a nie taka sztywna struktura 10 Brak testow Wiecej juz mi sie nie chce patrzec (IMG:style_emoticons/default/wink.gif) Generalnie jak mowilem, fajnie ze probujesz, ale to powinno byc tylko w ramach praktyki/testow. No chyba ze jestes juz super specem od Symfony czy czegos innego. Tylko jesli tak, to czemu nie uzywac tego (symfony)? Rownie szybko sie pisze - jak nie szybciej. |
|
|
|
eerie Prosty i ultra lekki PHP Framework 21.01.2025, 16:04:11
phpion Ogólnie fajnie, że Ci się chciało tworzyć coś włas... 22.01.2025, 17:21:57
eerie Jak zauważyłeś, stworzyłem ten framework głównie d... 23.01.2025, 13:24:08
eerie Symfony ma całą masę plików i bardzo długo się pre... 23.01.2025, 17:38:23
nospor Cytati bardzo długo się prekompiluje.
Co masz na m... 23.01.2025, 17:51:47
Tomplus W ogóle, dlaczego nie używasz composera?
DLa włas... 23.01.2025, 18:03:33
eerie Przysiadłem wczoraj, aby zacząć to poprawiać. I ma... 18.02.2025, 18:28:00 
Piterr9 Cytat(eerie @ 18.02.2025, 18:28:00 ) ... 20.02.2025, 21:19:35
nospor CytatMój problem jest taki, że za bardzo nie wiem,... 19.02.2025, 10:29:22
eerie CytatMoże być, ale wtedy użytkownicy staną się tes... 24.06.2025, 20:54:23
Tomplus @eerie
Tak po za projektem.
Aby mieć tutaj na for... 26.06.2025, 21:58:28
eerie Dobra uwaga. Sprawdzę... Dzięki wszystkim za pomoc... 27.06.2025, 11:19:05 ![]() ![]() |
|
Aktualny czas: 6.11.2025 - 17:17 |