Global v historickém skriptu includovaném v presenteru
- stepos
- Člen | 36
Ahoj, pokouším se v presenteru includovat historický systém, který není moc objektový. Používal proměnné, které se zviditelňovaly pomoci global.
tom historickém skriptu je:
$promenna = "neco";
echo $promenna; //neco
global $promenna;
echo $promenna; // v tomto místě je promenna null
Je to nějaká bezpečnostní funkce nette? Protože normálně bez nette to funguje.
Jde to nějak vypnout v konfiguraci a pokud ano, případně pouze v adresáři s historickými skripty?
Těch globalizovaných proměnných tam je strašně moc, přepisovat to nejde.
Díky za pomoc
Š+
- Ondřej Kubíček
- Člen | 494
počkej a nic víc tam nemáš? žádný obsah?
asi jsem uplně nepochopil čeho chceš dosáhnout, vypsat v šabloně tu
$promenna
ve které máš ten historický script nebo ?
- stepos
- Člen | 36
Mám presenter
class HistoryPresenter extends BasePresenter
{
public function renderDefault()
{
echo "ahoj";
$this->template->anyVariable = 'any value';
}
public function actionDefault($page='index.php',$folder= null)
{
if($folder!== null) $folder.='/';
include "../vendor/history/{$folder}{$page}";
// die;
// tady se dodělá vypsání obsahu z toho starého skriptu do proměnné, která se předá šabloně. Ale zatím jen řve
// laděnka, že ty proměnné jsou prázdné
}
}
A v tom historickém indexu a dalších mnoha skriptech vygeneruju starý obsah do proměnné $content v té šabloně. Ještě ten presenter není dodělaný, protože jsem se zasekl v tom, že ty staré skripty nefungujou kvůli tomu, že proměnné, které byly někde v těch skriptech globalizované, tak jsou null a nefunguje přístup k databázi atd. Tak proto řeším, jak se s tím poprat, a kde přesně a proč (asi bezpečnost) se ty globální proměnné nulují.
Díky za pomoc
Š+