24. Illuminate\View\Engines\CompilerEngine handleViewException
…/­bootstrap/­compiled.php9925
23. ErrorException
…/­app/­storage/­views/­61b09a8df689736b4b1d0bdcb9f291863
22. Illuminate\Exception\Handler handleError
…/­app/­storage/­views/­61b09a8df689736b4b1d0bdcb9f291863
21. include
…/­bootstrap/­compiled.php9923
20. Illuminate\View\Engines\PhpEngine evaluatePath
…/­vendor/­laravel/­framework/­src/­Illuminate/­View/­Engines/­CompilerEngine.php56
19. Illuminate\View\Engines\CompilerEngine get
…/­bootstrap/­compiled.php9801
18. Illuminate\View\View getContents
…/­bootstrap/­compiled.php9788
17. Illuminate\View\View renderContents
…/­bootstrap/­compiled.php9779
16. Illuminate\View\View render
…/­bootstrap/­compiled.php9808
15. Illuminate\View\View gatherData
…/­bootstrap/­compiled.php9801
14. Illuminate\View\View getContents
…/­bootstrap/­compiled.php9788
13. Illuminate\View\View renderContents
…/­bootstrap/­compiled.php9779
12. Illuminate\View\View render
…/­bootstrap/­compiled.php10481
11. Illuminate\Http\Response setContent
…/­bootstrap/­compiled.php10011
10. Symfony\Component\HttpFoundation\Response __construct
…/­bootstrap/­compiled.php5258
9. Illuminate\Routing\Router prepareResponse
…/­bootstrap/­compiled.php5067
8. Illuminate\Routing\Router dispatchToRoute
…/­bootstrap/­compiled.php5053
7. Illuminate\Routing\Router dispatch
…/­bootstrap/­compiled.php715
6. Illuminate\Foundation\Application dispatch
…/­bootstrap/­compiled.php696
5. Illuminate\Foundation\Application handle
…/­bootstrap/­compiled.php7825
4. Illuminate\Session\Middleware handle
…/­bootstrap/­compiled.php8432
3. Illuminate\Cookie\Queue handle
…/­bootstrap/­compiled.php8379
2. Illuminate\Cookie\Guard handle
…/­bootstrap/­compiled.php11088
1. Stack\StackedHttpKernel handle
…/­bootstrap/­compiled.php657
0. Illuminate\Foundation\Application run
…/­public/­index.php49

ErrorException (E_ERROR)

Callstack information; navigate with mouse or keyboard using Ctrl+↑ or Ctrl+↓
Copy-to-clipboard button
Exception message and its type
Code snippet where the error was thrown
Server state information
Application provided context information
ErrorException thrown with message "Trying to get property of non-object (View: /hosting/birdwatchingholidays/www/app/views/frontend/tours/single.blade.php)" Stacktrace: #24 Illuminate\View\Engines\CompilerEngine:handleViewException in /hosting/birdwatchingholidays/www/bootstrap/compiled.php:9925 #23 ErrorException in /hosting/birdwatchingholidays/www/app/storage/views/61b09a8df689736b4b1d0bdcb9f29186:3 #22 Illuminate\Exception\Handler:handleError in /hosting/birdwatchingholidays/www/app/storage/views/61b09a8df689736b4b1d0bdcb9f29186:3 #21 include in /hosting/birdwatchingholidays/www/bootstrap/compiled.php:9923 #20 Illuminate\View\Engines\PhpEngine:evaluatePath in /hosting/birdwatchingholidays/www/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:56 #19 Illuminate\View\Engines\CompilerEngine:get in /hosting/birdwatchingholidays/www/bootstrap/compiled.php:9801 #18 Illuminate\View\View:getContents in /hosting/birdwatchingholidays/www/bootstrap/compiled.php:9788 #17 Illuminate\View\View:renderContents in /hosting/birdwatchingholidays/www/bootstrap/compiled.php:9779 #16 Illuminate\View\View:render in /hosting/birdwatchingholidays/www/bootstrap/compiled.php:9808 #15 Illuminate\View\View:gatherData in /hosting/birdwatchingholidays/www/bootstrap/compiled.php:9801 #14 Illuminate\View\View:getContents in /hosting/birdwatchingholidays/www/bootstrap/compiled.php:9788 #13 Illuminate\View\View:renderContents in /hosting/birdwatchingholidays/www/bootstrap/compiled.php:9779 #12 Illuminate\View\View:render in /hosting/birdwatchingholidays/www/bootstrap/compiled.php:10481 #11 Illuminate\Http\Response:setContent in /hosting/birdwatchingholidays/www/bootstrap/compiled.php:10011 #10 Symfony\Component\HttpFoundation\Response:__construct in /hosting/birdwatchingholidays/www/bootstrap/compiled.php:5258 #9 Illuminate\Routing\Router:prepareResponse in /hosting/birdwatchingholidays/www/bootstrap/compiled.php:5067 #8 Illuminate\Routing\Router:dispatchToRoute in /hosting/birdwatchingholidays/www/bootstrap/compiled.php:5053 #7 Illuminate\Routing\Router:dispatch in /hosting/birdwatchingholidays/www/bootstrap/compiled.php:715 #6 Illuminate\Foundation\Application:dispatch in /hosting/birdwatchingholidays/www/bootstrap/compiled.php:696 #5 Illuminate\Foundation\Application:handle in /hosting/birdwatchingholidays/www/bootstrap/compiled.php:7825 #4 Illuminate\Session\Middleware:handle in /hosting/birdwatchingholidays/www/bootstrap/compiled.php:8432 #3 Illuminate\Cookie\Queue:handle in /hosting/birdwatchingholidays/www/bootstrap/compiled.php:8379 #2 Illuminate\Cookie\Guard:handle in /hosting/birdwatchingholidays/www/bootstrap/compiled.php:11088 #1 Stack\StackedHttpKernel:handle in /hosting/birdwatchingholidays/www/bootstrap/compiled.php:657 #0 Illuminate\Foundation\Application:run in /hosting/birdwatchingholidays/www/public/index.php:49

