Check if a section is defined in a view

Laravel 5.2 added a @hasSection directive that does exactly what you're asking. It's not mentioned in 5.3 or 5.4 docs for some reason.

@hasSection('title')
    <title>@yield('title') - {{ config('app.name') }}</title>
@else
    <title>{{ config('app.name') }}</title>
@endif

You can use this to tell if a section is defined or not :

@if (!empty($__env->yieldContent('sidebar')))
   //It is defined
@endif

$__env->yieldContent() returns the content of the specified section, or an empty string if it is not defined or empty.

Edit

Prior to PHP 5.5 empty() will not work on the result of a function directly, so you can use trim() instead, like so :

@if (trim($__env->yieldContent('sidebar')))
   //It is defined
@endif