Uchwycić moment…

menic’s devBlog

Moje __autoload() :)

W miare jak SparkleWorks sie rozrasta, coraz trudniej zapanowac nad wszystkimi klasami. Na poczatku wszystko wczytywałem sobie recznie przez include. Było znosnie... ale gdy doszły mi automatycznie generowane klasy modelu, to pisanie

PHP:
  1. include(sciezka/model.class.php;
  2. $o = new Model()

byłoby niesamowicie meczace. Naturalną rzaczą jest, ze pomyslalem o __autoload()
Na poczatku było samo generowanie mapy. Jednak postanowiłem troche rozszerzyc. Do standardowej mapy mozemy dorzucic inne pliki lub tez cale foldery. Wszystko oczywiscie w XMLu :) Teraz moze zaden pozytek, ale z czasem jak zajdzie potrzeba dolaczenia innych bibliotek to bedzie juz to z głowy :)

XML:
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <filemap enabled="false">
  3. <files enabled="true">
  4. <class name="auto" enabled="true">E:\auto.php</class>
  5. <class name="test" enabled="true">E:\www\test.php</class>
  6. </files>
  7. <dirs enabled="true">
  8. <dir recursive="true" enabled="true" suffix="class.php">E:\system\classes</dir>
  9. </dirs>
  10. </filemap>

Wyjasniac chyba nie trzeba :)
Pod adresem klasa dla zainteresowanych. Z gory mowie ze jest to czesc SparkleWorks, wiec pewne wstawki z frameworka sa :) Jest to tez wersja robocza, tak wiec nie wszystko jest cacy, ale z gory dzieki za wskazowki :)

3 Comments so far

  1. pawel_k maj 21st, 2007 5:25 pm

    a co jesli zmienisz srodowisko z windowsowego na linuxoowe, albo chociaz katalog z bibliotekami? nie lepiej przerobic to na sciezki wzgledne?

  2. menic maj 21st, 2007 7:31 pm

    Nic nie stoi na przeszkodzie podac sciezke wzgledna :)
    To był tylko przyklad. Czasem jest tak ze sciezka bezwzgledna jest wygodniejsza. A jak przyjdzie cos zmienic to tylko w tym jednym pliku ;)

  3. Elf maj 22nd, 2007 7:32 am

    Na forum.php.pl Vee "wyczarował" kiedyś kod do generowania mapy. To załatwia sprawę.

Leave a reply

Mexico