Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]stała __FILE__ i wywoływanie z funkcji.
erix
post
Post #1





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Zwykle, stała __FILE__ zawiera wartość z nazwą pliku, w którym jest wywoływana.

Załóżmy, że robię sobie klasę dziennika, np. chcę zapisywać zapytania SQL, dla debugowania i jednocześnie plik, w którym to zapytanie zostało wywołane.

W SMF zauważyłem, że jest to realizowane w ten sposób (nie pamiętam dosłownie składni funkcji):

Kod
db_query(zapytanie, __FILE__)


Czy jest możliwość pominięcia drugiego parametru i zachowanie pierwotnej wartości w klasie dziennika? Sama stała w niej wywołana - wiadomo - zwróci nazwę pliku, w którym "przebywa" funkcja zapisująca.

Jakieś pomysły?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
devnul
post
Post #2





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


z użyciem stałej __FILE__ nie ma takiej możliwości jest za to pewna alternatywa w postaci funkcji debug_backtrace" title="Zobacz w manualu PHP" target="_manual która umożliwia przeprowadzenie tego typu "akcji". Radzę z nią jednak uważać

Ten post edytował devnul 28.05.2008, 23:13:22


--------------------
Profesjonaliści są przewidywalni...
strzeż się amatorów...
FL4SHB4CK - imprezy, galerie, lokale
Go to the top of the page
+Quote Post
PiXel2.0
post
Post #3





Grupa: Zarejestrowani
Postów: 110
Pomógł: 13
Dołączył: 16.03.2007
Skąd: Łódź

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


Stala __FILE__ zawiera zawsze sciezke do pliku w ktorym zostala podstawiona do instrukcji.

Nawet jak utworzysz takie pliki:

plik_1.php
  1. <?php
  2.  
  3. $file = __FILE__;
  4.  
  5. ?>


plik_2.php
  1. <?php
  2.  
  3. include 'plik_1.php';
  4. echo $file;
  5.  
  6. ?>


to gdy uruchomisz plik_2.php echo pokaze sciezke do plik_1.php nawet gdy kod byl dolaczany.
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Stala __FILE__ zawiera zawsze sciezke do pliku w ktorym zostala podstawiona do instrukcji.

Manuala zdążyłem przeczytać, nie musisz dublować treści. Poza tym, Twoja odpowiedź jest powieleniem tego, co opisałem w problemie...

Cytat
Radzę z nią jednak uważać

Masz na myśli to: http://pl.php.net/manual/pl/function.debug...trace.php#75456
?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
devnul
post
Post #5





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


nie tylko - to raczej rzadki przypadek. Miałem raczej na myśli ostrożną i rozważną interpretację tego co funkcja zwraca. Nie zawsze jest to takie oczywiste jakby się wydawało.


--------------------
Profesjonaliści są przewidywalni...
strzeż się amatorów...
FL4SHB4CK - imprezy, galerie, lokale
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 - 21:39