DbM Framework - Autorska aplikacja frameworka opartego na wzorcu MVC |
DbM Framework - Autorska aplikacja frameworka opartego na wzorcu MVC |
20.12.2023, 21:40:29
Post
#1
|
|
Grupa: Zarejestrowani Postów: 529 Pomógł: 6 Dołączył: 21.07.2008 Ostrzeżenie: (0%) |
Witajcie,
miałem chwilę i usiadłem do autorskiego frameworka opartego na wzorcu MVC. Chciałbym go dopracować, utworzyć wersje stabilną. Kod frameworka jest dostępny pod adresem: https://github.com/artimman/dbmframework Zakończyłem pierwszy test aplikacji na serwerze zdalnym - powodzeniem. Wydaje się, że już jest całkiem Ok i ciekawe, czy ktoś się ze mną zgodzi? -------------------- I welcome you on the Internet >>> Design by Malina
|
|
|
12.02.2024, 20:27:50
Post
#2
|
|
Grupa: Zarejestrowani Postów: 529 Pomógł: 6 Dołączył: 21.07.2008 Ostrzeżenie: (0%) |
1. Czyli w Twoim przypadku poprawne będzie skorzystanie z takich wywołań: 2. A to czy "aplikacja działa ok", bez podania ostatniego parametru w metodzie, powinno wyjść przy testach, które pewnie napisałeś? 1. Jasne, tylko po co w każdym wywołaniu metody pisać (dodawać false/true) $this->database->queryExecute($query, [':limit' => $limit], false); ? jeśli tak jest krócej i prościej $this->database->queryExecute($query, [':limit' => $limit]); kiedy mimo, że rzadko się tak robi w interfejsie można dać: public function queryExecute(string $query, ?array $params = [], bool $reference = false): bool; nie public function queryExecute(string $query, ?array $params = [], bool $reference): bool; i jest ok. 2. Dla testów dodałem ExampleTest.php wywołałem "composer test", aby sprawdzić czy działają i jest OK (1 test, 1 assertion), czyli testować też można. Natomiast jeżeli chcesz mnie nauczyć pisania testów to możemy zrobić kolejny test np. DatabaseTest.php, ale to nie będzie takie proste. No kto pisze testy ale pewnie, że byłoby warto coś przetestować. Może jakieś pomysły jak powinien wyglądać idealny seo friendly link dla przykładowego z końcówką .html /art_5_present-eusmod-grvd-lbero-luctus-ns-fermentum-nec.html - z podkreślnikiem nie za bardzo wygląda, a ze slasem jest kłopotliwy ? Wydawało się, że przecinek będzie zgodny z seo podobnie jak kropka, ale jak się okazuje, przecinek nie, więc jak by to zrobić.. Robiłem kiedyś split testy i wyszło, że największa klikalność była dla linków z końcówką typu domain.com/key-word-etc.html a 10 % więcej potencjalnych klientów, może oznaczać że zamiast zarabiać 100 mamy 110, 1000 -> 1100, 10 000 -> 11 000 zł, więc spora różnica na plusie. Przydałaby się konstrukcja linków, w które klikamy bez opamiętania i nie trzeba używać słów typu: best-sex-in-life.html Ten post edytował Malinaa 12.02.2024, 22:01:38 -------------------- I welcome you on the Internet >>> Design by Malina
|
|
|
13.02.2024, 11:34:58
Post
#3
|
|
Grupa: Zarejestrowani Postów: 357 Pomógł: 70 Dołączył: 15.07.2014 Ostrzeżenie: (0%) |
1. Jasne, tylko po co w każdym wywołaniu metody pisać (dodawać false/true) $this->database->queryExecute($query, [':limit' => $limit], false); ? jeśli tak jest krócej i prościej $this->database->queryExecute($query, [':limit' => $limit]); kiedy mimo, że rzadko się tak robi w interfejsie można dać: public function queryExecute(string $query, ?array $params = [], bool $reference = false): bool; nie public function queryExecute(string $query, ?array $params = [], bool $reference): bool; i jest ok. Przyjęło się - i takie też są zalecenia - że ergumenty metody z domyślną wartością lądują na końcu. A nic nie staje na przeszkodzie, żeby Interface wyglądał po bożemu: A klasa, która go implementuje wyglądała tak: Demo: https://3v4l.org/00aAp 2. Dla testów dodałem ExampleTest.php wywołałem "composer test", aby sprawdzić czy działają i jest OK (1 test, 1 assertion), czyli testować też można. Natomiast jeżeli chcesz mnie nauczyć pisania testów to możemy zrobić kolejny test np. DatabaseTest.php, ale to nie będzie takie proste. No kto pisze testy ;) ale pewnie, że byłoby warto coś przetestować. Kto pisze testy? Przedewszystkim twórcy frameworków. Polecam podejście TDD. Znacznie mniej kodu się produkuje i - prawie - od razu wchodzisz w SOLIDy kod. Ten post edytował Salvation 13.02.2024, 11:35:17 |
|
|
14.02.2024, 15:21:12
Post
#4
|
|
Grupa: Zarejestrowani Postów: 357 Pomógł: 70 Dołączył: 15.07.2014 Ostrzeżenie: (0%) |
dlaczego kiedy zmienię interfejs na bez false: public function queryExecute(string $query, ?array $params = [], bool $reference): bool; w Visualu świeci na czerwono? Przyjęło się - i takie też są zalecenia - że argumenty metody z domyślną wartością lądują na końcu. Jak zrobisz to w ten sposób co proponujesz, to `$params` będzie required (choć kod na to nie wskazuje), więc jak podasz tylko dwa argumenty w wywołaniu, to otrzymasz błąd w IDE. Ale widzę, że już Viking mnie uprzedził :D Mam wrażenie też, że nie do końca ogarniasz OOP. Dlaczego uparłeś się mieć wartości domyślne w Interface? |
|
|
Wersja Lo-Fi | Aktualny czas: 25.05.2024 - 12:06 |