[PHP] Include w klasach...

0

Mam taki problem. Oczywiście przeszukałem forum i całe 4p i nic. Potrzebuję wewnątrz definicji klasy zastosować włączenie innego pliku .php. Konkretnie w tym pliku znajdują się definicje właściwości klasy. No ale jak dam include czy require to wywala mi błąd. Czy da się to jakoś inaczej zrobić?

0

Jedynie poprzez dziedziczenie (

klasa extends klasa_bazowa

) jesli chodzi o elementy skladowe klasy, tyle ze nie wiem co dokladnie chcesz zrobic, ale raczej jest to jedyna droga.

Dopisane: chyba ze problem sprowadza sie do wartosci zmiennych to w konstruktorze nadaj im puste wartosci i od razu uruchom funkcje ktora pobierze dla nich dane i je przypisze. Nie wiem, moznaby wiele rozwiazan spontanicznie wydumac ;).

0

Sprawa wygląda tak:
Mam sobie klasę DBMySQL, która odpowiada za wygodniejsze łączenie się z bazą. No i teraz w skrypcie instalacyjnym systemu portalowego jest sobie tworzony plik databasedata.php, który zawiera dane nt. użytkownika, hasła, nazwy bazy itp. No i nie mogę tego pliku zapisać nie w PHP, bo ktoś by mógł go sobie po prostu przeczytać (tak, to nie jest to takie proste). No i wpadłem na pomysł trochę okrężnej drogi, no ale trudno. Mianowicie wymyśliłem, że podzielę sobie ten plik z deklaracjąklasy na dwie części, a w skrypcie instalacyjnym je skleję wstawiając w środek co trzeba. Trochę rozwiązanie na około, no ale... :]

0

Mocno na okolo :).

  1. Nie lepiej po prostu nadac odpowiednie prawa dla pliku? Najlepiej niech to robi ten instalator automatycznie i sprawdza czy sie udalo.
  2. Jesli odrzucasz punkt pierwszy to proponuje:
    a) zapisac to do pliku poprzez crypt jako normalne dane, gdzie kazda linia to okreslona wartosc i dodac f-cje ktora to pobierze, zrobi decrypt i przypisze w klasie gdzie trzeba.
    b) rozwazyc ponownie czy nie lepiej zrobic tak jak punkcie #1 :)

Pamietaj, ze tego typu kombinowanie wplynie na wydajnosc.

dopisane:
Skrajne rozwiazanie i bezsensowne (ale bezpieczne) to rzeczywiscie plik php, ale z pelna autoryzacja, odpalanie polaczenia HTTP z tymze plikiem ktory po udanej autoryzacji na podstawie sesji zwracalby dane, ktore bys sparsowal i przypisal do klasy :D. Sajgon totalny.

0

ale zwróć uwagę na to, że jak zrobię sobie plik tekstowy z takimi danymi, to każdy może go sobie przeczytać :/. Potrzebuję czegoś, co jest z natury parsowane. A jak chodzi o wydajność, to ten skrypt instalacyjny wywoływany jest RAZ i tworzy skrypt, z którego można potem korzystać setki razy na sekundę i będzie dobrze.

0

jak zrobię sobie plik tekstowy z takimi danymi, to każdy może go sobie przeczytać :/.

Przeciez od tego wlasnie sa prawa dostepu ->patrz: chmod().

Potrzebuję czegoś, co jest z natury parsowane.

No to nie mozesz umiescic tam zwyklych zmiennych, ktore zaincludujesz poza klasa i odwolasz sie do nich wewnatrz klasy poprzez global?

A jak chodzi o wydajność, to ten skrypt instalacyjny wywoływany jest RAZ i tworzy skrypt, z którego można potem korzystać setki razy na sekundę i będzie dobrze.

Domyslam sie, dlatego niech RAZ nada prawa dostepu do pliku ;).

0

RoSzi, ale zauważ, że plik tekstowy nie może mieć zablokowanego odczytu (bo PHP go nie przeczyta), ani udostępnionego odczytu (bo ktoś będzie mógł go normalnie przeczytać). Na przeciętnym serwerze PHP i Apach mają takie prawa, jak dowolny użytkownik, nie posiadający żadnych specjalnych praw do plików użytkowników.

1 użytkowników online, w tym zalogowanych: 0, gości: 1