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
|
|
|
19.02.2024, 20:34:23
Post
#2
|
|
Grupa: Zarejestrowani Postów: 529 Pomógł: 6 Dołączył: 21.07.2008 Ostrzeżenie: (0%) |
Używam, choć przyszedł mi na myśl inny system szablonów. Jakiś gotowiec! Ciekawe, który by się tu nadawał najbardziej?
1.W tym pliku może pominę typowanie argumentów dla funkcji function htmlUser($database, $sessionUserId, $module = null): string {} wówczas nie trzeba dodawać 'use' co wygląda tu lepiej. Kod prawie posprzątany, zostało zapytanie: 2. Czy można tu w zapytaniu użyć "SELECT roles FROM dbm_user WHERE id = ?" czy bezpieczniej będzie "SELECT roles FROM dbm_user WHERE id = :id". Jak to jest z :id lub znakiem zapytania w zapytaniu, czy tak samo bezpieczne? Kod public function userPermissions(int $id): ?string { $database = $this->database; $query = "SELECT roles FROM dbm_user WHERE id = ?"; // TODO! Jak to jest z :id lub znakiem zapytania, czy tak samo jest bezpieczne? ... } 3. Problem powstały przy napisaniu interfejsów. Jakby to zapytać możliwie najkrócej, które rozwiązanie wybrać. Czy w Kod class BlogModel { private $database; public function __construct(DatabaseInterface $database) { $this->database = $database; } można wstrzyknąć: public function __construct(Database $database) klasę nie interfejs i będzie Ok? Po tej zmianie można tez zmienić metody w interfejsie na pożądane, czyli bez wartości public function queryExecute(string $query, ?array $param, bool $reference): bool; zamiast public function queryExecute(string $query, ?array $params = [], bool $reference = false): bool; i jest czysto, bez błędów. Natomiast jeżeli ma być DatabaseInterface $database w modelach to interfejsy zostają z wartościami, bo nie wiem jak inaczej całość pogodzić. Z tego co przejrzałem kod są to 3 ostatki do poprawienia oznaczone TODO i powinno być OK. Bynajmniej na ten czas, no chyba, że przyjdzie pomysł na dalszą rozbudowę Ten post edytował Malinaa 19.02.2024, 21:03:57 -------------------- I welcome you on the Internet >>> Design by Malina
|
|
|
Wersja Lo-Fi | Aktualny czas: 28.05.2024 - 02:53 |