Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> xml vs sql
zdzichu
post 2.10.2006, 16:30:35
Post #1





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 28.08.2006

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


Witajcie.
Staję przed problemem wyboru nośnika danych konfiguracyjnych themów- generalnie pasuje mi xml za jego elastyczność (definiowanie własnych zmiennych+ jaka templatka na jaką podstrone na xmlu to bajka smile.gif ) naomiast plik xml z tego co mi wiadomo jest "zwykłym plikiem" - mam tu namyśli, że zmiana wartości=file_put_cotents() -czego chciałbym raczej uniknąć. SQL jak wiadomo jest znacznie wolniejszy podczas wczytywania, natomiast do "obróbki" jest znacznie wygodniejszy. Co do technologii .ini zawsze jakoś miałem awersję i szczerze mówiąc nie bardzo się w nią zagłębiałem. Jak rozwiązać mój problem? czy da się jakoś łatwiej edytować pliki xml (edycja tylko poszczególnych zmiennych a nie całego pliku), może warto zainteresować się .ini (jeśli nie da się łatwo edytować xmla, a ini się da), czy jednak jestem skazany na sql (zabrzmiało to jak ostateczność, choć cała reszta systemu przeciez bazuje na sql-u tongue.gif )
Go to the top of the page
+Quote Post
nospor
post 2.10.2006, 16:34:04
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
aomiast plik xml z tego co mi wiadomo jest "zwykłym plikiem"
Nie, plik xml nie jest zwyklym plikiem. Jakby byl, to nie byloby sensu wymyslac tego formatu.

Do obrobki xml jest wiele klas, ktore w latwy sposob umozliwiają jego "penetracje". Wystarczy uzyc googli o raz wyszukiwarki forum


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
zdzichu
post 2.10.2006, 16:38:59
Post #3





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 28.08.2006

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


xmla już używam w systemiku- opieram na simplexml, jednak narazie nie widzę możliwości edycji zmiennej- ale jeśli istnieją klasy, to zapewne jest taka możliwość- dzięki za (jakże proste) natchnienie smile.gif
Go to the top of the page
+Quote Post
nospor
post 2.10.2006, 16:41:43
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




sorki, nie doczytalem ze chodzi ci o edycje.

To sie robi mniej wiecej tak:
1) wczytujesz xml do jakies swojej struktury (np. tablica)
2) modyfikujesz dane w tej strukturze
3) zamieniasz te strukture znowu na xml i zapisujesz do pliku

Są klasy co zamieniają xml na tablice i na odwrot. Do ciebie nalezec bedzie modyfikacji danych w tej tablicy


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
zdzichu
post 2.10.2006, 17:14:04
Post #5





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 28.08.2006

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


hmm.. nie do końca rozumiem- przeiceż w simplexmlu generalnie wyrażenie jest tablicowe:
  1. <?php
  2. $xml = simplexml_load_file('test.xml');  
  3. echo $xml->foo->bar['xyz'];
  4. ?>

co do pkt 3 to musialbym poszukac w manualu jak zapisac sobie jakąś tablicę na xml (to trudne nie będzie, o ile taka funkcja istnieje biggrin.gif) jednak pkt 2 no idea jak zrobić....
Go to the top of the page
+Quote Post
nospor
post 2.10.2006, 17:17:13
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
przeiceż w simplexmlu generalnie wyrażenie jest tablicowe:
No nie, to co pokazales to obiekty:
$xml->foo->bar.

Cytat
jednak pkt 2 no idea jak zrobić....

jesli masz to na tablicy to bardzo prosto:
  1. <?php
  2. $tablica['znacznik']['wartosc'] = 'nowa wartosc';
  3. ?>

Oczywiscie to tylko schemat. Klasy co widzialem zamienialy xml na tablice, ale o troche innej strukturze. Ale zasada podobna.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
zdzichu
post 2.10.2006, 17:26:27
Post #7





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 28.08.2006

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


Cytat
No nie, to co pokazales to obiekty:
no w sumie tak, choć można skrócić, że będzie tylko ta "tablicowa końcówka ($bar['xyz'])"...wciąz jednak mam wrażenie, że to zamienianie to takie troszke rozwiązanie na około- poza tym, z tego co piszesz to i tak zapisanie do pliku= file_put_contents(), i nadpisywanie całego pliku, czego bym raczej chciał uniknąć- reguła KISS tongue.gif w ini też się nie da bezpośrednio zmienić jednej wartości?
Go to the top of the page
+Quote Post
nospor
post 2.10.2006, 17:28:01
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No niestety, pliki mają takie ograniczenia, ze wsrodku pliku wartosci nie podmienisz. Co najwyzej mozesz na koncu pliku cos dopisac, ale to cie nie urządza.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
zdzichu
post 2.10.2006, 17:39:18
Post #9





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 28.08.2006

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


podmienienie w stylu sql`owskiego UPDATE byłoby genialnym rozwiąznaiem, jeśli jednak takiego nie ma, to muszę się zastanowić, czy robić na sql, czy może jednak pobawić się, i napisać coś co mi bezboleśnie będzie zmieniało wartośc pewnych ustawień konfiguracyjnych- z tym, że problem aktualnie mam taki:
załóżmy, że pobrałem dane z xmla, zmieniłem to na tablicę, zmieniłem wartość. Jak teraz mam zapisać plik tak, żeby nie usunąć/zmienić wartości innych danych, edytując wpis, który aktualnie zamieniałem, bez duplikowania (czyli coś jakbym sobie walnął plikowego UPDATE tongue.gif )
Go to the top of the page
+Quote Post
nospor
post 2.10.2006, 17:41:19
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no skoro calego xml'a masz w tablicy, podmieniles jakies tam wartosci i zamienisz spowrotem wszystko na xml, to nic nie stracisz.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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: 29.06.2025 - 19:17