![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 544 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
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 544 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 ![]() 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
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 361 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 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 361 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: 20.06.2024 - 00:04 |