Trying to get property of non-object (View: /hosting/birdwatchingholidays/www/app/views/frontend/tours/single.blade.php)

    {
        $obLevel = ob_get_level();
        ob_start();
        extract($__data);
        try {
            include $__path;
        } catch (\Exception $e) {
            $this->handleViewException($e, $obLevel);
        }
        return ltrim(ob_get_clean());
<div class="article">
    <div class="pull-left">
        <h1><?php echo $data['item']->title; ?></h1>
    </div>
    <div class="pull-right">
        <a class="btn" href="<?php echo URL::to(Config::get('app.locale_prefix') .'/tours'); ?>"><?php echo \Illuminate\Support\Facades\Lang::get('tours.txt_back'); ?></a>
    </div>
    <div class="clearfix"></div>

    <div class="content">
Exception message: Trying to get property of non-object
<div class="article">
    <div class="pull-left">
        <h1><?php echo $data['item']->title; ?></h1>
    </div>
    <div class="pull-right">
        <a class="btn" href="<?php echo URL::to(Config::get('app.locale_prefix') .'/tours'); ?>"><?php echo \Illuminate\Support\Facades\Lang::get('tours.txt_back'); ?></a>
    </div>
    <div class="clearfix"></div>

    <div class="content">
    }
    protected function evaluatePath($__path, $__data)
    {
        $obLevel = ob_get_level();
        ob_start();
        extract($__data);
        try {
            include $__path;
        } catch (\Exception $e) {
            $this->handleViewException($e, $obLevel);
		}

		$compiled = $this->compiler->getCompiledPath($path);

		// Once we have the path to the compiled file, we will evaluate the paths with
		// typical PHP just like any other templates. We also keep a stack of views
		// which have been rendered for right exception messages to be generated.
		$results = $this->evaluatePath($compiled, $data);

		array_pop($this->lastCompiled);
        $env = $this->factory;
        return $this->render(function ($view) use($env) {
            return $env->getSections();
        });
    }
    protected function getContents()
    {
        return $this->engine->get($this->path, $this->gatherData());
    }
    protected function gatherData()
        $this->factory->flushSectionsIfDoneRendering();
        return $response ?: $contents;
    }
    protected function renderContents()
    {
        $this->factory->incrementRender();
        $this->factory->callComposer($this);
        $contents = $this->getContents();
        $this->factory->decrementRender();
        return $contents;
        $this->path = $path;
        $this->engine = $engine;
        $this->factory = $factory;
        $this->data = $data instanceof Arrayable ? $data->toArray() : (array) $data;
    }
    public function render(Closure $callback = null)
    {
        $contents = $this->renderContents();
        $response = isset($callback) ? $callback($this, $contents) : null;
        $this->factory->flushSectionsIfDoneRendering();
        return $this->engine->get($this->path, $this->gatherData());
    }
    protected function gatherData()
    {
        $data = array_merge($this->factory->getShared(), $this->data);
        foreach ($data as $key => $value) {
            if ($value instanceof Renderable) {
                $data[$key] = $value->render();
            }
        }
        $env = $this->factory;
        return $this->render(function ($view) use($env) {
            return $env->getSections();
        });
    }
    protected function getContents()
    {
        return $this->engine->get($this->path, $this->gatherData());
    }
    protected function gatherData()
        $this->factory->flushSectionsIfDoneRendering();
        return $response ?: $contents;
    }
    protected function renderContents()
    {
        $this->factory->incrementRender();
        $this->factory->callComposer($this);
        $contents = $this->getContents();
        $this->factory->decrementRender();
        return $contents;
        $this->path = $path;
        $this->engine = $engine;
        $this->factory = $factory;
        $this->data = $data instanceof Arrayable ? $data->toArray() : (array) $data;
    }
    public function render(Closure $callback = null)
    {
        $contents = $this->renderContents();
        $response = isset($callback) ? $callback($this, $contents) : null;
        $this->factory->flushSectionsIfDoneRendering();
    public function setContent($content)
    {
        $this->original = $content;
        if ($this->shouldBeJson($content)) {
            $this->headers->set('Content-Type', 'application/json');
            $content = $this->morphToJson($content);
        } elseif ($content instanceof RenderableInterface) {
            $content = $content->render();
        }
        return parent::setContent($content);
    protected $statusCode;
    protected $statusText;
    protected $charset;
    public static $statusTexts = array(100 => 'Continue', 101 => 'Switching Protocols', 102 => 'Processing', 200 => 'OK', 201 => 'Created', 202 => 'Accepted', 203 => 'Non-Authoritative Information', 204 => 'No Content', 205 => 'Reset Content', 206 => 'Partial Content', 207 => 'Multi-Status', 208 => 'Already Reported', 226 => 'IM Used', 300 => 'Multiple Choices', 301 => 'Moved Permanently', 302 => 'Found', 303 => 'See Other', 304 => 'Not Modified', 305 => 'Use Proxy', 306 => 'Reserved', 307 => 'Temporary Redirect', 308 => 'Permanent Redirect', 400 => 'Bad Request', 401 => 'Unauthorized', 402 => 'Payment Required', 403 => 'Forbidden', 404 => 'Not Found', 405 => 'Method Not Allowed', 406 => 'Not Acceptable', 407 => 'Proxy Authentication Required', 408 => 'Request Timeout', 409 => 'Conflict', 410 => 'Gone', 411 => 'Length Required', 412 => 'Precondition Failed', 413 => 'Request Entity Too Large', 414 => 'Request-URI Too Long', 415 => 'Unsupported Media Type', 416 => 'Requested Range Not Satisfiable', 417 => 'Expectation Failed', 418 => 'I\'m a teapot', 422 => 'Unprocessable Entity', 423 => 'Locked', 424 => 'Failed Dependency', 425 => 'Reserved for WebDAV advanced collections expired proposal', 426 => 'Upgrade Required', 428 => 'Precondition Required', 429 => 'Too Many Requests', 431 => 'Request Header Fields Too Large', 500 => 'Internal Server Error', 501 => 'Not Implemented', 502 => 'Bad Gateway', 503 => 'Service Unavailable', 504 => 'Gateway Timeout', 505 => 'HTTP Version Not Supported', 506 => 'Variant Also Negotiates (Experimental)', 507 => 'Insufficient Storage', 508 => 'Loop Detected', 510 => 'Not Extended', 511 => 'Network Authentication Required');
    public function __construct($content = '', $status = 200, $headers = array())
    {
        $this->headers = new ResponseHeaderBag($headers);
        $this->setContent($content);
        $this->setStatusCode($status);
        $this->setProtocolVersion('1.0');
        return array_filter($parameters, function ($p) {
            return !is_null($p) && $p !== '';
        });
    }
    protected function prepareResponse($request, $response)
    {
        if (!$response instanceof SymfonyResponse) {
            $response = new Response($response);
        }
        return $response->prepare($request);
    {
        $route = $this->findRoute($request);
        $this->events->fire('router.matched', array($route, $request));
        $response = $this->callRouteBefore($route, $request);
        if (is_null($response)) {
            $response = $route->run($request);
        }
        $response = $this->prepareResponse($request, $response);
        $this->callRouteAfter($route, $request, $response);
        return $response;
        return isset($group['namespace']) ? $group['namespace'] . '\\' . $uses : $uses;
    }
    public function dispatch(Request $request)
    {
        $this->currentRequest = $request;
        $response = $this->callFilter('before', $request);
        if (is_null($response)) {
            $response = $this->dispatchToRoute($request);
        }
        $response = $this->prepareResponse($request, $response);
            if (!is_null($response)) {
                return $this->prepareResponse($response, $request);
            }
        }
        if ($this->runningUnitTests() && !$this['session']->isStarted()) {
            $this['session']->start();
        }
        return $this['router']->dispatch($this->prepareRequest($request));
    }
    public function terminate(SymfonyRequest $request, SymfonyResponse $response)
        });
    }
    public function handle(SymfonyRequest $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
    {
        try {
            $this->refreshRequest($request = Request::createFromBase($request));
            $this->boot();
            return $this->dispatch($request);
        } catch (\Exception $e) {
            if (!$catch || $this->runningUnitTests()) {
    public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
    {
        $this->checkRequestForArraySessions($request);
        if ($this->sessionConfigured()) {
            $session = $this->startSession($request);
            $request->setSession($session);
        }
        $response = $this->app->handle($request, $type, $catch);
        if ($this->sessionConfigured()) {
            $this->closeSession($session);
    public function __construct(HttpKernelInterface $app, CookieJar $cookies)
    {
        $this->app = $app;
        $this->cookies = $cookies;
    }
    public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
    {
        $response = $this->app->handle($request, $type, $catch);
        foreach ($this->cookies->getQueuedCookies() as $cookie) {
            $response->headers->setCookie($cookie);
    public function __construct(HttpKernelInterface $app, Encrypter $encrypter)
    {
        $this->app = $app;
        $this->encrypter = $encrypter;
    }
    public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
    {
        return $this->encrypt($this->app->handle($this->decrypt($request), $type, $catch));
    }
    protected function decrypt(Request $request)
    public function __construct(HttpKernelInterface $app, array $middlewares)
    {
        $this->app = $app;
        $this->middlewares = $middlewares;
    }
    public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
    {
        return $this->app->handle($request, $type, $catch);
    }
    public function terminate(Request $request, Response $response)
        if ($this->isBooted()) {
            $this->fireAppCallbacks(array($callback));
        }
    }
    public function run(SymfonyRequest $request = null)
    {
        $request = $request ?: $this['request'];
        $response = with($stack = $this->getStackedClient())->handle($request);
        $response->send();
        $stack->terminate($request, $response);
| Once we have the application, we can simply call the run method,
| which will execute the request and send the response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have whipped up for them.
|
*/

$app->run();
Key Value
tab prices
empty
empty
empty
empty
Key Value
USER www-data
HOME /var/www
FCGI_ROLE RESPONDER
REDIRECT_REDIRECT_SCRIPT_URL /tours/walcreeper-and-vultures
REDIRECT_REDIRECT_SCRIPT_URI https://www.birdwatchingholidays.com/tours/walcreeper-and-vultures
REDIRECT_REDIRECT_HTTPS on
REDIRECT_REDIRECT_SSL_TLS_SNI www.birdwatchingholidays.com
REDIRECT_REDIRECT_STATUS 200
REDIRECT_SCRIPT_URL /tours/walcreeper-and-vultures
REDIRECT_SCRIPT_URI https://www.birdwatchingholidays.com/tours/walcreeper-and-vultures
REDIRECT_HTTPS on
REDIRECT_SSL_TLS_SNI www.birdwatchingholidays.com
REDIRECT_STATUS 200
SCRIPT_URL /tours/walcreeper-and-vultures
SCRIPT_URI https://www.birdwatchingholidays.com/tours/walcreeper-and-vultures
HTTPS on
SSL_TLS_SNI www.birdwatchingholidays.com
proxy-nokeepalive 1
HTTP_ACCEPT */*
HTTP_USER_AGENT claudebot
HTTP_REFERER http://www.birdwatchingholidays.com/tours/walcreeper-and-vultures?tab=prices
HTTP_HOST www.birdwatchingholidays.com
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
SERVER_SIGNATURE
SERVER_SOFTWARE Apache
SERVER_NAME www.birdwatchingholidays.com
SERVER_ADDR 213.239.193.45
SERVER_PORT 443
REMOTE_ADDR 44.201.94.1
DOCUMENT_ROOT /hosting/birdwatchingholidays/www
REQUEST_SCHEME https
CONTEXT_PREFIX
CONTEXT_DOCUMENT_ROOT /hosting/birdwatchingholidays/www
SERVER_ADMIN webmaster@tetracom.com
SCRIPT_FILENAME //hosting/birdwatchingholidays/www/public/index.php
REMOTE_PORT 55146
REDIRECT_URL /public/tours/walcreeper-and-vultures
REDIRECT_QUERY_STRING tab=prices
GATEWAY_INTERFACE CGI/1.1
SERVER_PROTOCOL HTTP/1.1
REQUEST_METHOD GET
QUERY_STRING tab=prices
REQUEST_URI /tours/walcreeper-and-vultures?tab=prices
SCRIPT_NAME /public/index.php
PHP_SELF /public/index.php
REQUEST_TIME_FLOAT 1711717495.5639
REQUEST_TIME 1711717495
empty
0. Whoops\Handler\PrettyPageHandler