Вызов метода внутри метода Kohana php 2.3.4 - PullRequest
0 голосов
/ 01 ноября 2010

Следующий код генерирует ошибку «страница не найдена» с Kohana 2.3.4

class Search_Core
{    
    public function result($term)
        {
            $this->search->title = "Search Results";
            $this->search->content = View::factory("search_view");

            $test = $this->pleaseWork("This should be on the screen");
            $this->search->content->test = $test;

            return $this->search;
        }

    public function pleaseWork($word)
        {
            $dude = $word;

            return $dude;
        }

}

Ранее я вызывал методы в методах того же класса, но по какой-то причине это не работает.Я могу заменить переменную $ test на что-то вроде этого:

$test = "a bunch of random words";

И это не сработает.Я могу написать что-то подобное за пределами Kohana, и это сработает, но это не так, и я не могу понять, почему.Переменная $ test находится в представлении search_view, и, как я продемонстрировал, она работает, если я предоставляю строку, а не вызываю метод.

Ошибка в строке Kohana.php # 841.

Ответы [ 2 ]

0 голосов
/ 01 ноября 2010

Я смог заставить это работать с помощью

$test = Search::pleaseWork("This should be on the screen");

вместо оригинала

$test = $this->pleaseWork("This should be on the screen");

Однако я все еще хотел бы знать, почему это не сработало изначально. Это как-то связано с библиотекой, которую я вызываю из контроллера? Я не могу себе представить, почему, поскольку $ this должен ссылаться на библиотеку.

0 голосов
/ 01 ноября 2010

Из названия класса это похоже на библиотеку.Вы должны вызывать библиотеку из контроллера, который отображает представление.я не думаю, что библиотека может сделать представление.

...