Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> modyfikacja skryptu na OOP, chcę zmienić krótki skrypt na OOP
ksenonlogin
post
Post #1





Grupa: Zarejestrowani
Postów: 123
Pomógł: 3
Dołączył: 29.10.2011

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


Witam

Niżej znajduje się fragment który jest odpowiedzialny za podmianę ciągów znaków na ciągi podane przez zmienną bądź wpisane bezpośrednio przez programistę.
Chodzi o to że skrypt jest dość mało czytelny gdy stosuje go w kilku miejscach i chciałem go przerobić na wersję obiektową, ale tak bym mógł dodawać nieograniczoną ilość elementów do podmiany.

  1. $array_list_article['{rodzaj1}'] = '1a';
  2. $array_list_article['{rodzaj2}'] = '2a';
  3. $array_list_article['{rodzaj}'] = '3a';
  4. $html_list_article = file_get_contents('home.html');
  5. foreach ($array_list_article as $title_list_article => $content_list_article) {
  6. $html_list_article = str_replace($title_list_article, $content_list_article, $html_list_article);
  7. }
  8.  
  9. echo $html_list_article;
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
klocu
post
Post #2





Grupa: Zarejestrowani
Postów: 291
Pomógł: 45
Dołączył: 21.08.2007

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


W sumie nie musisz, aż tak pilnować kolejności.
To co zapisałeś w przykładzie jest analogiczne do:
  1. $tablica = array('{stara-wartosc-w-ciagu1}' => 'nowa wartość w ciągu1', '{stara-wartosc-w-ciagu2}' => 'nowa wartość w ciągu2');


Mówiąc szczerze nie widzę sensu budowania całej klasy dla potrzeb kilku replacementów w łańcuchu znaków.
Jak dla mnie to nadal jest funkcja (w klasie operującej na ciągach znaków - jak najbardziej).
Możesz przekazać całą taką tablicę jako jeden parametr i wewnątrz próbować pociachać ją za pomocą array_keys i array_values, następnie spłaszczyć i potraktować tekst preg_replace'm.

--
Może to takie przyzwyczajenia z frameworka - ale wszystko da się zrobić.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 15:00