call undefined method ($model->getBar() where mwthod getBar is not defined)
beauty Yii error page with stack trace
page with content
An Error occurred while handling another error:
exception 'ReflectionException' with message 'Method frontend\models\CatalogItemsSearch::getCatalogItems() does not exist' in %project_path%\vendor\yiisoft\yii2\web\ErrorHandler.php:195
Stack trace:
#0 %project_path%\vendor\yiisoft\yii2\web\ErrorHandler.php(195): ReflectionMethod->__construct('frontend\\models...', 'getCatalogItems')
#1 %project_path%\vendor\yiisoft\yii2\views\errorHandler\callStackItem.php(26): yii\web\ErrorHandler->addTypeLinks('frontend\\models...')
#2 %project_path%\vendor\yiisoft\yii2\base\View.php(330): require('D:\\Server\\www\\1...')
#3 %project_path%\vendor\yiisoft\yii2\base\View.php(250): yii\base\View->renderPhpFile('D:\\Server\\www\\1...', Array)
#4 %project_path%\vendor\yiisoft\yii2\web\ErrorHandler.php(249): yii\base\View->renderFile('@yii/views/erro...', Array, Object(yii\web\ErrorHandler))
#5 %project_path%\vendor\yiisoft\yii2\web\ErrorHandler.php(304): yii\web\ErrorHandler->renderFile('@yii/views/erro...', Array)
#6 %project_path%\vendor\yiisoft\yii2\web\ErrorHandler.php(326): yii\web\ErrorHandler->renderCallStackItem('D:\\Server\\www\\1...', 51, 'frontend\\models...', 'getCatalogItems', Array, 3)
#7 %project_path%\vendor\yiisoft\yii2\views\errorHandler\exception.php(381): yii\web\ErrorHandler->renderCallStack(Object(yii\base\UnknownMethodException))
#8 %project_path%\vendor\yiisoft\yii2\base\View.php(330): require('D:\\Server\\www\\1...')
#9 %project_path%\vendor\yiisoft\yii2\base\View.php(250): yii\base\View->renderPhpFile('D:\\Server\\www\\1...', Array)
#10 %project_path%\vendor\yiisoft\yii2\web\ErrorHandler.php(249): yii\base\View->renderFile('@yii/views/erro...', Array, Object(yii\web\ErrorHandler))
#11 %project_path%\vendor\yiisoft\yii2\web\ErrorHandler.php(116): yii\web\ErrorHandler->renderFile('@yii/views/erro...', Array)
#12 %project_path%\vendor\yiisoft\yii2\base\ErrorHandler.php(111): yii\web\ErrorHandler->renderException(Object(yii\base\UnknownMethodException))
#13 [internal function]: yii\base\ErrorHandler->handleException(Object(yii\base\UnknownMethodException))
#14 {main}
Previous exception:
exception 'yii\base\UnknownMethodException' with message 'Calling unknown method: frontend\models\CatalogItemsSearch::getCatalogItems()' in %project_path%\vendor\yiisoft\yii2\base\Component.php:290
Stack trace:
#0 %project_path%\frontend\widgets\views\filters.php(51): yii\base\Component->__call('getCatalogItems', Array)
#1 %project_path%\frontend\widgets\views\filters.php(51): frontend\models\CatalogItemsSearch->getCatalogItems()
#2 %project_path%\vendor\yiisoft\yii2\base\View.php(330): require('D:\\Server\\www\\1...')
#3 %project_path%\vendor\yiisoft\yii2\base\View.php(250): yii\base\View->renderPhpFile('D:\\Server\\www\\1...', Array)
#4 %project_path%\vendor\yiisoft\yii2\base\View.php(152): yii\base\View->renderFile('D:\\Server\\www\\1...', Array, Object(frontend\widgets\Filters))
#5 %project_path%\vendor\yiisoft\yii2\base\Widget.php(234): yii\base\View->render('filters', Array, Object(frontend\widgets\Filters))
#6 %project_path%\frontend\widgets\Filters.php(31): yii\base\Widget->render('filters', Array)
#7 %project_path%\vendor\yiisoft\yii2\base\Widget.php(139): frontend\widgets\Filters->run()
#8 %project_path%\frontend\views\catalog\brand.php(36): yii\base\Widget::widget(Array)
#9 %project_path%\vendor\yiisoft\yii2\base\View.php(330): require('D:\\Server\\www\\1...')
#10 %project_path%\vendor\yiisoft\yii2\base\View.php(250): yii\base\View->renderPhpFile('D:\\Server\\www\\1...', Array)
#11 %project_path%\vendor\yiisoft\yii2\base\View.php(152): yii\base\View->renderFile('D:\\Server\\www\\1...', Array, Object(frontend\controllers\CatalogController))
#12 %project_path%\vendor\yiisoft\yii2\base\Controller.php(381): yii\base\View->render('brand', Array, Object(frontend\controllers\CatalogController))
#13 %project_path%\frontend\controllers\CatalogController.php(62): yii\base\Controller->render('brand', Array)
#14 [internal function]: frontend\controllers\CatalogController->actionBrand('A. Lange & Sohn...')
#15 %project_path%\vendor\yiisoft\yii2\base\InlineAction.php(57): call_user_func_array(Array, Array)
#16 %project_path%\vendor\yiisoft\yii2\base\Controller.php(156): yii\base\InlineAction->runWithParams(Array)
#17 %project_path%\vendor\yiisoft\yii2\base\Module.php(523): yii\base\Controller->runAction('brand', Array)
#18 %project_path%\vendor\yiisoft\yii2\web\Application.php(102): yii\base\Module->runAction('catalog/brand', Array)
#19 %project_path%\vendor\yiisoft\yii2\base\Application.php(380): yii\web\Application->handleRequest(Object(yii\web\Request))
#20 %project_path%\frontend\web\index.php(17): yii\base\Application->run()
#21 {main}
| Q | A
| ---------------- | ---
| Yii version | 2.0.12
| PHP version | 5.6
| Operating system | Windows
on php 7.0 work is fine (show Yii error page)
Thanks for posting in our issue tracker.
In order to properly assist you, we need additional information:
Thanks!
_This is an automated comment, triggered by adding the label status:need more info._
Does it happen on clean basic template install on debug mode?
Seems ErrorHandler tries to create reflection for non-existing method. https://github.com/yiisoft/yii2/blob/deea1829dbf0752ea83d46ad7ac534be8d0bfeaf/framework/web/ErrorHandler.php#L195
yes, repeated on clean install with debug mode on.
create project with composer create-project --prefer-dist yiisoft/yii2-app-basic yii-basic
to controllers\SiteController::actionIndex() add call undefined method (ex $this->notDefinedMethod();) before return ... and open site index page
and see this
An Error occurred while handling another error:
exception 'ReflectionException' with message 'Method app\controllers\SiteController::notDefinedMethod() does not exist' in D:\Server\www\yii-basic\vendor\yiisoft\yii2\web\ErrorHandler.php:195
Stack trace:
#0 D:\Server\www\yii-basic\vendor\yiisoft\yii2\web\ErrorHandler.php(195): ReflectionMethod->__construct('app\\controllers...', 'notDefinedMetho...')
#1 D:\Server\www\yii-basic\vendor\yiisoft\yii2\views\errorHandler\callStackItem.php(26): yii\web\ErrorHandler->addTypeLinks('app\\controllers...')
#2 D:\Server\www\yii-basic\vendor\yiisoft\yii2\base\View.php(330): require('D:\\Server\\www\\y...')
#3 D:\Server\www\yii-basic\vendor\yiisoft\yii2\base\View.php(250): yii\base\View->renderPhpFile('D:\\Server\\www\\y...', Array)
#4 D:\Server\www\yii-basic\vendor\yiisoft\yii2\web\ErrorHandler.php(249): yii\base\View->renderFile('@yii/views/erro...', Array, Object(yii\web\ErrorHandler))
#5 D:\Server\www\yii-basic\vendor\yiisoft\yii2\web\ErrorHandler.php(304): yii\web\ErrorHandler->renderFile('@yii/views/erro...', Array)
#6 D:\Server\www\yii-basic\vendor\yiisoft\yii2\web\ErrorHandler.php(326): yii\web\ErrorHandler->renderCallStackItem('D:\\Server\\www\\y...', 64, 'app\\controllers...', 'notDefinedMetho...', Array, 3)
#7 D:\Server\www\yii-basic\vendor\yiisoft\yii2\views\errorHandler\exception.php(381): yii\web\ErrorHandler->renderCallStack(Object(yii\base\UnknownMethodException))
#8 D:\Server\www\yii-basic\vendor\yiisoft\yii2\base\View.php(330): require('D:\\Server\\www\\y...')
#9 D:\Server\www\yii-basic\vendor\yiisoft\yii2\base\View.php(250): yii\base\View->renderPhpFile('D:\\Server\\www\\y...', Array)
#10 D:\Server\www\yii-basic\vendor\yiisoft\yii2\web\ErrorHandler.php(249): yii\base\View->renderFile('@yii/views/erro...', Array, Object(yii\web\ErrorHandler))
#11 D:\Server\www\yii-basic\vendor\yiisoft\yii2\web\ErrorHandler.php(116): yii\web\ErrorHandler->renderFile('@yii/views/erro...', Array)
#12 D:\Server\www\yii-basic\vendor\yiisoft\yii2\base\ErrorHandler.php(111): yii\web\ErrorHandler->renderException(Object(yii\base\UnknownMethodException))
#13 [internal function]: yii\base\ErrorHandler->handleException(Object(yii\base\UnknownMethodException))
#14 {main}
Previous exception:
exception 'yii\base\UnknownMethodException' with message 'Calling unknown method: app\controllers\SiteController::notDefinedMethod()' in D:\Server\www\yii-basic\vendor\yiisoft\yii2\base\Component.php:290
Stack trace:
#0 D:\Server\www\yii-basic\controllers\SiteController.php(64): yii\base\Component->__call('notDefinedMetho...', Array)
#1 D:\Server\www\yii-basic\controllers\SiteController.php(64): app\controllers\SiteController->notDefinedMethod()
#2 [internal function]: app\controllers\SiteController->actionIndex()
#3 D:\Server\www\yii-basic\vendor\yiisoft\yii2\base\InlineAction.php(57): call_user_func_array(Array, Array)
#4 D:\Server\www\yii-basic\vendor\yiisoft\yii2\base\Controller.php(156): yii\base\InlineAction->runWithParams(Array)
#5 D:\Server\www\yii-basic\vendor\yiisoft\yii2\base\Module.php(523): yii\base\Controller->runAction('', Array)
#6 D:\Server\www\yii-basic\vendor\yiisoft\yii2\web\Application.php(102): yii\base\Module->runAction('', Array)
#7 D:\Server\www\yii-basic\vendor\yiisoft\yii2\base\Application.php(380): yii\web\Application->handleRequest(Object(yii\web\Request))
#8 D:\Server\www\yii-basic\web\index.php(12): yii\base\Application->run()
#9 {main}
early reporting for similar bug https://github.com/yiisoft/yii2/issues/13697
fixed, thanks for reporting!
Most helpful comment
yes, repeated on clean install with debug mode on.
create project with
composer create-project --prefer-dist yiisoft/yii2-app-basic yii-basicto
controllers\SiteController::actionIndex()add call undefined method (ex$this->notDefinedMethod();) beforereturn ...and open site index pageand see this
early reporting for similar bug https://github.com/yiisoft/yii2/issues/13697