Proszę o code review, jest to moja druga aplikacja napisana w Symfony.
Jest to prosty chat, początkowo miałem używać w nim PHP 7.1, ale ostatecznie musiałem użyć wersji 7. (Jedyna różnica to, że stałe w konfiguracji byłyby zapisane jako private)
chat
Starałem się napisać go najlepiej jak potrafię i nie popełniać tych samych błędów co przy pierwszym projekcie, ale na pewno jakieś uwagi ktoś znajdzie.
Z góry dzięki ;)
0
1
Nie piszę w PHP, ale rzuciłem okiem na przykład. Błędy:
- brak HTTPS przy rejestracji (nie wiem jak logowanie) - hasło można podejrzeć zwykłym snifferem
- Troszku się rozjechało
Poza tym layout trochę ascetyczny, ale nawet przyjemny.
1
- Wywal folder .idea z repo
- Dlaczego masz w encji message userId oraz userInfo?
- Metoda createArrayToJson - zwraca arraya - to co w nazwie robi JSon?
- O tym czy wiadomość jest skasowana mówi jej treść? - w repository na podstawie tego pobierasz. Nie lepiej jest dać flagę is_deleted?
- Co się stanie jak wielokrotnie wywołam metodę addOnlineUserAction z securityControllera?
- W ww. metodzie posługujesz się metodą getUser() - to jakaś domyślna metoda? (nie robię często przy SF)
1
createArrayToJson() ma rzeczywiście niefortunną nazwę. Dodatkowo ta w Message Entity nie jest najlepiej zrobiona. 5 z 7 elementów tej tablicy ma takie same wartości. Nie ma potrzeby pisania ich dwa razy. Dodatkowo ten warunek if ($textSplitted[0] == '/delete')
też najlepiej nie wygląda.
W MessageRepository::getIdFromLastMessage() użyłeś getResult() dlaczego nie getSingleResult? W tym samym pliku operacje na dacie mógłbyś przenieść do czegoś osobnego (może trait?) rzuca się w oczy, że jeszcze się to przyda w tym pliku i szkoda się tak powtarzać.
1
Xss,
niepotrzebne komentarze np.
class AdminPanel
{
/**
* AdminPanel constructor.
*
* @param EntityManagerInterface $em
*/
public function __construct(EntityManagerInterface $em)
{
$this->em = $em;
}