In my opinion, if you do a new request for every one of the many widgets a page may have, your users will suffer in experience, because it may get slower and slower.
If your problem is the data you need on your widgets, you can use View::composers():
View::composer(array('widgets.calendar'), function($view)
{
$view->with('month', new \Carbon\Carbon);
$view->with('year', new \Carbon\Carbon);
});
And $month
and $year
will be available to those views, so you don't need to pass them in the include:
@include('widgets.calendar')
You can create a file for this purpose, something like app/composers.php
and load it in your app/start/global.php:
require app_path().'/composers.php';