Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zliczanie wystąpień wywołania metody w kodzie..., z jednoczesnym zwracaniem wyniku zależnym od ilości tych wystąpień.
kreatiff
post
Post #1





Grupa: Zarejestrowani
Postów: 324
Pomógł: 105
Dołączył: 7.08.2012

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


  1. <p>Tutaj? <?php echo $a->wstaw(); ?></p>
  2. <p>Może tutaj? <?php echo $a->wstaw(); ?></p>
  3. <p>Ewentualnie tutaj? <?php echo $a->wstaw(); ?></p>
  4. <p>Czy tu? <?php echo $a->wstaw(); ?></p>

Tylko w jednym z tych miejsc, gdzie znajduje się kod PHP ma się pojawić TAK. Losowo, przy odświeżeniu strony. Metoda wstaw() zwraca tylko raz "TAK" (inaczej zwraca pusty string), w zależności od tego, ile będzie miała możliwych miejsc do losowania.

Czy przed wykonaniem takiego kodu jest jakaś możliwość, by najpierw zliczyć w ilu miejscach metoda wstaw() będzie wywołana?
Bo problem jest taki, że nigdy nie znam ilości tych <?php echo $a->wstaw(); ?> w danym tekście bo jest ona zmienna, zależnie od tekstu. Tutaj występuje 4 razy, gdzieś indziej 1, albo 10.

Obejściem byłoby wstawienie tam jakiegoś unikalnego ciągu znaków i str_replace w buforze po zainicjowaniu ob_start. Ale to taka brzydka metoda i do tego nie chciałbym zmieniać treści tekstu.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





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




Widze dwa rozwiazania:
1) Skoro dany szablon ma te liczbe na sztywno, to zapisuj info jaki szablon jaka liczba. Wowczas ladujac strone z danym szablonem bedziesz wiedzial co i jak

2) Druga metoda jest gorsza, ale bardziej uniwersalna:
Funkcja wstaw powinna zwracac zawsze jakis staly tekst powiekszony o 1, np: #REKLAMA_1#, #REKLAMA_2#,.... #REKLAMA_15#
Efekt wykonania szablonu od razu nie wyswietlaj. Wpierw zapisz go do zmiennej. Wiesz juz ile razy wykonalo się wstaw() - mozesz to zapisywac w jakiejs zmiennej globalnej. Losujesz teraz dla jakiej liczby masz wstawic tresc reklamy. Wylosowales np. 5. Czyli podmiieniasz #REKLAMA_5# na tresc reklamy, a pozostale #REKLAMA_x# podmieniasz na "nic". I dopiero teraz wyswietlasz efekt wykonania szablonu
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: 11.10.2025 - 02:32