Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak napisac funkcje, ktora mozna wywolac tylko 1 raz?, ....czyli cos w stylu include_once()
KwiateK_
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 17.09.2006

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


Chodzi mi o stworzenie funkcji podobnej do np. include_once(), tzn. takiej, ktora wykona sie jednokrotnie, bez wzgledu na to, ile razy zostanie wywolana.

Ten post edytował KwiateK_ 17.09.2006, 23:26:37
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Prph
post
Post #2





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

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


include_once nie wykonuje sie tylko raz winksmiley.jpg Ale chyba zwyczajnie zle to nazwales.

Zeby cos takiego zrobic, to najlepiej uzywac obiektow. Przyklad:

  1. <?php
  2. class A
  3. {
  4. private static $wykonana = false;
  5.  
  6. public function metoda()
  7. {
  8.  if(!self::$wykonana)
  9.  {
  10. self::$wykonana = true;
  11. echo 'wykonuje sie';
  12.  }
  13. }
  14. }
  15.  
  16. $obiekt = new A;
  17.  
  18. $a->metoda();
  19. $a->metoda(); // juz sie nie wyswietli
  20. ?>


Jezeli nie chcesz uzywac klas, to chyba pozostaje tylko uzycie tablicy globalnej i w niej przechowywanie takiej informacji.

Adrian.
Go to the top of the page
+Quote Post
KwiateK_
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 17.09.2006

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


Dzieki. Szukalem wlasciwei rozwiazania nie-obiektowego. Poradzilem sobie juz przy uzyciu "global". Czasami pare godzin snu dobrze wplywa na pisany kod winksmiley.jpg
Go to the top of the page
+Quote Post
cicik
post
Post #4





Grupa: Zarejestrowani
Postów: 219
Pomógł: 5
Dołączył: 18.07.2006
Skąd: Piekary Śląskie

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


Cytat(KwiateK_ @ 18.09.2006, 12:52:22 ) *
Dzieki. Szukalem wlasciwei rozwiazania nie-obiektowego. Poradzilem sobie juz przy uzyciu "global". Czasami pare godzin snu dobrze wplywa na pisany kod winksmiley.jpg


To co proponuje Prph jest zdecydowanie lepsze od używania global i zwykłej funkcji.


--------------------
CMS dla Twojej firmy
Wojciech Małota
Go to the top of the page
+Quote Post
macbirdie
post
Post #5





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 7.09.2006
Skąd: Poznań

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


Funkcja może też wewnątrz może definiować zmienną statyczną, więc nie trzeba koniecznie robić tego obiektowo. smile.gif


--------------------
NotePad++ / Eclipse 3.3 (+PDT+PyDev+WTP) / VS 2005 Standard (+WTL 8.0+WM 2003 SDK/WM 5.0 SDK) / Glassfish / php 5.2.3 / Apache 2.2.x / MySQL 5.0.x / PostgreSQL 8.2.x / cvsd / violin 2.0 / piano 0.7-pre :P
Go to the top of the page
+Quote Post

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 Aktualny czas: 20.08.2025 - 05:00