![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Witam mam do zaprezentowania moje kolejne dzieło, które powstało przy okazji budowy wiekszego projektu open source
![]() Kod źródłowy: http://srodek.info/examples/handycode/handyConfig.php Wynik jego działania powyższego kodu: Kod It works zonk mysql Przykladowe uzycie
Wynik Kod It works zonk Jak widać skrypt sie łatwo nie gubi. Można deklarować całe obiekty czy tablice nawet bez wczesniejszej deklaracji gałęci potomnej. Oczywiście mozliwe jest ładowanie całych tablic z konfiguracją za pomocą funkcji assingData(); tak jak jest to zrobione w kodzie z klasą. I jak? Co o tym sądzicie? ![]() -------------------- Warsztat: Kubuntu, PhpStorm, Opera
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
Jak dla mnie, przechowywanie typowej konfiguracji w takim układzie to strata czasu, ale wielu ludzi lubie takie rozwiązanie.
Przydał by się domyślny paser do plików xml, yml i ini aby to programista nie musiał się z tym bawić. Tak samo dobrym rozwiązaniem mogło by być zamieszczenie cache - w konstruktorze/metodzie (aby nie tracić możliwości operowania na samych zmiennych, chyba że by konstruktor sprawdzał typ pliku i odpowiednio akcje podejmował sam) klasy podaje się ścieżkę do pliku, on analizuje jaki to plik i odpowiednio go traktuje, po czym robi cache. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
@hwao: odczyt konfiguracji z plikow xml/ini moze odbywać sie za pomocą oddzielnej klasy. Ważne aby przekazać do metody assignData tablice z danymi. Singleton to tylko jedna z mozliwosci przedstawiona dla przykladu. Oczywiście postaram sie stworzyc odczyt/zapis konfiguracji z/do plikow xml/ini ale to nie jest narazie priorytetem(musze gdzies trzymac haslo do bazy a pliki xml nie sa chyba dobrym rozwiazaniem ^^).
-------------------- Warsztat: Kubuntu, PhpStorm, Opera
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Cytat Ważne aby przekazać do metody assignData tablice z danymi. I powiedz jaka w tym wygoda ? ![]() -------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
@NuLL: Tutaj nie chodzi o wygode odczytu zapisu danych. Tylko o wygode późniejszego uzytkownia tych danych. Moim zadaniem było napisanie rdzenia konfiguracji. Prote rzeczy typu zapis/odczyt do pliku mysle ze juz kazdy napisać sobie potrafi tym bardziej ze w sieci roi sie od bibliotek do odczytu np plikow ini. Oczywiscie dodam to w przyszlych wersjach. Puki co mam jednak kilka wazniejszych bibliotek do napisania ;].
A wygoda w uzytkowaniu jest taka ze mozna np. dodac sobie zmienna $readOnly; i zakazać zmian przy metodzie __set(). Można tez utworzyc odczyt jednorazowy(unsetowanie po pierwszym odczycie) waznych danych. Mozliwosci jest wiele. -------------------- Warsztat: Kubuntu, PhpStorm, Opera
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 10.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Aż sam się boję to wymówić, ale... Zend_Config_*
![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
@tuner: rzeczywiscie pod koniec pracy zajrzałem do zenda ale ich Zend_Config łapie sie przy niektorych wywołaniach...
Od początku interesowalo mnie rozwiązanie na wątek: http://forum.php.pl/Sposob_na_przechowywan...cie_t52439.html ![]() -------------------- Warsztat: Kubuntu, PhpStorm, Opera
|
|
|
![]()
Post
#8
|
|
![]() Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
Pliki XML: konfiguracja.xml.php
Kod <!-- <?php die( 'Nie ładnie przeglądac pliki konfiguracyjne przez przeglądarke! -->' ); ?>Config file --> <datebase ...
Pliki INI: konfiguracja.ini.php Kod ; <?php die( '[/b][b]Nie ładnie przeglądac pliki konfiguracyjne przez przeglądarke!' ); ?> cos = test; ale = ale;
I przeglądarka nie podglądnie... |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
@hwao: dzięki
![]() -------------------- Warsztat: Kubuntu, PhpStorm, Opera
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 09:59 |