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%)
-----


Na wstępie odesłałbym do manuala funkcji str_replace. Dlaczego?

Przykład z php.net:
  1. $phrase = "You should eat fruits, vegetables, and fiber every day.";
  2. $healthy = array("fruits", "vegetables", "fiber");
  3. $yummy = array("pizza", "beer", "ice cream");

Robi dokładnie to samo co chcesz bez pakowania się w foreach'a.
Faktem jest, że przyjmuje ciut inny sposób rozpisania tablic, ale kończy się tym samym.

OOP to średnio z tego wyjdzie, ale kawałek funkcji na pewno.
Funkcja z 3 parametrami wymaganymi. 1 - tablica, 2 - tablica, 3 - łańcuch znaków.
Na początku sprawdzasz czy pierwsze dwa są tablicami, a 3 łańcuchem znaków i czy plik przez niego wskazywany istnieje.
Jak warunki spełnione robisz str_replace'a w/g danych przesłanych przez parametry funkcji.

Dobrze zrozumiałem Twoją koncepcję?
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: 17.10.2025 - 13:01