Просмотр темы
$one->two(); in function(){};
|
|
Zaxap |
Опубликовано 18.01.2015 11:32
|
Элита Сообщений: 1090 Зарегистрирован: 05.09.2012 10:32 |
Здравствуйте, у меня есть одна проблема... не знал даже, как назвать тему... ну перейдем сразу к сути: Имеется файл с классом (мини-шаблонизатор)... ООП, и все такое прочее:
Имеется файл, в котором сделана проверка ошибок, и выглядит оно так: /* file.php */ require_once 'class.php'; //...some_code... if($result1){ $view->set('good', $locale['1']); $err = true; } if($resultN){ $view->set('better', $locale['N']); $err = true; } //...some_code... if($err = false) { //...do_something... } Подумал, что лучше для условия сделать функцию (не знаю, как иначе):
В итоге мы имеем вот это: Fatal error: Call to a member function set() on a non-object Как это исправить? И...можно ли как-то иначе проверить...подобное? Заранее спасибо :) Зло не дремлет, а я добрый...
|
|
|
Polarfox |
Опубликовано 18.01.2015 12:02
|
Администратор Разработчики Группа поддержки Сообщений: 3384 Зарегистрирован: 20.08.2010 14:03 |
$this-> же вместо того что у тебя?
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
|
|
|
Zaxap |
Опубликовано 18.01.2015 12:08
|
Элита Сообщений: 1090 Зарегистрирован: 05.09.2012 10:32 |
у меня там идет еще $view = new View('/'); а $this в *.tpl файле шаблона: echo $this->error; а тут вот что: $view->set('error', 'FatalError1'); Изменил(а) Zaxap, 18.01.2015 12:25 Зло не дремлет, а я добрый...
|
|
|
Razor |
Опубликовано 18.01.2015 12:13
|
Администратор Группа поддержки Сообщений: 508 Зарегистрирован: 20.08.2010 15:55 |
Вообще не понял на какие ошибки хочешь проверить, а вообще да, у тебя там переменная $view->set($one, $locale[$two]), либо сначала инициализируй объект класса через $view = new MyClass();, а потом уже используй вне класса, либо если ты используешь внутри класса, то через оператор $this, обращаемся к внутренним методам класса. А насчет проверки на ошибки, я не понял на какие ошибки хочешь проверить... Объединено 18.01.2015 12:19: Zaxap написал: у меня там идет еще $view = new View('/'); а $this в *.tpl файле шаблона: echo $this->error; а тут вот что: $view->set('error', 'FatalError1'); Я так понял, ты хочешь обрабатывать какие-то ошибки при отправке например post запросов, в случае незаполненной формы и.т.п. Тебе нужен либо отдельный обработчик ошибок типа error handler, либо просто массив $this->errors[] который ты будешь наполнять ошибками, т.е. смотри, допустим: И отправляешь этот массив ошибок в свой шаблонизатор $view->set('errors' , $this->errors); А потом уже в шаблоне их выводишь, например, или обрабатываешь где нибудь в контроллере или как там у тебя устроено.
[/quote] Изменил(а) Razor, 18.01.2015 12:20 Sr. Software developer
plesk.com |
|
|
Rush |
Опубликовано 18.01.2015 12:20
|
Администратор Разработчики Группа поддержки Сообщений: 1418 Зарегистрирован: 31.08.2010 14:41 |
не стоит мешать процедурный код с объектно-ориентированным
|
|
Поделиться этой темой | |
Социальные закладки: | |
URL: | |
BBcode: | |
HTML: |
Перейти на форум: |