Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Side Effects Rule PSR-1 konflikty
trzczy
post
Post #1





Grupa: Zarejestrowani
Postów: 460
Pomógł: 49
Dołączył: 5.06.2011

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


Przedstawiam 2 kody, które są niezgodne z Side Effects Rule.
KOD1
  1. <?php
  2. require __DIR__ . '/vendor/autoload.php';
  3. $obj = new Johny\Foo\Bar();


KOD2
  1. <?php
  2. require __DIR__ . '/vendor/autoload.php';
  3. include 'addresses_for_mailing.php';
  4. $mailer = new Johny\Foo\Mailer($addresses);
  5. $mailer->send();
  6. $mailer->report();


Mam nadzieję, że mniej więcej widać, co programista chciał osiągnąć...

KOD1
Wczytuje autoloader i od razu z niego korzysta.

KOD2
Korzysta z klasy Mailer oraz spisu adresów zawartego w oddzielnym pliku. Potem wysyła mejle i sporządza raport z wysyłania.

I teraz moje pytanie. Jak zbudować te aplikacje, żeby były zgodne z PSR-1 Side Effects Rule. Czy da się zachowując odrębność plików, czyli bez umieszczenia wszystkiego w jednym pliku. Czy może programiści jednak nie przejmują się tą zasadą?

Z góry dziękuję

Ten post edytował trzczy 29.07.2016, 10:19:37
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trzczy
post
Post #2





Grupa: Zarejestrowani
Postów: 460
Pomógł: 49
Dołączył: 5.06.2011

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


Klasa trzymająca dane to jednak chyba rozwiązanie wątpliwe, bo dane się mogą zmieniać, a zmiana danych nie powinna wymuszać zmiany klasy. Naturalnym wydaje się trzymanie danych gdzieś na zewnątrz, w jakimś xml albo csv, czy bazie danych. I teraz, pobieranie tych danych to zawsze będzie zjawiskiem Side Effect.
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: 9.10.2025 - 17:49