Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Stałe w programowaniu obiektowym
eerie
post
Post #1





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 3.08.2017

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


Witam

Czy używanie stałych w programowaniu obiektowym pod php7 to dobra praktyka? Pytam, bo gdy programowaliśmy w języku Java na strudiach, to nie pamiętam, abyśmy używali stałych. Poniżej podaję kod przykładowej klasy konfiguracyjnej mojej aplikacji. Prosiłbym o sugestie, czy może mieć taki kształt? Czy zamiast zmiennych nie powinienem wprowadzić stałych? Dopiero uczę się php7 i nie mam pewności, czy stałe w klasie konfiguracyjnej to dobry pomysł...

https://github.com/eerie79/framework2_svn/b...Core/Config.php

Pozdrawiam
Robert
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
eerie
post
Post #2





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 3.08.2017

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


Dziekuję za pomoc. Tak to teraz wygląda po przerobieniu. Ma ktoś może uwagi, co jeszcze poprawić?

https://github.com/eerie79/framework2_svn/b...Core/Config.php

A tu jest autoloader, który wywołuje metodę init(). Dokładniej robi to ostatni jego warunek.

https://github.com/eerie79/framework2_svn/b...re/autoload.php

Może tak być? A czy nie powinno być, jak podałem poniżej, dla wszystkich autoloaderów w mojej aplikacji?

Kod
    ...

    if (file_exists($file)) {
        require_once($file);

        if (method_exists($class, 'init')) {
            $class::init();
        }
    }

    ...


Bo jeśli nie załaduje mi pliku z klasą, to chyba nie będzie widać, że taka metoda istnieje.

PS Mam takie przemyślenie... Teoretycznie require_once('nazwa_pliku.php'); może zostać użyte niezależnie od autoloadera wcześniej, więc chyba warunek na istnienie metody init() powinien być wykonany również niezaleźnie od sprawdzenia istnienia pliku $file. Czyli jest dobrze tak, jak podałem w repozytorium.

Ten post edytował eerie 14.01.2018, 13:38:15
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: 15.10.2025 - 04:42