![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 304 Pomógł: 0 Dołączył: 12.12.2006 Skąd: Pszów Ostrzeżenie: (0%) ![]() ![]() |
Witam
Zastanawiam się jak zrobić efektywny system zapisywania konfigów panleu sterowania. Obecnie mam ten oparty o bazę. Czyli jest tabele w niej są zapisywanie ustawienia itp. Potem w skrypcie funkcja która wczytuje z bazy te dane. Proste...no niby tak..ale moim zdaniem to zbędne zapytanie SQL, które można pominąć, bo te dane nie są tak często zmieniane. Mam kilka pomysłów, pomóżcie mi wybrać najbardziej efektywny, który najlepiej oszczędzi serwer ![]() 1: Plik np. Config.php W nim będą zapisywane zmienne wraz z konkretnymi newsami np: $ilosc_pokazywanych_newsow=5; itp Zalety, łatwo dołączać do każdego skryptu, jednak znowu trzeba wywołać includa lub require..... 2: Zrobić Sekcje początkowe w każdym pliku w który będzie się korzystać z konfiguracji. Zasadniczo w moim mini CMS są 4 taki pliki reszta skryptów dziedziczyło by te dane. więc wyglądało by to tak:
Plusy to fakt że nie trzeba korzystać z bazy, ani nie trzeba includowac plików. Minus: może być trudne do zapanowania jeśli wiele plików musi odczytywać konfig (oczywiście mowa o tych które nie mogą go dziedziczyć. 3. Pozostać przy obecnym układzie bazowym Macie jakieś sugestie... Z góry dziękuje za pomoc. Pozdrawiam. -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 627 Pomógł: 33 Dołączył: 1.05.2005 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
4. Zostań przy bazie, a zapytanie skeszuj. W zależności od tego co za informacje tam trzymasz to może się nawet okazać, że pierwsze zapytanie tylko wykona się przy setupie a potem już dlugo, dlugo nic
![]() -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
ja raczej byłbym za osobnymi plikami - łatwe do zapanowania i szybkie.
-------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ja używam plików ini z podziałami na sekcje... Ładuje się szybko: $config=parse_ini_file('plik.ini'); a potem tylko $config['ustawienie'] i tyle... Zalety: można zmieniać ustawienia przy braku dostępu do bazy...
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Jeszcze XML, choć wydaje się z początku mało wygodny.
Wogóle, to nie jest ważne, jak są dane przechowywane, ale czy zostały właściwie napisane mechanizmy ich cechowania. Słusznie mówi ~normanos, że najważniejszy jest cache. Mi się podoba zserializowany obiekt, którego jeśli nie ma, to jest odczytywany konfig ![]() Pozdrawiam. -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
wadą jest to, że musisz odpowiednio te pliki zabezpieczyć (np. za pomocą htaccess), po za tym ini i xml zawsze są troszkę wolniejsze.
Ten post edytował radex_p 2.02.2008, 21:53:44 -------------------- |
|
|
![]() ![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 566 Pomógł: 18 Dołączył: 23.08.2003 Skąd: Łomża Ostrzeżenie: (0%) ![]() ![]() |
wadą jest to, że musisz odpowiednio te pliki zabezpieczyć (np. za pomocą htaccess), po za tym ini i xml zawsze są troszkę wolniejsze. A czy kolega zapisze konfigurację połączenia z bazą danych w bazie danych?? Skoro i tak musi przeczytać oddzielny plik konfiguracyjny to nie ma problemu, żeby dodać kolejną sekcję ![]() ![]() Np plik ini: Kod [setup] db.adapter = PDO_MYSQL db.config.host = localhost db.config.username = root db.config.password = xxxxxx db.config.dbname = xxxxx site.baseurl = http://php.pl site.title = Wortal PHP.PL Odnośnie .htaccess - w czym problem stworzyć plik z zawartościa: Kod deny from all ![]() Szczególnie jak się posiada dobrą architekturę aplikacji np podział na katalogi: /public /private w katalogu public wyłączamy np mod_rewrite a w private dajemy deny from all... to podstawy tworzenia architektur oprogramowania ![]() Ten post edytował GrayHat 2.02.2008, 22:28:44 -------------------- *Note: No animals were killed durning the construction of this post.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 627 Pomógł: 33 Dołączył: 1.05.2005 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
A czy kolega zapisze konfigurację połączenia z bazą danych w bazie danych?? Skoro i tak musi przeczytać oddzielny plik konfiguracyjny to nie ma problemu, żeby dodać kolejną sekcję ![]() ![]() To mogą być 2 różne rzeczy. Przykład: - konfiguracja w pliku tzw. rozruchowa (baza, ścieżki itp.) np.konfiguracja odpalenia frameworka i jego komponentów (db, sesje itp) - konfiguracja samej _APLIKACJI WEBOWEJ_ -> tu nie ma co dawać przykładu bo co aplikacja to inne wymagania w każdym razie chodzi o to co jest związane z stricte z samą aplikacją, a to właśnie czasami warto/można/trzeba wsadzać w bazę. Mam nadzieję, że jasno to pokazałem. -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 616 Pomógł: 12 Dołączył: 16.07.2006 Skąd: : getCity ( ); Ostrzeżenie: (0%) ![]() ![]() |
Ja osobiście pliki konfiguracyjne robię w ten sposób:
config.php Kod login<!!!!>hasło<!!!>host<!!!>baza<!!!>ilosc_newsow<!!!>tytul<!!!>itp Potem wyciągam za pomocą p[ętli no i oczywiscie zabezpieczam ten plik przez .htaccess Pozdrawiam -------------------- Jeśli my czegoś nie zrobimy, zrobią to za nas inni
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
No właśnie wszystko zależy co się robi... jak masz 3 ustawienia na krzyż, z czego 2 to username i hasło do bazy to wystarczą pliki... jak coś bardziej skomplikowanego to już baza...
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 18:20 |