Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony]Dodatkowy plik konfiguracyjny, Czy możliwa jest zmiana ustawien z poziomu przeglądarki?
cyklotrial
post 6.06.2010, 19:27:31
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 1
Dołączył: 5.06.2009

Ostrzeżenie: (0%)
-----


Witam!

Chciałbym się dowiedzieć czy jest możliwe stworzenie pliku konfiguracyjnego, który można by "edytować" z poziomu przeglądarki, tak aby w każdym miejscu aplikacji można było skorzystać z danych w nim zawartych?
Niestety sfConfig::set na niewiele się tutaj przydaje ponieważ zmiany nie są wprowadzane na stałe do pliku.
Go to the top of the page
+Quote Post
Crozin
post 6.06.2010, 20:23:29
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Nadpisuj zawartość app.yml?
Go to the top of the page
+Quote Post
cyklotrial
post 6.06.2010, 20:59:52
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 1
Dołączył: 5.06.2009

Ostrzeżenie: (0%)
-----


Cytat(Crozin @ 6.06.2010, 21:23:29 ) *
Nadpisuj zawartość app.yml?

Masz na myśli normalne otwarcie pliku i zmianie jego zawartości np. przy użyciu fope,fwrite etc?
Czy tez może jakiś inny sposób?
Dopiero zaczynam przygodę z Symfony i niestety jeszcze sporo rzeczy jest dla mnie niejasne....
Go to the top of the page
+Quote Post
-=Peter=-
post 6.06.2010, 21:43:30
Post #4





Grupa: Zarejestrowani
Postów: 304
Pomógł: 51
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----


W symfony masz do wczytywania/zapisywania plików yaml stosowne klasy. Znajdują się one w folderze yaml, interesować powinny Cię sfYamlDumper oraz sfYamlParser


--------------------
Go to the top of the page
+Quote Post
cyklotrial
post 7.06.2010, 11:17:04
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 1
Dołączył: 5.06.2009

Ostrzeżenie: (0%)
-----


Dziekuje za podpowiedzi. Teraz już wiem jak to powinny byc wykonane dla pojedynczej aplikacji.
Nasuwa mi się jeszcze jedno pytanie:
Czy można stworzyć plik tak aby działał w obrębie całego serwisu (dla wszystkich aplikacji :backend i frontend)?
Np. tworze plik w katalogu "/config" o nazwie "mojeUstawienia.yml"
Jak do niego odnosić się we wszystkich aplikacjach?
Go to the top of the page
+Quote Post
arecki
post 10.06.2010, 11:58:43
Post #6





Grupa: Zarejestrowani
Postów: 222
Pomógł: 35
Dołączył: 6.02.2005

Ostrzeżenie: (0%)
-----


Cytat(cyklotrial @ 7.06.2010, 11:17:04 ) *
Czy można stworzyć plik tak aby działał w obrębie całego serwisu (dla wszystkich aplikacji :backend i frontend)?
Np. tworze plik w katalogu "/config" o nazwie "mojeUstawienia.yml"
Jak do niego odnosić się we wszystkich aplikacjach?


Odpowiem na moim przykładzie. Potrzebowałem aby we wszystkich aplikacjach mieć wspólny routing więc:
po pierwsze primo:
- w katalogu "config" projektu zrobiłem plik wspolny_routing.yml w którym definiuje wspólne wpisy Routingu

po drugie primo:
- w katalogu "lib" projektu zrobiłem sobie klasę MojeNarzedzia w której zdefiniowałem funkcję która parsuje plik i dołącza elementy do każdej z aplikacji:
  1. class MojeNarzedzia {
  2. public static function loadRouting(sfEvent $event) {
  3. $r = $event->getSubject();
  4. $route = sfYaml::load(sfConfig::get('sf_config_dir').DIRECTORY_SEPARATOR.'wspolny_routing.yml');
  5.  
  6. if($route)
  7. foreach ($route as $routeName=>$params) {
  8. $r->prependRoute($routeName, new sfRoute($params['url'], $params['param']));
  9. }
  10. }
  11. }


po trzecie primo:
- w katalogu config każdej aplikacji jest plik nazwaAplikacjiConfiguration.class.php a w nim definiuje funkcję configure() w której odwołuje się do mojej klasy w momencie gdy występuje event routing.load_configuration. Wygląda do tak:
  1. class frontendConfiguration extends sfApplicationConfiguration
  2. {
  3. public function configure()
  4. {
  5. // ładowanie wspólnego routingu
  6. $this->dispatcher->connect('routing.load_configuration', array('MojeNarzedzia', 'loadRouting'));
  7. }
  8. }


I tak w każdej aplikacji mogę sobie dołączyć wczytywanie wspólnego pliku konfiguracyjnego. Co do eventów pod które możesz coś podpiąć to przeczytaj ten manual.

Ten post edytował arecki 10.06.2010, 11:59:16


--------------------
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 Wersja Lo-Fi Aktualny czas: 11.06.2024 - 14:35