Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Struktura folderow OOP
goartur
post
Post #1





Grupa: Zarejestrowani
Postów: 233
Pomógł: 27
Dołączył: 19.10.2014

Ostrzeżenie: (0%)
-----


Czesc, rozumie oop w wiekszosci wypadkow, lecz mam pewien problem, nie wiem jaka strukture powinny miec moje foldery aby caly projekt byl przejrzysty i latwy w obsludze. Macie moze jakies rady, lub ss waszych struktur?


Dzieki =]

Ten post edytował goartur 10.06.2015, 21:54:36
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Xelah
post
Post #2





Grupa: Zarejestrowani
Postów: 139
Pomógł: 24
Dołączył: 12.05.2013
Skąd: Hamburg

Ostrzeżenie: (0%)
-----


Wybacz @Crozin ale PSR-4 to nie wyrocznia.

Tak na prawdę wszystko zależy od Twoich preferencji. PRS-4 jest jan najbardziej na miejscu jeśli nie masz nic przeciwko temu, że struktura forlderów = namespace.
Czasami takie rozwiązanie jest nieco kłopotliwe. Dla przykładu:
Aplikacja składa się z szeregu komend (Command). Każda z nich ma detykowany routing, factory, configurację i request validator.
W PSR-4 mamy coś takiego:

Kod
Application
    Command
        Index.php
    Configuration
        Index.php
    Factory
        Index.php
    Routing
        Index.php
    Validation
        Index.php


Namespace wygląda wtedy mniej wiece tak

Kod
Application\Command\Index
Application\Configuration\Index
Application\Factory\Index
Application\Routing\Index
Application\Validation\Index


Problem w tym, że grupowanie klas w ten sposób jest co mnajmniej mało intuicyjne.

Lepszym rozwiązaniem była by taka struktura:

Kod
Application
    Index
        Command.php
        Configuration.php
        Routing.php
        Factory.php
        Validation.php


Ale wtedy PSR-4 zmusza cie do zupełnie innego namespace, który moim zdaniem, jest mniej logiczny. Fakt, że pogrupowałem pliki w jednym folderze, to nie znaczy są w tym samym namespace.

Kod
Application\Index\Command
Application\Index\Configuration
Application\Index\Factory
Application\Index\Routing
Application\Index\Validation


Podsumowując namespace != strktura folderów. Sam musisz sobie odpowiedzieć która opcja jest dla ciebie bardziej czytalna i łatwiejsza do utrzymania. Nie zawsze sztywne trzymanie się PSR-4 jest najlepszym rozwiązaniem.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 01:06