Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 3.08.2017 Ostrzeżenie: (0%)
|
Witam
Napisałem prostą aplikację we framework'u Symfony 4.1. Chciałbym poddać ją Waszej ocenie. Czy może być tak napisana i co ewentualnie powinienem poprawić. Link do repozytorium jest tutaj: https://github.com/webeeq/sieciq.eeq I biblioteka do obsługi REST API: https://github.com/webeeq/sieciq Potem napisałem własny szkielet aplikacji w PHP 7.2. Wzorowałem go na framework'u Symfony. Starałem się, aby był możliwie najprościej napisany, by działał możliwie najszybciej. Link do SVN: https://github.com/webeeq/framework3.eeq Zastanawia mnie jedno. Symfony strasznie długo się prekompiluje (5-20 s). Potem działa dość szybko, ale moja aplikacja jest wiele razy wydajniejsza. Czy nie dyskredytuje to Symfony do używania przy projektach dla dużej rzeszy użytkowników? Czy nie lepiej jest wtedy napisać coś po swojemu? Pozdrawiam Robert |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 3.08.2017 Ostrzeżenie: (0%)
|
* za dużo logiki w kontrolerach. Tam powinno znajdować się jak najmniej. Logiki jest tyle, ile było niezbędne, aby wiadomości wyświetlały się nad formularzami. Da się obsłużyć błędy w klasach formularzy i potem tylko wyświetlić nad danym polem formularza lub całym formularzem. Jak wszystko jest ok i nie ma błędów, to wyświetlić stosowną podstronę z informacją. Tak byłoby prościej. Tylko w pierwowzorze strony miałem taki zamysł, aby wyświetlać komunikaty tylko nad formularzem. Że coś jest ok czy też źle i podświetlać odpowiednim kolorem. Dlatego akurat w tej aplikacji sprawdzam podstawowe błędy w klasie formularza i potem je zwracam w kontrolerze do zmiennej z komunikatami. Potem dodaję kolejne, jak wybrana została jakaś akcja i np. udało się coś zapisać do bazy lub nie. Gdy udało się wysłać email lub nie. Potem obudowuję to w html i wyświetlam nad formularzem na stronie. Czyli jak postępować w przyszłości? Tak skonstruować klasy formularzy, aby obsłużyć w nich wszystkie informacje o błędach, gdy spełnione są odpowiednie warunki? Jak nie ma błędów, to tylko wykonać zapis do bazy danych i przekierować na stosowną podstronę z komunikatem? * komunikaty wiadomości email do wysłania w kontrolerach. Przenieś to do szablonu i tam ładnie formatuj przed wysłaniem. Czyli w zależności od akcji tylko wysłać email'em stosowną podstronę html z komunikatem? Teraz jest tak, że wszystkie komunikaty obsługuje jeden szablon. Przekazywane są do niego tylko dane o nadawcy, odbiorcy, temat, wiadomość... Faktycznie. Można to zrobić prościej. * źle zaprojektowane encje Tu nie rozumiem... Generuje się z nich baza MySQL, jak chciałem. Tabele są odpowiednio powiązane. Gety i sety wygenerowały się automatycznie. Na to nie mam wpływu. OK. Zrobię nową wersję strony z odchudzonymi kontrolerami i pokarzę do oceny. |
|
|
|
eerie [Symfony] Symfony 4.1 vs Framework3 1.08.2018, 10:24:04
kallosz tak na szybko
* za dużo logiki w kontrolerach. Tam... 1.08.2018, 12:11:24
kallosz CytatTu nie rozumiem... Generuje się z nich baza M... 2.08.2018, 18:44:05
sabat24 CytatNo i to jest błąd.
Uważasz to za błąd w ogóle... 3.08.2018, 10:00:38
kallosz Błąd niezależnie od przypadku. Myślenie o tym że e... 3.08.2018, 12:18:19
sabat24 Chodzi mi raczej o to, że myślenie podejściem Data... 3.08.2018, 17:28:49
eerie Ja zastosowałem podejście "Code First". ... 4.08.2018, 13:02:54
memory poczytaj o:
- dependency injection
- o autoryzacji... 5.08.2018, 16:52:26
eerie Poprawiłem obsługę błędów formularzy, żeby było, j... 7.08.2018, 17:45:56
robert0770 jak poczytasz o dependency injection to będziesz w... 9.08.2018, 07:59:10
vokiel Cytat(eerie @ 7.08.2018, 18:45:56 ) L... 9.08.2018, 20:48:14
Pyton_000 w php jest to password_hash i w przypadku PHP7 arg... 9.08.2018, 21:23:23
eerie Cytatjak poczytasz o dependency injection to będzi... 19.08.2018, 12:25:50
Pyton_000 Middleware twoim kluczem jest. 21.08.2018, 07:04:35
eerie Rozwiązałem to inaczej:
http://symfony.com/doc/cu... 21.08.2018, 16:48:36
Pyton_000 Autoryzacja w evencie? Słaba opcja. Jako Middlewar... 22.08.2018, 11:30:24
eerie Cytat(Pyton_000 @ 22.08.2018, 12:30:2... 7.09.2018, 06:18:56 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 08:51 |