Back to Blog Home

User Feedback in Laravel

David Cramer image

David Cramer -

User Feedback in Laravel

Feedback is a feature that allows you to interact with your customers when they hit an issue. While most of Sentry will just work out of the box, Feedback requires a bit more work on your end. Today we’re going to try to help you get started so you can get back to shipping.

Getting Started

The first step to getting Feedback working is to configure a custom 500 error page, and ensure that page has context available from Sentry. To do this, we open up our error handler in App/Exceptions/Handler.php. From there, we just need to ensure that we’re rendering an error response, and then we pass in the context:

<?php

class Handler extends ExceptionHandler
{
    private $sentryID;

    public function report(Exception $e)
    {
        if ($this->shouldReport($e)) {
            // bind the event ID for Feedback
            $this->sentryID = app('sentry')->captureException($e);
        }
        parent::report($e);
    }

    public function render($request, Exception $e)
    {
        return response()->view('errors.500', [
            'sentryID' => $this->sentryID,
        ], 500);
    }
}

Next up we need to add in the Feedback widget to our error template. In our example above this is at resources/views/errors/500.blade.php:

<div class="content">
    <div class="title">Something went wrong.</div>
    @unless(empty($sentryID))
        <!-- Sentry JS SDK 2.1.+ required -->
        <script src="https://cdn.ravenjs.com/3.3.0/raven.min.js"></script>

        <script>
        Raven.showReportDialog({
            eventId: '{{ $sentryID }}',

            // use the public DSN (dont include your secret!)
            dsn: '___PUBLIC_DSN___'
        });
        </script>
    @endunless
</div>

That’s it! We’ll automatically pull up the Feedback dialog when an error happens:

User Feedback Sentry Dialog

Learn More

Take a look at the sentry-laravel project on GitHub to learn more about how things are implemented, as well as additional details on using it with Sentry.

You can also get a jump on all the resources we’ve baked into Sentry to make it a great error monitoring resource for just about every use case.

Share

Share on Twitter
Share on Facebook
Share on HackerNews
Share on LinkedIn

Published

Sentry Sign Up CTA

Code breaks, fix it faster

Sign up for Sentry and monitor your application in minutes.

Try Sentry Free

Topics

SDK Updates

The best way to debug slow web pages

Listen to the Syntax Podcast

Of course we sponsor a developer podcast. Check it out on your favorite listening platform.

Listen To Syntax
    TwitterGitHubDribbbleLinkedinDiscord
© 2024 • Sentry is a registered Trademark
of Functional Software, Inc.