2009-10-30 9 views

Odpowiedz

3

Jest to dość bezpieczne i nie sądzę, istnieje jakikolwiek najlepiej praktyka na stałe, ale mają tendencję do gromadzenia ich w dedykowanym Constants klasy dla czytelności:

class Constants { 
    const DB_PASS = 'mypass'; 
} 
+0

Hmm Podoba mi się to podejście, tylko dla mojego zrozumienia const i define() działają tak samo? –

+4

Jest prawie taka sama, ważną różnicą jest to, że wartość stałej globalnej może być wartością oszacowaną ('define ('CONSTNAME', $ dynamicValue)'), podczas gdy stałe klasowe muszą być podstawowymi typami zakodowanymi (tzn. 'const CONSTVALUE = $ global' nie działa). Więcej informacji na temat stałych klas można znaleźć w dokumentacji php: http://www.php.net/manual/en/language.oop5.constants.php – soulmerge

2

, chyba że ktoś ma dostęp do twojego kodu źródłowego PHP, który jest bezpieczny.

jednakże upewniłem się, że plik znajduje się poza katalogiem głównym, aby zapobiec problemom, JEŚLI z jakiegoś powodu php zostanie wyłączony na stronie internetowej i nagle ludzie zobaczą źródło Twoich plików :).

+1

To także dobra rada i obecnie nie stosuj tego, nigdy Zastanawiasz się, czy PHP nie działa. Dzięki –

4

Pomocne może być również nazwanie pliku PHP, co zaczyna się od .ht (na przykład .htconfig.inc.php), ponieważ Apache zwykle ma regułę, aby nigdy nie wyświetlać plików o nazwach .ht *. Ale umieszczenie pliku poza katalogiem głównym jest jeszcze lepsze.

+0

Interesujące podejście do używania atrybutu .ht Apache używa, thnx –