Autor Zpráva
mila
Profil

class foo {
function file () {
echo __FILE__; // tohle je třeba udělat nějak jinak
}
}

// v jinem souboru
class bar extends foo {}


Nevíte, jak udělat, aby zavolání bar::file vypsalo název souboru, kde je třída bar definována?

- mělo by to běhat v php 4 - tuším, že by to šlo nějak přes reflection, to ale nemám
- debug_trace je na nic. Vrací soubor, ze kterého byla fce volána
- __FILE__ také nejde, vrací soubor, vekterém je tato konstanta použita
- Nemusí být (nebude) volána staticky
Tuším, že to nejde vůbec. Možná se ale pletu, nenapadá vás něco?

K čemu to potřebuji?
Mám něco jako abstraktní třídu page. Její potomci představují webovou stránku.
Funkce render, potřebuje najít šablonu, její umístění zjistí relativně od svého umístění. (např. šablona pro nejaka/cesta/novinky.php bude v nejaka/cesta/novinky.tpl)
Funkci render bych chtěl napsat již v té abstraktní třídě, tam ale nevím, ve kterém adresáři bude potomek...
Toto téma je uzamčeno. Odpověď nelze zaslat.

0