Skip to content

Instantly share code, notes, and snippets.

@dave1010
Last active August 29, 2015 13:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dave1010/9975662 to your computer and use it in GitHub Desktop.
Save dave1010/9975662 to your computer and use it in GitHub Desktop.
laravel hhvm double closure bug
<?php
Route::group(['prefix' => 'api/v1'], function() {
Route::group(['prefix' => 'lines'], function(){});
});
<?php
echo __FILE__.':'.__LINE__."\n";
function () {
return;
die();
die(); // a few extra, for luck
return;
die();
die();
echo "this is not ran";
return;
if (false) {
function() {
echo __FILE__.':'.__LINE__."\n";
die("HHVM should not be executing this!!! 1\n");
};
} else {
function() {
echo __FILE__.':'.__LINE__."\n";
die("HHVM should not be executing this!!! 2\n");
};
}
};
/*
|--------------------------------------------------------------------------
| Create The Application
|--------------------------------------------------------------------------
|
| The first thing we will do is create a new Laravel application instance
| which serves as the "glue" for all the components of Laravel, and is
| the IoC container for the system binding all of the various parts.
|
*/
$app = new Illuminate\Foundation\Application;
/*
|--------------------------------------------------------------------------
| Detect The Application Environment
|--------------------------------------------------------------------------
|
| Laravel takes a dead simple approach to your application environments
| so you can just specify a machine name for the host that matches a
| given environment, then we will automatically detect it for you.
|
*/
$env = $app->detectEnvironment(array(
'local' => array('your-machine-name'),
));
/*
|--------------------------------------------------------------------------
| Bind Paths
|--------------------------------------------------------------------------
|
| Here we are binding the paths configured in paths.php to the app. You
| should not be changing these here. If you need to change these you
| may do so within the paths.php file and they will be bound here.
|
*/
$app->bindInstallPaths(require __DIR__.'/paths.php');
/*
|--------------------------------------------------------------------------
| Load The Application
|--------------------------------------------------------------------------
|
| Here we will load this Illuminate application. We will keep this in a
| separate location so we can isolate the creation of an application
| from the actual running of the application with a given request.
|
*/
$framework = $app['path.base'].'/vendor/laravel/framework/src';
require $framework.'/Illuminate/Foundation/start.php';
/*
|--------------------------------------------------------------------------
| Return The Application
|--------------------------------------------------------------------------
|
| This script returns the application instance. The instance is given to
| the calling script so we can separate the building of the instances
| from the actual running of the application and sending responses.
|
*/
return $app;
#!/bin/bash
composer create-project laravel/laravel laravel-app --prefer-dist
cd laravel-app
wget -O bootstrap/start.php https://gist.githubusercontent.com/dave1010/9975662/raw/4bb7af36c33dcaef392a823947fc9b8a6051bf36/bootstrap-start.php
wget -O app/routes.php https://gist.githubusercontent.com/dave1010/9975662/raw/34c7cea4e18ad02f21a69bd7e973e93e881812ba/app-routes.php
hhvm --version
# HipHop VM 3.0.1 (rel)
# Compiler: tags/HHVM-3.0.1-0-g97c0ac06000e060376fdac4a7970e954e77900d6
# Repo schema: a1146d49c5ba0d6db903beb3a4ed8a3766fef182
php artisan
# works fine
hhvm artisan
# /var/www/projects/dev/laravel-app/bootstrap/start.php:4
# /var/www/projects/dev/laravel-app/bootstrap/start.php:19
# HHVM should not be executing this!!! 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment