2013-06-17 13 views
5

Refer: Jak nazwać zmienne w Laravel & PHP.Nazwy zmiennych w Laravel

$ firstName lub $ first_name?

$ userid lub $ userId lub $ user_id?

+1

Często zadawane i dyskutowane pytanie. Moim zdaniem, cokolwiek robisz, kontynuuj. Żaden kod nie jest brzydszy niż kod niezgodny z własnymi regułami. Lubię używać podkreśleń dla mniej ważnych zmiennych, więc 'first_name' i' id_użytkownika'.. dla modeli danych, takich jak używam wielkich liter, więc 'Konto' lub' Użytkownik'. Ale czasami robię wielbłąda dla mniej ważnych modeli danych, takich jak 'previousUser'. W sumie jego zwyczaje i konwencje. Nie ma koniecznie właściwego lub niewłaściwego sposobu na zmienne. – Sam

+0

Dziękuję @SamSullivan –

Odpowiedz

8

PSR-1 Coding Standards mają do powiedzenia:

Cokolwiek nazewnictwo służy powinny być stosowane konsekwentnie w rozsądnym zakresie. Ten zakres może być na poziomie dostawcy, na poziomie pakietu, na poziomie klasy lub na poziomie metody.

Osobiście używam mixedCase dla właściwości i podkreślono rozdzielone dla zmiennych zdefiniowanych w funkcji, metodzie lub w zasięgu globalnym.

Ważne jest, aby używać go konsekwentnie, aby móc z łatwością stwierdzić, czy zmienna jest niewłaściwie używana (tzn. Wiem, czy widzę zmienną wielbłąda bez operatora obiektu. Wiem, że to błąd).

Larvel 4: coding guidelines stwierdza, że ​​przylegają one do PSR-1, nie wspominając o reprezentacji zmiennych.

+0

dlaczego to jest odrzucone? To jest prawie to, co powiedziałem w komentarzu .. ale cytuje PSR, więc jest godny odpowiedzi. IMO – Sam

+0

Prawdopodobnie zostały odrzucone, ponieważ nie podobały im się moje preferencje, ale ja tylko oświadczyłem, aby pokazać znaczenie spójności. – Orangepill

+0

Czy to nie stanowi problemu, gdy uzyskujesz dostęp do właściwości elokwentnego obiektu? Ponieważ kolumny tabeli to snake_case? – blackpla9ue

4
Laravel 3: $first_name 
Laravel 4: $firstName 

Dlaczego? Powód, dla którego stosujesz się do konwencji ramowej sprawia, że ​​twój kod jest zbyt czytelny dla innych programistów, którzy dołączają do projektu później.

To nie moja ulubiona osoba. Tak właśnie robi tłum. :)

+0

Czy to dotyczy zmiennych lub właściwości, czy obu? – Orangepill

+0

Dla obu. W Laravel to także dla metod. Przykład: ... $ this-> has_one() - L3 ... $ this-> hasOne() - L4 – StvN

+3

Zostały one oficjalnie przyjęte jeden nad drugim, a następnie powinny opublikować go z ich wytycznych kodowania. – Orangepill

Powiązane problemy