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
kreatiff
post
Post #2





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

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


Kod html ze wstawkami php to jest gotowa podstrona w jednym pliku. W uproszczeniu:
  1. <title><?php echo $a->title; ?></title>
  2. </head>
  3. <section>
  4. <?php foreach ( $a->get_arts() as $art ) : ?>
  5. <article>
  6. <h1><?php echo $art['h1']; ?></h1>
  7. <?php echo $a['txt']; ?>
  8. </article>
  9. <?php endforeach; ?>
  10. </section>
  11. <section>
  12. <p>Jakieś statyczne zdanie</p>
  13. <?php echo $a->wstaw(); ?>
  14. </section>
  15. <footer>
  16. <p>Copyright... <?php echo $a->wstaw(); ?></p>
  17. </footer>
  18. </body>
  19. </html>

Taki plik jest przez mechanizm strony includowany i drukowany oraz uzupełniany o elementy pobrane z bazy.
Dla pojedynczego pliku szablonu ilość wywołań metody wstaw() jest stała, ale chciałem uniknąć liczenia tego na sztywno z góry, bo ilość ta będzie różna w zależności od użytego szablonu i prawdopodobnie będzie się zmieniać wedle własnego "widzimisię". I to jest tutaj słabym punktem, bo po przemysleniach chyba jednak najrozsądniejszym rozwiązaniem będzie na sztywno określać ilość potencjajnych miejsc do wstawiania.
W każdym takim szablonie wstawiam sobie dowolną ilość tych wstaw() i chciałem, by mechanizm aplikacji jakoś sobie sam to zliczał i wybierał jedno miejsce, gdzie wstawi kod generowany przez wstaw().
wstaw() to po prostu krótka treść reklamy.
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 - 06:50