Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] array
soliniak
post 4.02.2015, 16:09:38
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 8.08.2009

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


Witam,

Mam plik lang_polski.php w nim:
  1. <?php
  2.  
  3. global $lang;
  4. $lang = array(
  5.  
  6. "charset" => "utf-8",
  7.  
  8. "help" => "Pomoc",
  9. "all_doctors" => "Wszyscy lekarze"
  10.  
  11. );
  12.  
  13. ?>

Teraz mam pytanie, chciałbym wyciągnąć informacje z tej tablicy i móc je edytować.
Póki co zrobiłem coś takiego (tylko wyświetlanie).
index.php:

  1. <table>
  2. <?php
  3.  
  4. include lang_polski.php;
  5.  
  6. foreach ($lang as $klucz => $wartosc){
  7.  
  8. echo "<tr><td>" .$klucz ."</td> <td><input type='text' value='". $wartosc ."' ></td><td><button value='zapisz'>zmien</button></td></tr>";
  9. }
  10. ?>
  11. </table>



i nie wiem co dalej z tym zrobić...
Ma ktoś jakieś pomysły?? arrowheadsmiley.png


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Dejmien_85
post 4.02.2015, 22:50:32
Post #2





Grupa: Zarejestrowani
Postów: 251
Pomógł: 23
Dołączył: 23.04.2013

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


Ja ma 2 propozycje:

1. Jeśli masz troszkę więcej czasu - Baza danych SQLite 3 - to baza danych zapisana w pliku, także żadnego serwera MySQL nie potrzebujesz. Po prostu zapiszujesz plik baza.sql i później na nim operujesz (to takie urposzczone MySQL).
2. Jeśli nie chcesz bawić się z bazą, wtedy proponuję zapisać pliki językowa jako plik w rozszerzeniu JSON - PHP-owa serializacja jest zbędna, ponieważ przy tłumaczeniach nie potrzeba żadnych meta danych.

  1. // Stwórz sobie obiekt/tablicę, np.
  2. $lang = array(
  3. "charset" => "utf-8",
  4. "help" => "Pomoc",
  5. "all_doctors" => "Wszyscy lekarze"
  6. );
  7.  
  8. // konwersja na JSON-a
  9. $langJson = json_encode($lang);
  10.  
  11. // zapisz dane do pliku lang_polski.json (rozszerzenie może być dowolne, jednak zalecam JSON, bo później możesz sobie to otworzyć przy pomocy IDE/edytora i będziesz miał pokolorowaną składnię)
  12. file_put_contents('lang_polski.json', $langJson);


I później jeśli będziesz chciał coś zmienić, wtedy wczytujesz plik, zmieniasz wartości i zapisujesz ponownie

  1. // wczytaj dane z pliku
  2. $langJson = file_get_contents('lang_polski.json');
  3.  
  4. // konwersja na tablicę PHP (bez drugiego parametru "false" otrzymałbyś obiekt)
  5. $lang = json_decode($langJson, true);
  6.  
  7. // i tutaj operujesz sobie na tablicy, wyświetlasz, zmieniasz dane itd...
  8. ...
  9.  
  10. // gdy już zrobisz co chcesz wtedy w przypadku zmian możesz napisać plik z tłumaczeniami (albo do tego samego, albo do innego pliku)
  11. $langJson = json_encode($lang);
  12. file_put_contents('lang_polski.json', $langJson);

Możesz także wykorzystać do zapisywania pliki płaskie (.ini), albo xml, lub ewentualnie YAML (ale tutaj musiałbyś wykorzystać bibliotekę jakąś, bo YAML nie jest standardowo obsługiwany przez PHP).

Moim zdaniem do Twoich finezyjnych zabiegów najprostszy sposób to JSON. ; )

PS Ogólnie to postaraj się oddzielić logikę od widoku, bo widzę tam mały miszmasz. wink.gif

Ten post edytował Dejmien_85 4.02.2015, 22:58:41
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.08.2025 - 19:29