![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 1 Dołączył: 22.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam, od jakiegoś czasu piszę własny system CMS.
Jestem na etapie dokańczania panelu administracyjnego. Cały plik z konfiguracją mam zapisany w pliku config.inc.php. Wszystkie dane są zapisywane w formach tablicy, np.:
Jak te tablice nadpisać żeby wyglądały tak jak w przykładzie i żeby były na tych samych miejscach? (w tych samych linijkach) Dziękuję za pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ok mogę jedynie domyślać się o co chodzi...
Czy chodzi Ci o to żeby móc ten plik config edytować z poziomu CMS? Czyli zapisywać w nim nową tablice z nowymi wartościami? Jeśli tak odsyłam do funkcji var_export - odpowiedni zwraca tablicę w taki sposób by można ją było zapisać w pliku PHP dodając jedynie <?php i ?>. Config:
Wynik działania var_export na zmiennej $config: Kod array( 'opcja' => 'wartosc', 'opcja2' => 'wartosc' ) wystarczy zatem:
O to chodziło? -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 1 Dołączył: 22.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Mam rozumieć że jeżeli mam kod np. taki:
To po wykonaniu funkcji ta tablica będzie ciągle na tej samej linijce? Ten post edytował MMySlime 18.10.2012, 16:25:50 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nie. Ale jeśli zamiast zapisu:
dasz:
To za pomocą var_export łatwo i szybko możesz nadpisywać config. Jeśli z jakiegoś (dziwnego IMHO) powodu koniecznie chcesz zachować kolejność linijek to i wyświetlać to w taki sposób to możesz ewentualnie posłużyć się pętlą:
I uzyskasz wówczas efekt kolejności. Jeśli chcesz inaczej podejść do tematu to jest już to kwestia parsowania dokumentu itd... Czemu musi to być w linijkach? ![]() Ten post edytował Sephirus 19.10.2012, 08:22:04 -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 1 Dołączył: 22.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Musi gdyż po tej tablicy mam sekcje z funkcją define która po części korzysta z tych tablic.
Zrobiłem tak wówczas dlatego iż nie wiedziałem jak można by było nadpisywać define... |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Za bardzo kombinujesz, umieść tablice w jednym pliku a stałe w drugim i używaj var_export. Poza tym jeśli stałe korzystają z tych tablic, to coś tu jest nie tak.
Ten post edytował !*! 19.10.2012, 10:47:14 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 1 Dołączył: 22.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Zrobię tak jak we dwóch radziliście.
Wszystko wsadzę w oddzielne pliki i za pomocą funkcji var_export będę nadpisywać tablice. ![]() Dzięki wam za pomoc! |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 22.06.2025 - 22:10 |