Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework] kilka problemów początkującego, niestandardowe ścieżki widoków, config w yaml
MitS
post
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ź
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
Daimos
post
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 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


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
Go to the top of the page
+Quote Post
Deallas
post
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
Go to the top of the page
+Quote Post
Mephistofeles
post
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).
Go to the top of the page
+Quote Post
Deallas
post
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ę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
Go to the top of the page
+Quote Post
Mephistofeles
post
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?
Go to the top of the page
+Quote Post
Deallas
post
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;)
Go to the top of the page
+Quote Post
Mephistofeles
post
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ć winksmiley.jpg.
Go to the top of the page
+Quote Post
Deallas
post
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ł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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 21:27