Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kodowanie w plikach ini + dynamiczne właściwości
Forum PHP.pl > Forum > PHP
agmakonts
Witam.

Mam mały problem, jestem w trakcie pisania większej aplikacji i niespodziewanie natknąłem się na problem kodowania znaków w plikach ini które odgrywają w tym systemie sporą role jako pliki konfiguracyjne. Da się jakoś narzucić kodowanie bo domyślam się że na różnych systemach automatycznie pojawi się różne?

Przy okazji zadam drugie pytanie odnośnie właściwości klas.

Wyczytałem tutaj na forum że stworzenie w locie właściwości to nie problem i owszem działa pod warunkiem że sami nadamy nazwę. Schody zaczynają się w momencie gdy chciałbym użyć konstrukcji zmiennej zmiennej, takie coś $this -> $$test = $test niestety wywala że właściwość nie zdefiniowana.

Wiem że takie coś może i zwykle nie jest potrzebne i kłóci się z różnymi standardami/założeniami OOP jednak w tym wypadku ułatwiłoby mi sprawę.
Fifi209
To jakie Ty znaki zamierzasz zapisać do .ini ?!

Co do pytania o OOP, nie zrozumiałem zbytnio. Mógłbyś rozwinąć myśl np. o jakiś większy przykład ? I napisz co dokładnie potrzebujesz.
erix
Cytat
Da się jakoś narzucić kodowanie bo domyślam się że na różnych systemach automatycznie pojawi się różne?

A jak zapisujesz...?

Cytat
Wyczytałem tutaj na forum że stworzenie w locie właściwości to nie problem i owszem działa pod warunkiem że sami nadamy nazwę. Schody zaczynają się w momencie gdy chciałbym użyć konstrukcji zmiennej zmiennej, takie coś $this -> $$test = $test niestety wywala że właściwość nie zdefiniowana.

Patrz: post wyżej.
agmakonts
Przepraszam za niejasności

Donośnie plików ini - mają się w nim znaleźć dane dla funkcji i klas generalnie wspólne info dla komponentów systemu czyli też lista polskich znaków oraz słownik, wiem że można to i w tablicy php zrobić ale chciałem zachować ciągłość (reszta danych też w ini) a zapisuje notatnikiem zwyczajnie.

Co do tych nieszczęsnych właściwości:

przykład:
Kod
     class test
   {
         public function laduj_klase($nazwa)
        {
            include($nazwa);
            $this -> $ $nazwa = new $nazwa;
         }
     }



ten zapis z zmienną zmienną sprawdzał się świetnie gdy nie był zamknięty w klase.
Fifi209
PHP5 oferuje __autoload() - poszukaj a znajdziesz.

Skoro sam zapisujesz pliki notatnikiem to możesz i sam ustawić kodowanie - chyba, że dalej nie kumam? smile.gif
Ew. wszystkie ustawienia do bazy danych i tylko dane do połączenia w .ini
agmakonts
Myślałem o tym żeby do bazy ale... racja pomysle jeszcze raz


a o __autoload wiem tylko on też mi nie utworzy obiektu od razu dostępnego w miejscu gdzie było wywołanie. No nic będę jeszcze główkował
Fifi209
Cytat(agmakonts @ 10.07.2009, 23:52:14 ) *
Myślałem o tym żeby do bazy ale... racja pomysle jeszcze raz
a o __autoload wiem tylko on też mi nie utworzy obiektu od razu dostępnego w miejscu gdzie było wywołanie. No nic będę jeszcze główkował


Aha... a wiesz w ogóle kiedy jest wywoływana funkcja __autoload() ?
Tworzysz obiekt tam gdzie chcesz i tam jest plik z klasą dołączany.

  1. <?php
  2. function __autoload($name) {
  3. require_once('class/'.$name.'.php');
  4. }
  5.  
  6. class test {
  7.  
  8. private $handle;
  9.  
  10. public function testowa() {
  11. $this->handle = new klasa(); // wywoła autoload, który wczyta class/klasa.php
  12. }
  13.  
  14. }
  15. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.