Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 262 Pomógł: 5 Dołączył: 8.02.2005 Skąd: Olsztyn / Zatorze Ostrzeżenie: (0%)
|
Witam wszystkich,
wyszła nowa wersja ZF 1.11 a z nią kilka nowości m.in. obsługa plików yaml i z tym też będzie wiązać się moje pierwsze pytanie. 1. Jak całkowicie wyzbyć się plików ini z configa a zastąpić je yml? - chodzi mi o ładowanie w pliku public/index.php tam z defaulta brany jest application.ini, jak chce zmienic na yaml to niestety nie czyta tego dobrze. 2. jak zmienić ścieżkę do layoutu obecnie jest to domyślnie application/layout/scripts/layout.phtml a chcialbym by była taka: application/modules/NAZWA_MODUŁU/views/index.phtml <- to byłby domyślny layout dla danego modułu 3. jak zmienić domyślną ścieżkę do widoków tzn z: application/modules/NAZWA_MODUŁU/views/scripts/CONTROLLER/ACTION.phtml do application/modules/NAZWA_MODUŁU/views/CONTROLLER/ACTION ? Będe wdzięczny za odpowiedź |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 319 Pomógł: 118 Dołączył: 26.11.2003 Skąd: Lublin Ostrzeżenie: (0%)
|
1. Zamiast korzystać z Zend_Config_Ini, musisz po prostu skorzystać z Zend_Config_Yaml
http://framework.zend.com/manual/en/zend.c...pters.yaml.html 2. Obawiam się, że tu nie obejdzie się bez jakiegoś plugina, który by dynamicznie podmieniał ścieżkę, w zależności od modułu 3. Tutaj podejmę próbę wybicia Ci z głowy takiego procesu (IMG:style_emoticons/default/smile.gif) scripts nie jest bez potrzeby, bo w katalogu views możesz umieszczać też inne rzeczy jak np. helpery W ostateczności, jak już faktycznie chcesz takie coś wykonać, to czyt. pkt 2 |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 4.01.2007 Ostrzeżenie: (0%)
|
1. Tylko po co? Plik ini jest szybciej wczytywany niż plik yaml a czytelność obu jest niemalże identyczna
2. https://github.com/deallas/Zend-Framework-E.../master/Layout/ - przykładowa aplikacja z oddzielnymi layoutami dla modułów 3. Możesz skorzystać z funkcji setScriptPath() klasy Zend_View, możesz to odpowiednio ustawić w bootstrapie |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%)
|
O ile pliki są cache'owane, to oba są wczytywane tak samo szybko.
A Yaml ma kilka zalet w porównaniu do Ini, np. brak sztywno narzuconej struktury (zapisz w ini coś więcej niż sekcje i wartości). |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 4.01.2007 Ostrzeżenie: (0%)
|
Zrób sobie benchmark parse_ini_file vs include i zobaczysz ze plik ini jest szybciej parsowany niż nawet PHP. Cachowanie więc jest zbędne. W przypadku yamla mamy zaś funkcje yaml_parse_file która nie jest standardowo dostępna w PHP i plik musi być parsowany przez PHP.
Cytat A Yaml ma kilka zalet w porównaniu do Ini, np. brak sztywno narzuconej struktury (zapisz w ini coś więcej niż sekcje i wartości). Jeśli korzystasz z Zend_Config_Ini to da się(IMG:style_emoticons/default/smile.gif) Jest on co prawda wolniejszy od Zend_Config_Php bo dodatkowo parsuje dane ale rozszerza on możliwości funkcji standardowej parse_ini_file. Możesz np zapisać tablice: Kod tablica.0 ='...' tablica.1 = '...' i wówczas zwróci ci: Kod array( 0 => '...', 1 => '...' ) Możesz korzystać ze stałych zdefiniowanych wcześniej w PHP: Kod library.path = APPLICATION_PATH . '/../library' Ale jak chcesz/chcecie korzystać z yamla to proszę bardzo. Czy zapiszesz dane w formacie ini, xml, yaml, json Zend_Config daje nam wszędzie te same możliwości Ten post edytował Deallas 3.11.2010, 20:21:26 |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%)
|
To, że parse_ini jest szybsze jest dosyć logiczne, w końcu funkcja napisana jest w C i nie musi przetwarzać całego skryptu, tylko prosty w budowie plik.
Jednak konfiguracja jest dosyć statyczna, i może być przechowywana w jakimś cache'u, APC czy coś podobnego. Nie używam ZFa, ale nie uważasz, że to (tablice ini z ZF) jest mniej czytelne rozwiązanie od Yamla? |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 4.01.2007 Ostrzeżenie: (0%)
|
Może i jest, ale przyzwyczajenie zawsze zwycięża;) Druga sprawa, wszystkie tutoriale w sieci dotyczące ZF opierają się tylko i wyłącznie na plikach ini z czego wynika, że będzie on jeszcze długo, długo królował w ZF. Programistom nie będzie się chciało przypisywać plików konfiguracyjnych na yamla bo i po co jak mają gotowca. Samo przepisanie to oczywiście żaden problem, ale niektórzy są po prostu zbyt leniwi;)
|
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%)
|
Do przepisania można sobie prosty skrypt napisać (IMG:style_emoticons/default/winksmiley.jpg) .
|
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 4.01.2007 Ostrzeżenie: (0%)
|
No można i nawet dużo bym się przy tym nie napracował(IMG:style_emoticons/default/smile.gif) Odczytuje plik ini przy pomocy Zend_Config i zapisuje plik yaml przy pomocy Zend_Config_Writer: http://framework.zend.com/manual/en/zend.c...troduction.html
|
|
|
|
![]() ![]() |
|
Aktualny czas: 22.12.2025 - 14:21 |