Prośba o code review - chat napisany w Symfony

0

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 ;)

1

Nie piszę w PHP, ale rzuciłem okiem na przykład. Błędy:

  • screenshot-20170925131617.png
  • brak HTTPS przy rejestracji (nie wiem jak logowanie) - hasło można podejrzeć zwykłym snifferem
  • screenshot-20170925131903.png Troszku się rozjechało

Poza tym layout trochę ascetyczny, ale nawet przyjemny.

1
  1. Wywal folder .idea z repo
  2. Dlaczego masz w encji message userId oraz userInfo?
  3. Metoda createArrayToJson - zwraca arraya - to co w nazwie robi JSon?
  4. O tym czy wiadomość jest skasowana mówi jej treść? - w repository na podstawie tego pobierasz. Nie lepiej jest dać flagę is_deleted?
  5. Co się stanie jak wielokrotnie wywołam metodę addOnlineUserAction z securityControllera?
  6. 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;
    }

1 użytkowników online, w tym zalogowanych: 0, gości: 1