Anonymní funkce problém s $database
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- algor
- Člen | 4
Zdravím
mám problém s anonymní funkcí na PHP 5.3.x (na localhostu kde mám PHP 5.4. to funguje bezproblému) mě nette házi chybu „Cannot read an undeclared property App\Presenters\CoursePresenter::$database“ pro následující kód:
<?php
protected function createComponentSelectForm()
{
$self=$this;
return new Nette\Application\UI\Multiplier(function ($id_course) use($self) {
$form = new Nette\Application\UI\Form;
$courseterms=$self->database->table('course_term')->where('id_course',$id_course)->order('datestart ASC');
...
?>
Předpokládám, že je to problém s anonymní funkcí, ale myslel jsem že by to mělo řešit přidání pomocí use – jak to vyřešit?
Děkuji za rady.
- Zax
- Člen | 370
Proč nepoužít rovnou
protected function createComponentSelectForm()
{
$database = $this->database;
return new Nette\Application\UI\Multiplier(function ($id_course) use($database) {
$form = new Nette\Application\UI\Form;
$courseterms=$database->table('course_term')->where('id_course',$id_course)->order('datestart ASC');
...
?