Browse Source

Upgrade PHP Laravel framework (#3384)

* Starting fresh with a Laravel 5.6 default skeleton

* All Laravel tests implemented

* Laravel tuning:
- debug mode set to false
- disabled all middleware since they are not needed (including sessions, csrf, etc)

* Laravel tuning: added config and route caching as part of setup

* Laravel cache driver should probably be set to file
fturmel 7 years ago
parent
commit
6326196717
100 changed files with 4964 additions and 2531 deletions
  1. 39 0
      frameworks/PHP/laravel/.env
  2. 39 0
      frameworks/PHP/laravel/.env.example
  3. 4 0
      frameworks/PHP/laravel/.gitattributes
  4. 12 17
      frameworks/PHP/laravel/.gitignore
  5. 0 6
      frameworks/PHP/laravel/.travis.yml
  6. 0 3
      frameworks/PHP/laravel/CONTRIBUTING.md
  7. 42 0
      frameworks/PHP/laravel/app/Console/Kernel.php
  8. 53 0
      frameworks/PHP/laravel/app/Exceptions/Handler.php
  9. 32 0
      frameworks/PHP/laravel/app/Http/Controllers/Auth/ForgotPasswordController.php
  10. 39 0
      frameworks/PHP/laravel/app/Http/Controllers/Auth/LoginController.php
  11. 72 0
      frameworks/PHP/laravel/app/Http/Controllers/Auth/RegisterController.php
  12. 39 0
      frameworks/PHP/laravel/app/Http/Controllers/Auth/ResetPasswordController.php
  13. 72 0
      frameworks/PHP/laravel/app/Http/Controllers/Controller.php
  14. 62 0
      frameworks/PHP/laravel/app/Http/Kernel.php
  15. 17 0
      frameworks/PHP/laravel/app/Http/Middleware/EncryptCookies.php
  16. 26 0
      frameworks/PHP/laravel/app/Http/Middleware/RedirectIfAuthenticated.php
  17. 18 0
      frameworks/PHP/laravel/app/Http/Middleware/TrimStrings.php
  18. 23 0
      frameworks/PHP/laravel/app/Http/Middleware/TrustProxies.php
  19. 17 0
      frameworks/PHP/laravel/app/Http/Middleware/VerifyCsrfToken.php
  20. 12 0
      frameworks/PHP/laravel/app/Models/Fortune.php
  21. 12 0
      frameworks/PHP/laravel/app/Models/World.php
  22. 28 0
      frameworks/PHP/laravel/app/Providers/AppServiceProvider.php
  23. 30 0
      frameworks/PHP/laravel/app/Providers/AuthServiceProvider.php
  24. 21 0
      frameworks/PHP/laravel/app/Providers/BroadcastServiceProvider.php
  25. 32 0
      frameworks/PHP/laravel/app/Providers/EventServiceProvider.php
  26. 73 0
      frameworks/PHP/laravel/app/Providers/RouteServiceProvider.php
  27. 29 0
      frameworks/PHP/laravel/app/User.php
  28. 0 0
      frameworks/PHP/laravel/app/commands/.gitkeep
  29. 0 194
      frameworks/PHP/laravel/app/config/app.php
  30. 0 71
      frameworks/PHP/laravel/app/config/auth.php
  31. 0 89
      frameworks/PHP/laravel/app/config/cache.php
  32. 0 18
      frameworks/PHP/laravel/app/config/compile.php
  33. 0 126
      frameworks/PHP/laravel/app/config/database.php
  34. 0 18
      frameworks/PHP/laravel/app/config/local/app.php
  35. 0 47
      frameworks/PHP/laravel/app/config/local/database.php
  36. 0 124
      frameworks/PHP/laravel/app/config/mail.php
  37. 0 0
      frameworks/PHP/laravel/app/config/packages/.gitkeep
  38. 0 85
      frameworks/PHP/laravel/app/config/queue.php
  39. 0 59
      frameworks/PHP/laravel/app/config/remote.php
  40. 0 31
      frameworks/PHP/laravel/app/config/services.php
  41. 0 140
      frameworks/PHP/laravel/app/config/session.php
  42. 0 20
      frameworks/PHP/laravel/app/config/testing/cache.php
  43. 0 21
      frameworks/PHP/laravel/app/config/testing/session.php
  44. 0 31
      frameworks/PHP/laravel/app/config/view.php
  45. 0 31
      frameworks/PHP/laravel/app/config/workbench.php
  46. 0 0
      frameworks/PHP/laravel/app/controllers/.gitkeep
  47. 0 18
      frameworks/PHP/laravel/app/controllers/BaseController.php
  48. 0 31
      frameworks/PHP/laravel/app/controllers/bench.php
  49. 0 0
      frameworks/PHP/laravel/app/database/migrations/.gitkeep
  50. 0 0
      frameworks/PHP/laravel/app/database/seeds/.gitkeep
  51. 0 17
      frameworks/PHP/laravel/app/database/seeds/DatabaseSeeder.php
  52. 0 90
      frameworks/PHP/laravel/app/filters.php
  53. 0 20
      frameworks/PHP/laravel/app/lang/en/pagination.php
  54. 0 26
      frameworks/PHP/laravel/app/lang/en/reminders.php
  55. 0 106
      frameworks/PHP/laravel/app/lang/en/validation.php
  56. 0 26
      frameworks/PHP/laravel/app/models/User.php
  57. 0 72
      frameworks/PHP/laravel/app/routes.php
  58. 0 13
      frameworks/PHP/laravel/app/start/artisan.php
  59. 0 81
      frameworks/PHP/laravel/app/start/global.php
  60. 0 1
      frameworks/PHP/laravel/app/storage/.gitignore
  61. 0 2
      frameworks/PHP/laravel/app/storage/cache/.gitignore
  62. 0 2
      frameworks/PHP/laravel/app/storage/logs/.gitignore
  63. 0 2
      frameworks/PHP/laravel/app/storage/meta/.gitignore
  64. 0 2
      frameworks/PHP/laravel/app/storage/sessions/.gitignore
  65. 0 2
      frameworks/PHP/laravel/app/storage/views/.gitignore
  66. 0 17
      frameworks/PHP/laravel/app/tests/ExampleTest.php
  67. 0 19
      frameworks/PHP/laravel/app/tests/TestCase.php
  68. 0 14
      frameworks/PHP/laravel/app/views/bench/fortunes.blade.php
  69. 0 125
      frameworks/PHP/laravel/app/views/error/400.php
  70. 0 125
      frameworks/PHP/laravel/app/views/error/500.php
  71. 0 57
      frameworks/PHP/laravel/app/views/home/index.blade.php
  72. 0 10
      frameworks/PHP/laravel/app/views/layouts/main.blade.php
  73. 13 34
      frameworks/PHP/laravel/artisan
  74. 29 49
      frameworks/PHP/laravel/benchmark_config.json
  75. 55 0
      frameworks/PHP/laravel/bootstrap/app.php
  76. 0 75
      frameworks/PHP/laravel/bootstrap/autoload.php
  77. 2 0
      frameworks/PHP/laravel/bootstrap/cache/.gitignore
  78. 0 57
      frameworks/PHP/laravel/bootstrap/paths.php
  79. 0 73
      frameworks/PHP/laravel/bootstrap/start.php
  80. 58 22
      frameworks/PHP/laravel/composer.json
  81. 2633 163
      frameworks/PHP/laravel/composer.lock
  82. 214 0
      frameworks/PHP/laravel/config/app.php
  83. 102 0
      frameworks/PHP/laravel/config/auth.php
  84. 59 0
      frameworks/PHP/laravel/config/broadcasting.php
  85. 94 0
      frameworks/PHP/laravel/config/cache.php
  86. 120 0
      frameworks/PHP/laravel/config/database.php
  87. 69 0
      frameworks/PHP/laravel/config/filesystems.php
  88. 20 0
      frameworks/PHP/laravel/config/hashing.php
  89. 70 0
      frameworks/PHP/laravel/config/logging.php
  90. 123 0
      frameworks/PHP/laravel/config/mail.php
  91. 86 0
      frameworks/PHP/laravel/config/queue.php
  92. 38 0
      frameworks/PHP/laravel/config/services.php
  93. 197 0
      frameworks/PHP/laravel/config/session.php
  94. 33 0
      frameworks/PHP/laravel/config/view.php
  95. 0 0
      frameworks/PHP/laravel/database/.gitignore
  96. 23 0
      frameworks/PHP/laravel/database/factories/UserFactory.php
  97. 35 0
      frameworks/PHP/laravel/database/migrations/2014_10_12_000000_create_users_table.php
  98. 32 0
      frameworks/PHP/laravel/database/migrations/2014_10_12_100000_create_password_resets_table.php
  99. 16 0
      frameworks/PHP/laravel/database/seeds/DatabaseSeeder.php
  100. 0 49
      frameworks/PHP/laravel/deploy/config.hdf

+ 39 - 0
frameworks/PHP/laravel/.env

@@ -0,0 +1,39 @@
+APP_NAME=Laravel
+APP_ENV=local
+APP_KEY=base64:JRW3D/imCqern1eNGYaRTmP8wixsi3gWRXTSIT1LGTQ=
+APP_DEBUG=false
+APP_URL=http://localhost
+
+LOG_CHANNEL=stack
+
+DB_CONNECTION=mysql
+DB_HOST=__DBHOST__
+DB_PORT=3306
+DB_DATABASE=hello_world
+DB_USERNAME=benchmarkdbuser
+DB_PASSWORD=benchmarkdbpass
+
+BROADCAST_DRIVER=null
+CACHE_DRIVER=file
+SESSION_DRIVER=array
+SESSION_LIFETIME=120
+QUEUE_DRIVER=sync
+
+REDIS_HOST=127.0.0.1
+REDIS_PASSWORD=null
+REDIS_PORT=6379
+
+MAIL_DRIVER=smtp
+MAIL_HOST=smtp.mailtrap.io
+MAIL_PORT=2525
+MAIL_USERNAME=null
+MAIL_PASSWORD=null
+MAIL_ENCRYPTION=null
+
+PUSHER_APP_ID=
+PUSHER_APP_KEY=
+PUSHER_APP_SECRET=
+PUSHER_APP_CLUSTER=mt1
+
+MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
+MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

+ 39 - 0
frameworks/PHP/laravel/.env.example

@@ -0,0 +1,39 @@
+APP_NAME=Laravel
+APP_ENV=local
+APP_KEY=
+APP_DEBUG=true
+APP_URL=http://localhost
+
+LOG_CHANNEL=stack
+
+DB_CONNECTION=mysql
+DB_HOST=127.0.0.1
+DB_PORT=3306
+DB_DATABASE=homestead
+DB_USERNAME=homestead
+DB_PASSWORD=secret
+
+BROADCAST_DRIVER=log
+CACHE_DRIVER=file
+SESSION_DRIVER=file
+SESSION_LIFETIME=120
+QUEUE_DRIVER=sync
+
+REDIS_HOST=127.0.0.1
+REDIS_PASSWORD=null
+REDIS_PORT=6379
+
+MAIL_DRIVER=smtp
+MAIL_HOST=smtp.mailtrap.io
+MAIL_PORT=2525
+MAIL_USERNAME=null
+MAIL_PASSWORD=null
+MAIL_ENCRYPTION=null
+
+PUSHER_APP_ID=
+PUSHER_APP_KEY=
+PUSHER_APP_SECRET=
+PUSHER_APP_CLUSTER=mt1
+
+MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
+MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

+ 4 - 0
frameworks/PHP/laravel/.gitattributes

@@ -1 +1,5 @@
 * text=auto
 * text=auto
+*.css linguist-vendored
+*.scss linguist-vendored
+*.js linguist-vendored
+CHANGELOG.md export-ignore

+ 12 - 17
frameworks/PHP/laravel/.gitignore

@@ -1,18 +1,13 @@
-deploy/nginx.conf
-deploy/php-fpm.pid
-/bootstrap/compiled.php
+/node_modules
+/public/hot
+/public/storage
+/storage/*.key
 /vendor
 /vendor
-composer.phar
-.env.*.php
-.env.php
-.DS_Store
-Thumbs.db
-/app/cache
-/app/logs
-/bin
-/vendors
-/build
-/dist
-.DS_Store
-/tags
-.idea
+/.idea
+/.vscode
+/.vagrant
+Homestead.json
+Homestead.yaml
+npm-debug.log
+yarn-error.log
+deploy/php-fpm.pid

+ 0 - 6
frameworks/PHP/laravel/.travis.yml

@@ -1,6 +0,0 @@
-language: php
-
-php:
-  - 5.3
-
-script: "php artisan test:core"

+ 0 - 3
frameworks/PHP/laravel/CONTRIBUTING.md

@@ -1,3 +0,0 @@
-# Contribution Guidelines
-
-Please submit all issues and pull requests to the [laravel/framework](http://github.com/laravel/framework) repository!

+ 42 - 0
frameworks/PHP/laravel/app/Console/Kernel.php

@@ -0,0 +1,42 @@
+<?php
+
+namespace App\Console;
+
+use Illuminate\Console\Scheduling\Schedule;
+use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
+
+class Kernel extends ConsoleKernel
+{
+    /**
+     * The Artisan commands provided by your application.
+     *
+     * @var array
+     */
+    protected $commands = [
+        //
+    ];
+
+    /**
+     * Define the application's command schedule.
+     *
+     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
+     * @return void
+     */
+    protected function schedule(Schedule $schedule)
+    {
+        // $schedule->command('inspire')
+        //          ->hourly();
+    }
+
+    /**
+     * Register the commands for the application.
+     *
+     * @return void
+     */
+    protected function commands()
+    {
+        $this->load(__DIR__.'/Commands');
+
+        require base_path('routes/console.php');
+    }
+}

+ 53 - 0
frameworks/PHP/laravel/app/Exceptions/Handler.php

@@ -0,0 +1,53 @@
+<?php
+
+namespace App\Exceptions;
+
+use Exception;
+use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
+
+class Handler extends ExceptionHandler
+{
+    /**
+     * A list of the exception types that are not reported.
+     *
+     * @var array
+     */
+    protected $dontReport = [
+        //
+    ];
+
+    /**
+     * A list of the inputs that are never flashed for validation exceptions.
+     *
+     * @var array
+     */
+    protected $dontFlash = [
+        'password',
+        'password_confirmation',
+    ];
+
+    /**
+     * Report or log an exception.
+     *
+     * This is a great spot to send exceptions to Sentry, Bugsnag, etc.
+     *
+     * @param  \Exception  $exception
+     * @return void
+     */
+    public function report(Exception $exception)
+    {
+        parent::report($exception);
+    }
+
+    /**
+     * Render an exception into an HTTP response.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Exception  $exception
+     * @return \Illuminate\Http\Response
+     */
+    public function render($request, Exception $exception)
+    {
+        return parent::render($request, $exception);
+    }
+}

+ 32 - 0
frameworks/PHP/laravel/app/Http/Controllers/Auth/ForgotPasswordController.php

@@ -0,0 +1,32 @@
+<?php
+
+namespace App\Http\Controllers\Auth;
+
+use App\Http\Controllers\Controller;
+use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
+
+class ForgotPasswordController extends Controller
+{
+    /*
+    |--------------------------------------------------------------------------
+    | Password Reset Controller
+    |--------------------------------------------------------------------------
+    |
+    | This controller is responsible for handling password reset emails and
+    | includes a trait which assists in sending these notifications from
+    | your application to your users. Feel free to explore this trait.
+    |
+    */
+
+    use SendsPasswordResetEmails;
+
+    /**
+     * Create a new controller instance.
+     *
+     * @return void
+     */
+    public function __construct()
+    {
+        $this->middleware('guest');
+    }
+}

+ 39 - 0
frameworks/PHP/laravel/app/Http/Controllers/Auth/LoginController.php

@@ -0,0 +1,39 @@
+<?php
+
+namespace App\Http\Controllers\Auth;
+
+use App\Http\Controllers\Controller;
+use Illuminate\Foundation\Auth\AuthenticatesUsers;
+
+class LoginController extends Controller
+{
+    /*
+    |--------------------------------------------------------------------------
+    | Login Controller
+    |--------------------------------------------------------------------------
+    |
+    | This controller handles authenticating users for the application and
+    | redirecting them to your home screen. The controller uses a trait
+    | to conveniently provide its functionality to your applications.
+    |
+    */
+
+    use AuthenticatesUsers;
+
+    /**
+     * Where to redirect users after login.
+     *
+     * @var string
+     */
+    protected $redirectTo = '/home';
+
+    /**
+     * Create a new controller instance.
+     *
+     * @return void
+     */
+    public function __construct()
+    {
+        $this->middleware('guest')->except('logout');
+    }
+}

+ 72 - 0
frameworks/PHP/laravel/app/Http/Controllers/Auth/RegisterController.php

@@ -0,0 +1,72 @@
+<?php
+
+namespace App\Http\Controllers\Auth;
+
+use App\User;
+use App\Http\Controllers\Controller;
+use Illuminate\Support\Facades\Hash;
+use Illuminate\Support\Facades\Validator;
+use Illuminate\Foundation\Auth\RegistersUsers;
+
+class RegisterController extends Controller
+{
+    /*
+    |--------------------------------------------------------------------------
+    | Register Controller
+    |--------------------------------------------------------------------------
+    |
+    | This controller handles the registration of new users as well as their
+    | validation and creation. By default this controller uses a trait to
+    | provide this functionality without requiring any additional code.
+    |
+    */
+
+    use RegistersUsers;
+
+    /**
+     * Where to redirect users after registration.
+     *
+     * @var string
+     */
+    protected $redirectTo = '/home';
+
+    /**
+     * Create a new controller instance.
+     *
+     * @return void
+     */
+    public function __construct()
+    {
+        $this->middleware('guest');
+    }
+
+    /**
+     * Get a validator for an incoming registration request.
+     *
+     * @param  array  $data
+     * @return \Illuminate\Contracts\Validation\Validator
+     */
+    protected function validator(array $data)
+    {
+        return Validator::make($data, [
+            'name' => 'required|string|max:255',
+            'email' => 'required|string|email|max:255|unique:users',
+            'password' => 'required|string|min:6|confirmed',
+        ]);
+    }
+
+    /**
+     * Create a new user instance after a valid registration.
+     *
+     * @param  array  $data
+     * @return \App\User
+     */
+    protected function create(array $data)
+    {
+        return User::create([
+            'name' => $data['name'],
+            'email' => $data['email'],
+            'password' => Hash::make($data['password']),
+        ]);
+    }
+}

+ 39 - 0
frameworks/PHP/laravel/app/Http/Controllers/Auth/ResetPasswordController.php

@@ -0,0 +1,39 @@
+<?php
+
+namespace App\Http\Controllers\Auth;
+
+use App\Http\Controllers\Controller;
+use Illuminate\Foundation\Auth\ResetsPasswords;
+
+class ResetPasswordController extends Controller
+{
+    /*
+    |--------------------------------------------------------------------------
+    | Password Reset Controller
+    |--------------------------------------------------------------------------
+    |
+    | This controller is responsible for handling password reset requests
+    | and uses a simple trait to include this behavior. You're free to
+    | explore this trait and override any methods you wish to tweak.
+    |
+    */
+
+    use ResetsPasswords;
+
+    /**
+     * Where to redirect users after resetting their password.
+     *
+     * @var string
+     */
+    protected $redirectTo = '/home';
+
+    /**
+     * Create a new controller instance.
+     *
+     * @return void
+     */
+    public function __construct()
+    {
+        $this->middleware('guest');
+    }
+}

+ 72 - 0
frameworks/PHP/laravel/app/Http/Controllers/Controller.php

@@ -0,0 +1,72 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use App\Models\Fortune;
+use App\Models\World;
+use Illuminate\Routing\Controller as BaseController;
+
+class Controller extends BaseController {
+
+	public function json() {
+		return ['message' => 'Hello, World!'];
+	}
+
+	public function db() {
+		return World::find(random_int(1, 10000));
+	}
+
+	public function queries($queries = 1) {
+		$queries = $this->clamp($queries);
+
+		$rows = [];
+		while ($queries--) {
+			$rows[] = World::find(random_int(1, 10000));
+		}
+
+		return $rows;
+	}
+
+	public function fortunes() {
+		$rows = Fortune::all();
+
+		$insert = new Fortune();
+		$insert->id = 0;
+		$insert->message = "Additional fortune added at request time.";
+
+		$rows->add($insert);
+		$rows = $rows->sortBy("message");
+
+		return view("fortunes", ["rows" => $rows]);
+	}
+
+	public function updates($queries = 1) {
+		$queries = $this->clamp($queries);
+
+		$rows = [];
+
+		while ($queries--) {
+			$row = World::find(random_int(1, 10000));
+			$row->randomNumber = random_int(1, 10000);
+			$row->save();
+
+			$rows[] = $row;
+		}
+
+		return $rows;
+	}
+
+	public function plaintext() {
+		return response("Hello, World!")->header('Content-Type', 'text/plain');
+	}
+
+	private function clamp($value): int {
+		if (!is_numeric($value) || $value < 1) {
+			return 1;
+		} else if ($value > 500) {
+			return 500;
+		} else {
+			return $value;
+		}
+	}
+}

+ 62 - 0
frameworks/PHP/laravel/app/Http/Kernel.php

@@ -0,0 +1,62 @@
+<?php
+
+namespace App\Http;
+
+use Illuminate\Foundation\Http\Kernel as HttpKernel;
+
+class Kernel extends HttpKernel
+{
+    /**
+     * The application's global HTTP middleware stack.
+     *
+     * These middleware are run during every request to your application.
+     *
+     * @var array
+     */
+    protected $middleware = [
+//        \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
+//        \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
+//        \App\Http\Middleware\TrimStrings::class,
+//        \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
+//        \App\Http\Middleware\TrustProxies::class,
+    ];
+
+    /**
+     * The application's route middleware groups.
+     *
+     * @var array
+     */
+    protected $middlewareGroups = [
+        'web' => [
+//            \App\Http\Middleware\EncryptCookies::class,
+//            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
+//            \Illuminate\Session\Middleware\StartSession::class,
+//            // \Illuminate\Session\Middleware\AuthenticateSession::class,
+//            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
+//            \App\Http\Middleware\VerifyCsrfToken::class,
+//            \Illuminate\Routing\Middleware\SubstituteBindings::class,
+        ],
+
+        'api' => [
+            'throttle:60,1',
+            'bindings',
+        ],
+    ];
+
+    /**
+     * The application's route middleware.
+     *
+     * These middleware may be assigned to groups or used individually.
+     *
+     * @var array
+     */
+    protected $routeMiddleware = [
+//        'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
+//        'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
+//        'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
+//        'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
+//        'can' => \Illuminate\Auth\Middleware\Authorize::class,
+//        'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
+//        'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
+    ];
+}

+ 17 - 0
frameworks/PHP/laravel/app/Http/Middleware/EncryptCookies.php

@@ -0,0 +1,17 @@
+<?php
+
+namespace App\Http\Middleware;
+
+use Illuminate\Cookie\Middleware\EncryptCookies as Middleware;
+
+class EncryptCookies extends Middleware
+{
+    /**
+     * The names of the cookies that should not be encrypted.
+     *
+     * @var array
+     */
+    protected $except = [
+        //
+    ];
+}

+ 26 - 0
frameworks/PHP/laravel/app/Http/Middleware/RedirectIfAuthenticated.php

@@ -0,0 +1,26 @@
+<?php
+
+namespace App\Http\Middleware;
+
+use Closure;
+use Illuminate\Support\Facades\Auth;
+
+class RedirectIfAuthenticated
+{
+    /**
+     * Handle an incoming request.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Closure  $next
+     * @param  string|null  $guard
+     * @return mixed
+     */
+    public function handle($request, Closure $next, $guard = null)
+    {
+        if (Auth::guard($guard)->check()) {
+            return redirect('/home');
+        }
+
+        return $next($request);
+    }
+}

+ 18 - 0
frameworks/PHP/laravel/app/Http/Middleware/TrimStrings.php

@@ -0,0 +1,18 @@
+<?php
+
+namespace App\Http\Middleware;
+
+use Illuminate\Foundation\Http\Middleware\TrimStrings as Middleware;
+
+class TrimStrings extends Middleware
+{
+    /**
+     * The names of the attributes that should not be trimmed.
+     *
+     * @var array
+     */
+    protected $except = [
+        'password',
+        'password_confirmation',
+    ];
+}

+ 23 - 0
frameworks/PHP/laravel/app/Http/Middleware/TrustProxies.php

@@ -0,0 +1,23 @@
+<?php
+
+namespace App\Http\Middleware;
+
+use Illuminate\Http\Request;
+use Fideloper\Proxy\TrustProxies as Middleware;
+
+class TrustProxies extends Middleware
+{
+    /**
+     * The trusted proxies for this application.
+     *
+     * @var array
+     */
+    protected $proxies;
+
+    /**
+     * The headers that should be used to detect proxies.
+     *
+     * @var string
+     */
+    protected $headers = Request::HEADER_X_FORWARDED_ALL;
+}

+ 17 - 0
frameworks/PHP/laravel/app/Http/Middleware/VerifyCsrfToken.php

@@ -0,0 +1,17 @@
+<?php
+
+namespace App\Http\Middleware;
+
+use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
+
+class VerifyCsrfToken extends Middleware
+{
+    /**
+     * The URIs that should be excluded from CSRF verification.
+     *
+     * @var array
+     */
+    protected $except = [
+        //
+    ];
+}

+ 12 - 0
frameworks/PHP/laravel/app/Models/Fortune.php

@@ -0,0 +1,12 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+class Fortune extends Model {
+
+	protected $table = "Fortune";
+	public $timestamps = false;
+	
+}

+ 12 - 0
frameworks/PHP/laravel/app/Models/World.php

@@ -0,0 +1,12 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+class World extends Model {
+
+	protected $table = "World";
+	public $timestamps = false;
+
+}

+ 28 - 0
frameworks/PHP/laravel/app/Providers/AppServiceProvider.php

@@ -0,0 +1,28 @@
+<?php
+
+namespace App\Providers;
+
+use Illuminate\Support\ServiceProvider;
+
+class AppServiceProvider extends ServiceProvider
+{
+    /**
+     * Bootstrap any application services.
+     *
+     * @return void
+     */
+    public function boot()
+    {
+        //
+    }
+
+    /**
+     * Register any application services.
+     *
+     * @return void
+     */
+    public function register()
+    {
+        //
+    }
+}

+ 30 - 0
frameworks/PHP/laravel/app/Providers/AuthServiceProvider.php

@@ -0,0 +1,30 @@
+<?php
+
+namespace App\Providers;
+
+use Illuminate\Support\Facades\Gate;
+use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
+
+class AuthServiceProvider extends ServiceProvider
+{
+    /**
+     * The policy mappings for the application.
+     *
+     * @var array
+     */
+    protected $policies = [
+        'App\Model' => 'App\Policies\ModelPolicy',
+    ];
+
+    /**
+     * Register any authentication / authorization services.
+     *
+     * @return void
+     */
+    public function boot()
+    {
+        $this->registerPolicies();
+
+        //
+    }
+}

+ 21 - 0
frameworks/PHP/laravel/app/Providers/BroadcastServiceProvider.php

@@ -0,0 +1,21 @@
+<?php
+
+namespace App\Providers;
+
+use Illuminate\Support\ServiceProvider;
+use Illuminate\Support\Facades\Broadcast;
+
+class BroadcastServiceProvider extends ServiceProvider
+{
+    /**
+     * Bootstrap any application services.
+     *
+     * @return void
+     */
+    public function boot()
+    {
+        Broadcast::routes();
+
+        require base_path('routes/channels.php');
+    }
+}

+ 32 - 0
frameworks/PHP/laravel/app/Providers/EventServiceProvider.php

@@ -0,0 +1,32 @@
+<?php
+
+namespace App\Providers;
+
+use Illuminate\Support\Facades\Event;
+use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
+
+class EventServiceProvider extends ServiceProvider
+{
+    /**
+     * The event listener mappings for the application.
+     *
+     * @var array
+     */
+    protected $listen = [
+        'App\Events\Event' => [
+            'App\Listeners\EventListener',
+        ],
+    ];
+
+    /**
+     * Register any events for your application.
+     *
+     * @return void
+     */
+    public function boot()
+    {
+        parent::boot();
+
+        //
+    }
+}

+ 73 - 0
frameworks/PHP/laravel/app/Providers/RouteServiceProvider.php

@@ -0,0 +1,73 @@
+<?php
+
+namespace App\Providers;
+
+use Illuminate\Support\Facades\Route;
+use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
+
+class RouteServiceProvider extends ServiceProvider
+{
+    /**
+     * This namespace is applied to your controller routes.
+     *
+     * In addition, it is set as the URL generator's root namespace.
+     *
+     * @var string
+     */
+    protected $namespace = 'App\Http\Controllers';
+
+    /**
+     * Define your route model bindings, pattern filters, etc.
+     *
+     * @return void
+     */
+    public function boot()
+    {
+        //
+
+        parent::boot();
+    }
+
+    /**
+     * Define the routes for the application.
+     *
+     * @return void
+     */
+    public function map()
+    {
+        $this->mapApiRoutes();
+
+        $this->mapWebRoutes();
+
+        //
+    }
+
+    /**
+     * Define the "web" routes for the application.
+     *
+     * These routes all receive session state, CSRF protection, etc.
+     *
+     * @return void
+     */
+    protected function mapWebRoutes()
+    {
+        Route::middleware('web')
+             ->namespace($this->namespace)
+             ->group(base_path('routes/web.php'));
+    }
+
+    /**
+     * Define the "api" routes for the application.
+     *
+     * These routes are typically stateless.
+     *
+     * @return void
+     */
+    protected function mapApiRoutes()
+    {
+        Route::prefix('api')
+             ->middleware('api')
+             ->namespace($this->namespace)
+             ->group(base_path('routes/api.php'));
+    }
+}

+ 29 - 0
frameworks/PHP/laravel/app/User.php

@@ -0,0 +1,29 @@
+<?php
+
+namespace App;
+
+use Illuminate\Notifications\Notifiable;
+use Illuminate\Foundation\Auth\User as Authenticatable;
+
+class User extends Authenticatable
+{
+    use Notifiable;
+
+    /**
+     * The attributes that are mass assignable.
+     *
+     * @var array
+     */
+    protected $fillable = [
+        'name', 'email', 'password',
+    ];
+
+    /**
+     * The attributes that should be hidden for arrays.
+     *
+     * @var array
+     */
+    protected $hidden = [
+        'password', 'remember_token',
+    ];
+}

+ 0 - 0
frameworks/PHP/laravel/app/commands/.gitkeep


+ 0 - 194
frameworks/PHP/laravel/app/config/app.php

@@ -1,194 +0,0 @@
-<?php
-error_reporting(E_ALL ^ E_DEPRECATED);
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Application Debug Mode
-	|--------------------------------------------------------------------------
-	|
-	| When your application is in debug mode, detailed error messages with
-	| stack traces will be shown on every error that occurs within your
-	| application. If disabled, a simple generic error page is shown.
-	|
-	*/
-
-	'debug' => false,
-
-	/*
-	|--------------------------------------------------------------------------
-	| Application URL
-	|--------------------------------------------------------------------------
-	|
-	| This URL is used by the console to properly generate URLs when using
-	| the Artisan command line tool. You should set this to the root of
-	| your application so that it is used when running Artisan tasks.
-	|
-	*/
-
-	'url' => 'http://localhost',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Application Timezone
-	|--------------------------------------------------------------------------
-	|
-	| Here you may specify the default timezone for your application, which
-	| will be used by the PHP date and date-time functions. We have gone
-	| ahead and set this to a sensible default for you out of the box.
-	|
-	*/
-
-	'timezone' => 'UTC',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Application Locale Configuration
-	|--------------------------------------------------------------------------
-	|
-	| The application locale determines the default locale that will be used
-	| by the translation service provider. You are free to set this value
-	| to any of the locales which will be supported by the application.
-	|
-	*/
-
-	'locale' => 'en',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Application Fallback Locale
-	|--------------------------------------------------------------------------
-	|
-	| The fallback locale determines the locale to use when the current one
-	| is not available. You may change the value to correspond to any of
-	| the language folders that are provided through your application.
-	|
-	*/
-
-	'fallback_locale' => 'en',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Encryption Key
-	|--------------------------------------------------------------------------
-	|
-	| This key is used by the Illuminate encrypter service and should be set
-	| to a random, 32 character string, otherwise these encrypted strings
-	| will not be safe. Please do this before deploying an application!
-	|
-	*/
-
-	'key' => 'YourSecretKey!!!',
-
-	'cipher' => MCRYPT_RIJNDAEL_128,
-
-	/*
-	|--------------------------------------------------------------------------
-	| Autoloaded Service Providers
-	|--------------------------------------------------------------------------
-	|
-	| The service providers listed here will be automatically loaded on the
-	| request to your application. Feel free to add your own services to
-	| this array to grant expanded functionality to your applications.
-	|
-	*/
-
-	'providers' => array(
-
-		'Illuminate\Foundation\Providers\ArtisanServiceProvider',
-		'Illuminate\Auth\AuthServiceProvider',
-		'Illuminate\Cache\CacheServiceProvider',
-		'Illuminate\Session\CommandsServiceProvider',
-		'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
-		'Illuminate\Routing\ControllerServiceProvider',
-		'Illuminate\Cookie\CookieServiceProvider',
-		'Illuminate\Database\DatabaseServiceProvider',
-		'Illuminate\Encryption\EncryptionServiceProvider',
-		'Illuminate\Filesystem\FilesystemServiceProvider',
-		'Illuminate\Hashing\HashServiceProvider',
-		'Illuminate\Html\HtmlServiceProvider',
-		'Illuminate\Log\LogServiceProvider',
-		'Illuminate\Mail\MailServiceProvider',
-		'Illuminate\Database\MigrationServiceProvider',
-		'Illuminate\Pagination\PaginationServiceProvider',
-		'Illuminate\Queue\QueueServiceProvider',
-		'Illuminate\Redis\RedisServiceProvider',
-		'Illuminate\Remote\RemoteServiceProvider',
-		'Illuminate\Auth\Reminders\ReminderServiceProvider',
-		'Illuminate\Database\SeedServiceProvider',
-		'Illuminate\Session\SessionServiceProvider',
-		'Illuminate\Translation\TranslationServiceProvider',
-		'Illuminate\Validation\ValidationServiceProvider',
-		'Illuminate\View\ViewServiceProvider',
-		'Illuminate\Workbench\WorkbenchServiceProvider',
-
-	),
-
-	/*
-	|--------------------------------------------------------------------------
-	| Service Provider Manifest
-	|--------------------------------------------------------------------------
-	|
-	| The service provider manifest is used by Laravel to lazy load service
-	| providers which are not needed for each request, as well to keep a
-	| list of all of the services. Here, you may set its storage spot.
-	|
-	*/
-
-	'manifest' => storage_path().'/meta',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Class Aliases
-	|--------------------------------------------------------------------------
-	|
-	| This array of class aliases will be registered when this application
-	| is started. However, feel free to register as many as you wish as
-	| the aliases are "lazy" loaded so they don't hinder performance.
-	|
-	*/
-
-	'aliases' => array(
-
-		'App'               => 'Illuminate\Support\Facades\App',
-		'Artisan'           => 'Illuminate\Support\Facades\Artisan',
-		'Auth'              => 'Illuminate\Support\Facades\Auth',
-		'Blade'             => 'Illuminate\Support\Facades\Blade',
-		'Cache'             => 'Illuminate\Support\Facades\Cache',
-		'ClassLoader'       => 'Illuminate\Support\ClassLoader',
-		'Config'            => 'Illuminate\Support\Facades\Config',
-		'Controller'        => 'Illuminate\Routing\Controller',
-		'Cookie'            => 'Illuminate\Support\Facades\Cookie',
-		'Crypt'             => 'Illuminate\Support\Facades\Crypt',
-		'DB'                => 'Illuminate\Support\Facades\DB',
-		'Eloquent'          => 'Illuminate\Database\Eloquent\Model',
-		'Event'             => 'Illuminate\Support\Facades\Event',
-		'File'              => 'Illuminate\Support\Facades\File',
-		'Form'              => 'Illuminate\Support\Facades\Form',
-		'Hash'              => 'Illuminate\Support\Facades\Hash',
-		'HTML'              => 'Illuminate\Support\Facades\HTML',
-		'Input'             => 'Illuminate\Support\Facades\Input',
-		'Lang'              => 'Illuminate\Support\Facades\Lang',
-		'Log'               => 'Illuminate\Support\Facades\Log',
-		'Mail'              => 'Illuminate\Support\Facades\Mail',
-		'Paginator'         => 'Illuminate\Support\Facades\Paginator',
-		'Password'          => 'Illuminate\Support\Facades\Password',
-		'Queue'             => 'Illuminate\Support\Facades\Queue',
-		'Redirect'          => 'Illuminate\Support\Facades\Redirect',
-		'Redis'             => 'Illuminate\Support\Facades\Redis',
-		'Request'           => 'Illuminate\Support\Facades\Request',
-		'Response'          => 'Illuminate\Support\Facades\Response',
-		'Route'             => 'Illuminate\Support\Facades\Route',
-		'Schema'            => 'Illuminate\Support\Facades\Schema',
-		'Seeder'            => 'Illuminate\Database\Seeder',
-		'Session'           => 'Illuminate\Support\Facades\Session',
-		'SoftDeletingTrait' => 'Illuminate\Database\Eloquent\SoftDeletingTrait',
-		'SSH'               => 'Illuminate\Support\Facades\SSH',
-		'Str'               => 'Illuminate\Support\Str',
-		'URL'               => 'Illuminate\Support\Facades\URL',
-		'Validator'         => 'Illuminate\Support\Facades\Validator',
-		'View'              => 'Illuminate\Support\Facades\View',
-
-	),
-
-);

+ 0 - 71
frameworks/PHP/laravel/app/config/auth.php

@@ -1,71 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Default Authentication Driver
-	|--------------------------------------------------------------------------
-	|
-	| This option controls the authentication driver that will be utilized.
-	| This driver manages the retrieval and authentication of the users
-	| attempting to get access to protected areas of your application.
-	|
-	| Supported: "database", "eloquent"
-	|
-	*/
-
-	'driver' => 'eloquent',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Authentication Model
-	|--------------------------------------------------------------------------
-	|
-	| When using the "Eloquent" authentication driver, we need to know which
-	| Eloquent model should be used to retrieve your users. Of course, it
-	| is often just the "User" model but you may use whatever you like.
-	|
-	*/
-
-	'model' => 'User',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Authentication Table
-	|--------------------------------------------------------------------------
-	|
-	| When using the "Database" authentication driver, we need to know which
-	| table should be used to retrieve your users. We have chosen a basic
-	| default value but you may easily change it to any table you like.
-	|
-	*/
-
-	'table' => 'users',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Password Reminder Settings
-	|--------------------------------------------------------------------------
-	|
-	| Here you may set the settings for password reminders, including a view
-	| that should be used as your password reminder e-mail. You will also
-	| be able to set the name of the table that holds the reset tokens.
-	|
-	| The "expire" time is the number of minutes that the reminder should be
-	| considered valid. This security feature keeps tokens short-lived so
-	| they have less time to be guessed. You may change this as needed.
-	|
-	*/
-
-	'reminder' => array(
-
-		'email' => 'emails.auth.reminder',
-
-		'table' => 'password_reminders',
-
-		'expire' => 60,
-
-	),
-
-);

+ 0 - 89
frameworks/PHP/laravel/app/config/cache.php

@@ -1,89 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Default Cache Driver
-	|--------------------------------------------------------------------------
-	|
-	| This option controls the default cache "driver" that will be used when
-	| using the Caching library. Of course, you may use other drivers any
-	| time you wish. This is the default when another is not specified.
-	|
-	| Supported: "file", "database", "apc", "memcached", "redis", "array"
-	|
-	*/
-
-	'driver' => 'file',
-
-	/*
-	|--------------------------------------------------------------------------
-	| File Cache Location
-	|--------------------------------------------------------------------------
-	|
-	| When using the "file" cache driver, we need a location where the cache
-	| files may be stored. A sensible default has been specified, but you
-	| are free to change it to any other place on disk that you desire.
-	|
-	*/
-
-	'path' => storage_path().'/cache',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Database Cache Connection
-	|--------------------------------------------------------------------------
-	|
-	| When using the "database" cache driver you may specify the connection
-	| that should be used to store the cached items. When this option is
-	| null the default database connection will be utilized for cache.
-	|
-	*/
-
-	'connection' => null,
-
-	/*
-	|--------------------------------------------------------------------------
-	| Database Cache Table
-	|--------------------------------------------------------------------------
-	|
-	| When using the "database" cache driver we need to know the table that
-	| should be used to store the cached items. A default table name has
-	| been provided but you're free to change it however you deem fit.
-	|
-	*/
-
-	'table' => 'cache',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Memcached Servers
-	|--------------------------------------------------------------------------
-	|
-	| Now you may specify an array of your Memcached servers that should be
-	| used when utilizing the Memcached cache driver. All of the servers
-	| should contain a value for "host", "port", and "weight" options.
-	|
-	*/
-
-	'memcached' => array(
-
-		array('host' => '127.0.0.1', 'port' => 11211, 'weight' => 100),
-
-	),
-
-	/*
-	|--------------------------------------------------------------------------
-	| Cache Key Prefix
-	|--------------------------------------------------------------------------
-	|
-	| When utilizing a RAM based store such as APC or Memcached, there might
-	| be other applications utilizing the same cache. So, we'll specify a
-	| value to get prefixed to all our keys so we can avoid collisions.
-	|
-	*/
-
-	'prefix' => 'laravel',
-
-);

+ 0 - 18
frameworks/PHP/laravel/app/config/compile.php

@@ -1,18 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Additional Compiled Classes
-	|--------------------------------------------------------------------------
-	|
-	| Here you may specify additional classes to include in the compiled file
-	| generated by the `artisan optimize` command. These should be classes
-	| that are included on basically every request into the application.
-	|
-	*/
-
-
-
-);

+ 0 - 126
frameworks/PHP/laravel/app/config/database.php

@@ -1,126 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Database Query Logging
-	|--------------------------------------------------------------------------
-	|
-	| By default, the SQL, bindings, and execution time are logged in an array
-	| for you to review. They can be retrieved via the DB::profile() method.
-	| However, in some situations, you may want to disable logging for
-	| ultra high-volume database work. You can do so here.
-	|
-	*/
-
-	'profile' => false,
-
-	/*
-	|--------------------------------------------------------------------------
-	| PDO Fetch Style
-	|--------------------------------------------------------------------------
-	|
-	| By default, database results will be returned as instances of the PHP
-	| stdClass object; however, you may wish to retrieve records as arrays
-	| instead of objects. Here you can control the PDO fetch style of the
-	| database queries run by your application.
-	|
-	*/
-
-	'fetch' => PDO::FETCH_CLASS,
-
-	/*
-	|--------------------------------------------------------------------------
-	| Default Database Connection
-	|--------------------------------------------------------------------------
-	|
-	| The name of your default database connection. This connection will be used
-	| as the default for all database operations unless a different name is
-	| given when performing said operation. This connection name should be
-	| listed in the array of connections below.
-	|
-	*/
-
-	'default' => 'mysql',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Database Connections
-	|--------------------------------------------------------------------------
-	|
-	| All of the database connections used by your application. Many of your
-	| applications will no doubt only use one connection; however, you have
-	| the freedom to specify as many connections as you can handle.
-	|
-	| All database work in Laravel is done through the PHP's PDO facilities,
-	| so make sure you have the PDO drivers for your particular database of
-	| choice installed on your machine.
-	|
-	*/
-
-	'connections' => array(
-
-		'sqlite' => array(
-			'driver'   => 'sqlite',
-			'database' => 'application',
-			'prefix'   => '',
-		),
-
-		'mysql' => array(
-			'driver'   => 'mysql',
-			'host'     => '127.0.0.1',
-			'database' => 'hello_world',
-			'username' => 'benchmarkdbuser',
-			'password' => 'benchmarkdbpass',
-			'charset'  => 'utf8',
-			'collation'=> 'utf8_unicode_ci',
-			'prefix'   => '',
-		),
-
-		'pgsql' => array(
-			'driver'   => 'pgsql',
-			'host'     => '127.0.0.1',
-			'database' => 'database',
-			'username' => 'root',
-			'password' => '',
-			'charset'  => 'utf8',
-			'prefix'   => '',
-			'schema'   => 'public',
-		),
-
-		'sqlsrv' => array(
-			'driver'   => 'sqlsrv',
-			'host'     => '127.0.0.1',
-			'database' => 'database',
-			'username' => 'root',
-			'password' => '',
-			'prefix'   => '',
-		),
-
-	),
-
-	/*
-	|--------------------------------------------------------------------------
-	| Redis Databases
-	|--------------------------------------------------------------------------
-	|
-	| Redis is an open source, fast, and advanced key-value store. However, it
-	| provides a richer set of commands than a typical key-value store such as
-	| APC or memcached. All the cool kids are using it.
-	|
-	| To get the scoop on Redis, check out: http://redis.io
-	|
-	*/
-
-	'redis' => array(
-
-		'default' => array(
-			'host'     => '127.0.0.1',
-			'port'     => 6379,
-			'database' => 0
-		),
-
-	),
-
-);

+ 0 - 18
frameworks/PHP/laravel/app/config/local/app.php

@@ -1,18 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Application Debug Mode
-	|--------------------------------------------------------------------------
-	|
-	| When your application is in debug mode, detailed error messages with
-	| stack traces will be shown on every error that occurs within your
-	| application. If disabled, a simple generic error page is shown.
-	|
-	*/
-
-	'debug' => true,
-
-);

+ 0 - 47
frameworks/PHP/laravel/app/config/local/database.php

@@ -1,47 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Database Connections
-	|--------------------------------------------------------------------------
-	|
-	| Here are each of the database connections setup for your application.
-	| Of course, examples of configuring each database platform that is
-	| supported by Laravel is shown below to make development simple.
-	|
-	|
-	| All database work in Laravel is done through the PHP PDO facilities
-	| so make sure you have the driver for your particular database of
-	| choice installed on your machine before you begin development.
-	|
-	*/
-
-	'connections' => array(
-
-		'mysql' => array(
-			'driver'    => 'mysql',
-			'host'      => 'localhost',
-			'database'  => 'homestead',
-			'username'  => 'homestead',
-			'password'  => 'secret',
-			'charset'   => 'utf8',
-			'collation' => 'utf8_unicode_ci',
-			'prefix'    => '',
-		),
-
-		'pgsql' => array(
-			'driver'   => 'pgsql',
-			'host'     => 'localhost',
-			'database' => 'homestead',
-			'username' => 'homestead',
-			'password' => 'secret',
-			'charset'  => 'utf8',
-			'prefix'   => '',
-			'schema'   => 'public',
-		),
-
-	),
-
-);

+ 0 - 124
frameworks/PHP/laravel/app/config/mail.php

@@ -1,124 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Mail Driver
-	|--------------------------------------------------------------------------
-	|
-	| Laravel supports both SMTP and PHP's "mail" function as drivers for the
-	| sending of e-mail. You may specify which one you're using throughout
-	| your application here. By default, Laravel is setup for SMTP mail.
-	|
-	| Supported: "smtp", "mail", "sendmail", "mailgun", "mandrill", "log"
-	|
-	*/
-
-	'driver' => 'smtp',
-
-	/*
-	|--------------------------------------------------------------------------
-	| SMTP Host Address
-	|--------------------------------------------------------------------------
-	|
-	| Here you may provide the host address of the SMTP server used by your
-	| applications. A default option is provided that is compatible with
-	| the Mailgun mail service which will provide reliable deliveries.
-	|
-	*/
-
-	'host' => 'smtp.mailgun.org',
-
-	/*
-	|--------------------------------------------------------------------------
-	| SMTP Host Port
-	|--------------------------------------------------------------------------
-	|
-	| This is the SMTP port used by your application to deliver e-mails to
-	| users of the application. Like the host we have set this value to
-	| stay compatible with the Mailgun e-mail application by default.
-	|
-	*/
-
-	'port' => 587,
-
-	/*
-	|--------------------------------------------------------------------------
-	| Global "From" Address
-	|--------------------------------------------------------------------------
-	|
-	| You may wish for all e-mails sent by your application to be sent from
-	| the same address. Here, you may specify a name and address that is
-	| used globally for all e-mails that are sent by your application.
-	|
-	*/
-
-	'from' => array('address' => null, 'name' => null),
-
-	/*
-	|--------------------------------------------------------------------------
-	| E-Mail Encryption Protocol
-	|--------------------------------------------------------------------------
-	|
-	| Here you may specify the encryption protocol that should be used when
-	| the application send e-mail messages. A sensible default using the
-	| transport layer security protocol should provide great security.
-	|
-	*/
-
-	'encryption' => 'tls',
-
-	/*
-	|--------------------------------------------------------------------------
-	| SMTP Server Username
-	|--------------------------------------------------------------------------
-	|
-	| If your SMTP server requires a username for authentication, you should
-	| set it here. This will get used to authenticate with your server on
-	| connection. You may also set the "password" value below this one.
-	|
-	*/
-
-	'username' => null,
-
-	/*
-	|--------------------------------------------------------------------------
-	| SMTP Server Password
-	|--------------------------------------------------------------------------
-	|
-	| Here you may set the password required by your SMTP server to send out
-	| messages from your application. This will be given to the server on
-	| connection so that the application will be able to send messages.
-	|
-	*/
-
-	'password' => null,
-
-	/*
-	|--------------------------------------------------------------------------
-	| Sendmail System Path
-	|--------------------------------------------------------------------------
-	|
-	| When using the "sendmail" driver to send e-mails, we will need to know
-	| the path to where Sendmail lives on this server. A default path has
-	| been provided here, which will work well on most of your systems.
-	|
-	*/
-
-	'sendmail' => '/usr/sbin/sendmail -bs',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Mail "Pretend"
-	|--------------------------------------------------------------------------
-	|
-	| When this option is enabled, e-mail will not actually be sent over the
-	| web and will instead be written to your application's logs files so
-	| you may inspect the message. This is great for local development.
-	|
-	*/
-
-	'pretend' => false,
-
-);

+ 0 - 0
frameworks/PHP/laravel/app/config/packages/.gitkeep


+ 0 - 85
frameworks/PHP/laravel/app/config/queue.php

@@ -1,85 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Default Queue Driver
-	|--------------------------------------------------------------------------
-	|
-	| The Laravel queue API supports a variety of back-ends via an unified
-	| API, giving you convenient access to each back-end using the same
-	| syntax for each one. Here you may set the default queue driver.
-	|
-	| Supported: "sync", "beanstalkd", "sqs", "iron", "redis"
-	|
-	*/
-
-	'default' => 'sync',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Queue Connections
-	|--------------------------------------------------------------------------
-	|
-	| Here you may configure the connection information for each server that
-	| is used by your application. A default configuration has been added
-	| for each back-end shipped with Laravel. You are free to add more.
-	|
-	*/
-
-	'connections' => array(
-
-		'sync' => array(
-			'driver' => 'sync',
-		),
-
-		'beanstalkd' => array(
-			'driver' => 'beanstalkd',
-			'host'   => 'localhost',
-			'queue'  => 'default',
-			'ttr'    => 60,
-		),
-
-		'sqs' => array(
-			'driver' => 'sqs',
-			'key'    => 'your-public-key',
-			'secret' => 'your-secret-key',
-			'queue'  => 'your-queue-url',
-			'region' => 'us-east-1',
-		),
-
-		'iron' => array(
-			'driver'  => 'iron',
-			'host'    => 'mq-aws-us-east-1.iron.io',
-			'token'   => 'your-token',
-			'project' => 'your-project-id',
-			'queue'   => 'your-queue-name',
-			'encrypt' => true,
-		),
-
-		'redis' => array(
-			'driver' => 'redis',
-			'queue'  => 'default',
-		),
-
-	),
-
-	/*
-	|--------------------------------------------------------------------------
-	| Failed Queue Jobs
-	|--------------------------------------------------------------------------
-	|
-	| These options configure the behavior of failed queue job logging so you
-	| can control which database and table are used to store the jobs that
-	| have failed. You may change them to any database / table you wish.
-	|
-	*/
-
-	'failed' => array(
-
-		'database' => 'mysql', 'table' => 'failed_jobs',
-
-	),
-
-);

+ 0 - 59
frameworks/PHP/laravel/app/config/remote.php

@@ -1,59 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Default Remote Connection Name
-	|--------------------------------------------------------------------------
-	|
-	| Here you may specify the default connection that will be used for SSH
-	| operations. This name should correspond to a connection name below
-	| in the server list. Each connection will be manually accessible.
-	|
-	*/
-
-	'default' => 'production',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Remote Server Connections
-	|--------------------------------------------------------------------------
-	|
-	| These are the servers that will be accessible via the SSH task runner
-	| facilities of Laravel. This feature radically simplifies executing
-	| tasks on your servers, such as deploying out these applications.
-	|
-	*/
-
-	'connections' => array(
-
-		'production' => array(
-			'host'      => '',
-			'username'  => '',
-			'password'  => '',
-			'key'       => '',
-			'keyphrase' => '',
-			'root'      => '/var/www',
-		),
-
-	),
-
-	/*
-	|--------------------------------------------------------------------------
-	| Remote Server Groups
-	|--------------------------------------------------------------------------
-	|
-	| Here you may list connections under a single group name, which allows
-	| you to easily access all of the servers at once using a short name
-	| that is extremely easy to remember, such as "web" or "database".
-	|
-	*/
-
-	'groups' => array(
-
-		'web' => array('production')
-
-	),
-
-);

+ 0 - 31
frameworks/PHP/laravel/app/config/services.php

@@ -1,31 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Third Party Services
-	|--------------------------------------------------------------------------
-	|
-	| This file is for storing the credentials for third party services such
-	| as Stripe, Mailgun, Mandrill, and others. This file provides a sane
-	| default location for this type of information, allowing packages
-	| to have a conventional place to find your various credentials.
-	|
-	*/
-
-	'mailgun' => array(
-		'domain' => '',
-		'secret' => '',
-	),
-
-	'mandrill' => array(
-		'secret' => '',
-	),
-
-	'stripe' => array(
-		'model'  => 'User',
-		'secret' => '',
-	),
-
-);

+ 0 - 140
frameworks/PHP/laravel/app/config/session.php

@@ -1,140 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Default Session Driver
-	|--------------------------------------------------------------------------
-	|
-	| This option controls the default session "driver" that will be used on
-	| requests. By default, we will use the lightweight native driver but
-	| you may specify any of the other wonderful drivers provided here.
-	|
-	| Supported: "file", "cookie", "database", "apc",
-	|            "memcached", "redis", "array"
-	|
-	*/
-
-	'driver' => 'array',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Session Lifetime
-	|--------------------------------------------------------------------------
-	|
-	| Here you may specify the number of minutes that you wish the session
-	| to be allowed to remain idle before it expires. If you want them
-	| to immediately expire on the browser closing, set that option.
-	|
-	*/
-
-	'lifetime' => 120,
-
-	'expire_on_close' => false,
-
-	/*
-	|--------------------------------------------------------------------------
-	| Session File Location
-	|--------------------------------------------------------------------------
-	|
-	| When using the native session driver, we need a location where session
-	| files may be stored. A default has been set for you but a different
-	| location may be specified. This is only needed for file sessions.
-	|
-	*/
-
-	'files' => storage_path().'/sessions',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Session Database Connection
-	|--------------------------------------------------------------------------
-	|
-	| When using the "database" or "redis" session drivers, you may specify a
-	| connection that should be used to manage these sessions. This should
-	| correspond to a connection in your database configuration options.
-	|
-	*/
-
-	'connection' => null,
-
-	/*
-	|--------------------------------------------------------------------------
-	| Session Database Table
-	|--------------------------------------------------------------------------
-	|
-	| When using the "database" session driver, you may specify the table we
-	| should use to manage the sessions. Of course, a sensible default is
-	| provided for you; however, you are free to change this as needed.
-	|
-	*/
-
-	'table' => 'sessions',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Session Sweeping Lottery
-	|--------------------------------------------------------------------------
-	|
-	| Some session drivers must manually sweep their storage location to get
-	| rid of old sessions from storage. Here are the chances that it will
-	| happen on a given request. By default, the odds are 2 out of 100.
-	|
-	*/
-
-	'lottery' => array(2, 100),
-
-	/*
-	|--------------------------------------------------------------------------
-	| Session Cookie Name
-	|--------------------------------------------------------------------------
-	|
-	| Here you may change the name of the cookie used to identify a session
-	| instance by ID. The name specified here will get used every time a
-	| new session cookie is created by the framework for every driver.
-	|
-	*/
-
-	'cookie' => 'laravel_session',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Session Cookie Path
-	|--------------------------------------------------------------------------
-	|
-	| The session cookie path determines the path for which the cookie will
-	| be regarded as available. Typically, this will be the root path of
-	| your application but you are free to change this when necessary.
-	|
-	*/
-
-	'path' => '/',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Session Cookie Domain
-	|--------------------------------------------------------------------------
-	|
-	| Here you may change the domain of the cookie used to identify a session
-	| in your application. This will determine which domains the cookie is
-	| available to in your application. A sensible default has been set.
-	|
-	*/
-
-	'domain' => null,
-
-	/*
-	|--------------------------------------------------------------------------
-	| HTTPS Only Cookies
-	|--------------------------------------------------------------------------
-	|
-	| By setting this option to true, session cookies will only be sent back
-	| to the server if the browser has a HTTPS connection. This will keep
-	| the cookie from being sent to you if it can not be done securely.
-	|
-	*/
-
-	'secure' => false,
-
-);

+ 0 - 20
frameworks/PHP/laravel/app/config/testing/cache.php

@@ -1,20 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Default Cache Driver
-	|--------------------------------------------------------------------------
-	|
-	| This option controls the default cache "driver" that will be used when
-	| using the Caching library. Of course, you may use other drivers any
-	| time you wish. This is the default when another is not specified.
-	|
-	| Supported: "file", "database", "apc", "memcached", "redis", "array"
-	|
-	*/
-
-	'driver' => 'array',
-
-);

+ 0 - 21
frameworks/PHP/laravel/app/config/testing/session.php

@@ -1,21 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Default Session Driver
-	|--------------------------------------------------------------------------
-	|
-	| This option controls the default session "driver" that will be used on
-	| requests. By default, we will use the lightweight native driver but
-	| you may specify any of the other wonderful drivers provided here.
-	|
-	| Supported: "native", "cookie", "database", "apc",
-	|            "memcached", "redis", "array"
-	|
-	*/
-
-	'driver' => 'array',
-
-);

+ 0 - 31
frameworks/PHP/laravel/app/config/view.php

@@ -1,31 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| View Storage Paths
-	|--------------------------------------------------------------------------
-	|
-	| Most templating systems load templates from disk. Here you may specify
-	| an array of paths that should be checked for your views. Of course
-	| the usual Laravel view path has already been registered for you.
-	|
-	*/
-
-	'paths' => array(__DIR__.'/../views'),
-
-	/*
-	|--------------------------------------------------------------------------
-	| Pagination View
-	|--------------------------------------------------------------------------
-	|
-	| This view will be used to render the pagination link output, and can
-	| be easily customized here to show any view you like. A clean view
-	| compatible with Twitter's Bootstrap is given to you by default.
-	|
-	*/
-
-	'pagination' => 'pagination::slider-3',
-
-);

+ 0 - 31
frameworks/PHP/laravel/app/config/workbench.php

@@ -1,31 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Workbench Author Name
-	|--------------------------------------------------------------------------
-	|
-	| When you create new packages via the Artisan "workbench" command your
-	| name is needed to generate the composer.json file for your package.
-	| You may specify it now so it is used for all of your workbenches.
-	|
-	*/
-
-	'name' => '',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Workbench Author E-Mail Address
-	|--------------------------------------------------------------------------
-	|
-	| Like the option above, your e-mail address is used when generating new
-	| workbench packages. The e-mail is placed in your composer.json file
-	| automatically after the package is created by the workbench tool.
-	|
-	*/
-
-	'email' => '',
-
-);

+ 0 - 0
frameworks/PHP/laravel/app/controllers/.gitkeep


+ 0 - 18
frameworks/PHP/laravel/app/controllers/BaseController.php

@@ -1,18 +0,0 @@
-<?php
-
-class BaseController extends Controller {
-
-	/**
-	 * Setup the layout used by the controller.
-	 *
-	 * @return void
-	 */
-	protected function setupLayout()
-	{
-		if ( ! is_null($this->layout))
-		{
-			$this->layout = View::make($this->layout);
-		}
-	}
-
-}

+ 0 - 31
frameworks/PHP/laravel/app/controllers/bench.php

@@ -1,31 +0,0 @@
-<?php
-
-class BenchController extends BaseController {
-
-    public $layout = 'layouts.main';
-
-    public function fortunes() {
-        $fortunes = DB::table('Fortune')->get();
-
-        $runtimeFortune = new stdClass;
-        $runtimeFortune->id = 0;
-        $runtimeFortune->message = 'Additional fortune added at request time.';
-
-        $fortunes[] = $runtimeFortune;
-
-        usort($fortunes, function($left, $right) {
-            if ($left->message === $right->message) {
-                return 0;
-            } else if ($left->message > $right->message) {
-                return 1;
-            } else {
-                return -1;
-            }
-        });
-
-        $this->layout->nest('content', 'bench.fortunes', [
-            'fortunes' => $fortunes
-        ]);
-    }
-
-}

+ 0 - 0
frameworks/PHP/laravel/app/database/migrations/.gitkeep


+ 0 - 0
frameworks/PHP/laravel/app/database/seeds/.gitkeep


+ 0 - 17
frameworks/PHP/laravel/app/database/seeds/DatabaseSeeder.php

@@ -1,17 +0,0 @@
-<?php
-
-class DatabaseSeeder extends Seeder {
-
-	/**
-	 * Run the database seeds.
-	 *
-	 * @return void
-	 */
-	public function run()
-	{
-		Eloquent::unguard();
-
-		// $this->call('UserTableSeeder');
-	}
-
-}

+ 0 - 90
frameworks/PHP/laravel/app/filters.php

@@ -1,90 +0,0 @@
-<?php
-
-/*
-|--------------------------------------------------------------------------
-| Application & Route Filters
-|--------------------------------------------------------------------------
-|
-| Below you will find the "before" and "after" events for the application
-| which may be used to do any work before or after a request into your
-| application. Here you may also register your custom route filters.
-|
-*/
-
-App::before(function($request)
-{
-	//
-});
-
-
-App::after(function($request, $response)
-{
-	//
-});
-
-/*
-|--------------------------------------------------------------------------
-| Authentication Filters
-|--------------------------------------------------------------------------
-|
-| The following filters are used to verify that the user of the current
-| session is logged into this application. The "basic" filter easily
-| integrates HTTP Basic authentication for quick, simple checking.
-|
-*/
-
-Route::filter('auth', function()
-{
-	if (Auth::guest())
-	{
-		if (Request::ajax())
-		{
-			return Response::make('Unauthorized', 401);
-		}
-		else
-		{
-			return Redirect::guest('login');
-		}
-	}
-});
-
-
-Route::filter('auth.basic', function()
-{
-	return Auth::basic();
-});
-
-/*
-|--------------------------------------------------------------------------
-| Guest Filter
-|--------------------------------------------------------------------------
-|
-| The "guest" filter is the counterpart of the authentication filters as
-| it simply checks that the current user is not logged in. A redirect
-| response will be issued if they are, which you may freely change.
-|
-*/
-
-Route::filter('guest', function()
-{
-	if (Auth::check()) return Redirect::to('/');
-});
-
-/*
-|--------------------------------------------------------------------------
-| CSRF Protection Filter
-|--------------------------------------------------------------------------
-|
-| The CSRF filter is responsible for protecting your application against
-| cross-site request forgery attacks. If this special token in a user
-| session does not match the one given in this request, we'll bail.
-|
-*/
-
-Route::filter('csrf', function()
-{
-	if (Session::token() !== Input::get('_token'))
-	{
-		throw new Illuminate\Session\TokenMismatchException;
-	}
-});

+ 0 - 20
frameworks/PHP/laravel/app/lang/en/pagination.php

@@ -1,20 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Pagination Language Lines
-	|--------------------------------------------------------------------------
-	|
-	| The following language lines are used by the paginator library to build
-	| the simple pagination links. You are free to change them to anything
-	| you want to customize your views to better match your application.
-	|
-	*/
-
-	'previous' => '&laquo; Previous',
-
-	'next'     => 'Next &raquo;',
-
-);

+ 0 - 26
frameworks/PHP/laravel/app/lang/en/reminders.php

@@ -1,26 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Password Reminder Language Lines
-	|--------------------------------------------------------------------------
-	|
-	| The following language lines are the default lines which match reasons
-	| that are given by the password broker for a password update attempt
-	| has failed, such as for an invalid token or invalid new password.
-	|
-	*/
-
-	"password" => "Passwords must be at least six characters and match the confirmation.",
-
-	"user" => "We can't find a user with that e-mail address.",
-
-	"token" => "This password reset token is invalid.",
-
-	"sent" => "Password reminder sent!",
-
-	"reset" => "Password has been reset!",
-
-);

+ 0 - 106
frameworks/PHP/laravel/app/lang/en/validation.php

@@ -1,106 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Validation Language Lines
-	|--------------------------------------------------------------------------
-	|
-	| The following language lines contain the default error messages used by
-	| the validator class. Some of these rules have multiple versions such
-	| as the size rules. Feel free to tweak each of these messages here.
-	|
-	*/
-
-	"accepted"             => "The :attribute must be accepted.",
-	"active_url"           => "The :attribute is not a valid URL.",
-	"after"                => "The :attribute must be a date after :date.",
-	"alpha"                => "The :attribute may only contain letters.",
-	"alpha_dash"           => "The :attribute may only contain letters, numbers, and dashes.",
-	"alpha_num"            => "The :attribute may only contain letters and numbers.",
-	"array"                => "The :attribute must be an array.",
-	"before"               => "The :attribute must be a date before :date.",
-	"between"              => array(
-		"numeric" => "The :attribute must be between :min and :max.",
-		"file"    => "The :attribute must be between :min and :max kilobytes.",
-		"string"  => "The :attribute must be between :min and :max characters.",
-		"array"   => "The :attribute must have between :min and :max items.",
-	),
-	"boolean"              => "The :attribute field must be true or false.",
-	"confirmed"            => "The :attribute confirmation does not match.",
-	"date"                 => "The :attribute is not a valid date.",
-	"date_format"          => "The :attribute does not match the format :format.",
-	"different"            => "The :attribute and :other must be different.",
-	"digits"               => "The :attribute must be :digits digits.",
-	"digits_between"       => "The :attribute must be between :min and :max digits.",
-	"email"                => "The :attribute must be a valid email address.",
-	"exists"               => "The selected :attribute is invalid.",
-	"image"                => "The :attribute must be an image.",
-	"in"                   => "The selected :attribute is invalid.",
-	"integer"              => "The :attribute must be an integer.",
-	"ip"                   => "The :attribute must be a valid IP address.",
-	"max"                  => array(
-		"numeric" => "The :attribute may not be greater than :max.",
-		"file"    => "The :attribute may not be greater than :max kilobytes.",
-		"string"  => "The :attribute may not be greater than :max characters.",
-		"array"   => "The :attribute may not have more than :max items.",
-	),
-	"mimes"                => "The :attribute must be a file of type: :values.",
-	"min"                  => array(
-		"numeric" => "The :attribute must be at least :min.",
-		"file"    => "The :attribute must be at least :min kilobytes.",
-		"string"  => "The :attribute must be at least :min characters.",
-		"array"   => "The :attribute must have at least :min items.",
-	),
-	"not_in"               => "The selected :attribute is invalid.",
-	"numeric"              => "The :attribute must be a number.",
-	"regex"                => "The :attribute format is invalid.",
-	"required"             => "The :attribute field is required.",
-	"required_if"          => "The :attribute field is required when :other is :value.",
-	"required_with"        => "The :attribute field is required when :values is present.",
-	"required_with_all"    => "The :attribute field is required when :values is present.",
-	"required_without"     => "The :attribute field is required when :values is not present.",
-	"required_without_all" => "The :attribute field is required when none of :values are present.",
-	"same"                 => "The :attribute and :other must match.",
-	"size"                 => array(
-		"numeric" => "The :attribute must be :size.",
-		"file"    => "The :attribute must be :size kilobytes.",
-		"string"  => "The :attribute must be :size characters.",
-		"array"   => "The :attribute must contain :size items.",
-	),
-	"unique"               => "The :attribute has already been taken.",
-	"url"                  => "The :attribute format is invalid.",
-	"timezone"             => "The :attribute must be a valid zone.",
-
-	/*
-	|--------------------------------------------------------------------------
-	| Custom Validation Language Lines
-	|--------------------------------------------------------------------------
-	|
-	| Here you may specify custom validation messages for attributes using the
-	| convention "attribute.rule" to name the lines. This makes it quick to
-	| specify a specific custom language line for a given attribute rule.
-	|
-	*/
-
-	'custom' => array(
-		'attribute-name' => array(
-			'rule-name' => 'custom-message',
-		),
-	),
-
-	/*
-	|--------------------------------------------------------------------------
-	| Custom Validation Attributes
-	|--------------------------------------------------------------------------
-	|
-	| The following language lines are used to swap attribute place-holders
-	| with something more reader friendly such as E-Mail Address instead
-	| of "email". This simply helps us make messages a little cleaner.
-	|
-	*/
-
-	'attributes' => array(),
-
-);

+ 0 - 26
frameworks/PHP/laravel/app/models/User.php

@@ -1,26 +0,0 @@
-<?php
-
-use Illuminate\Auth\UserTrait;
-use Illuminate\Auth\UserInterface;
-use Illuminate\Auth\Reminders\RemindableTrait;
-use Illuminate\Auth\Reminders\RemindableInterface;
-
-class User extends Eloquent implements UserInterface, RemindableInterface {
-
-	use UserTrait, RemindableTrait;
-
-	/**
-	 * The database table used by the model.
-	 *
-	 * @var string
-	 */
-	protected $table = 'users';
-
-	/**
-	 * The attributes excluded from the model's JSON form.
-	 *
-	 * @var array
-	 */
-	protected $hidden = array('password', 'remember_token');
-
-}

+ 0 - 72
frameworks/PHP/laravel/app/routes.php

@@ -1,72 +0,0 @@
-<?php
-
-/*
-|--------------------------------------------------------------------------
-| Application Routes
-|--------------------------------------------------------------------------
-|
-| Here is where you can register all of the routes for an application.
-| It's a breeze. Simply tell Laravel the URIs it should respond to
-| and give it the Closure to execute when that URI is requested.
-|
-*/
-
-Route::get('/json', function()
-{
-    return Response::json(array('message' => 'Hello, World!'));
-});
-
-Route::get('/plaintext', function()
-{
-    return "Hello, World!";
-});
-
-Route::get('/query', function()
-{
-    $queries = Input::get('queries', 1);
-
-    if (!is_numeric($queries) || $queries <= 1) {
-    	$queries = 1;
-    }
-    else if ($queries > 500) {
-        $queries = 500;
-    }
-
-    $worlds = array();
-
-    for($i = 0; $i < $queries; $i++) {
-        $worlds[] = DB::table('World')->find(mt_rand(1, 10000));
-    }
-    return Response::json($worlds);
-});
-
-Route::get('/db', function()
-{
-    return Response::json(DB::table('World')->find(mt_rand(1, 10000)));
-});
-
-Route::get('/updates', function()
-{
-    $queries = Input::get('queries', 1);
-
-    if (!is_numeric($queries) || $queries <= 1) {
-    	$queries = 1;
-    }
-    else if ($queries > 500) {
-        $queries = 500;
-    }
-
-    $worlds = array();
-
-    for($i = 0; $i < $queries; $i++) {
-        $id = mt_rand(1, 10000);
-        $random_number = mt_rand(1, 10000);
-        $world = DB::table('World')->find($id);
-        $world->randomNumber = $random_number;
-        DB::table('World')->where('id', $id)->update(['randomNumber' => $random_number]);
-        $worlds[] = $world;
-    }
-    return Response::json($worlds);
-});
-
-Route::get('/fortunes', 'BenchController@fortunes');

+ 0 - 13
frameworks/PHP/laravel/app/start/artisan.php

@@ -1,13 +0,0 @@
-<?php
-
-/*
-|--------------------------------------------------------------------------
-| Register The Artisan Commands
-|--------------------------------------------------------------------------
-|
-| Each available Artisan command must be registered with the console so
-| that it is available to be called. We'll register every command so
-| the console gets access to each of the command object instances.
-|
-*/
-

+ 0 - 81
frameworks/PHP/laravel/app/start/global.php

@@ -1,81 +0,0 @@
-<?php
-
-/*
-|--------------------------------------------------------------------------
-| Register The Laravel Class Loader
-|--------------------------------------------------------------------------
-|
-| In addition to using Composer, you may use the Laravel class loader to
-| load your controllers and models. This is useful for keeping all of
-| your classes in the "global" namespace without Composer updating.
-|
-*/
-
-ClassLoader::addDirectories(array(
-
-	app_path().'/commands',
-	app_path().'/controllers',
-	app_path().'/models',
-	app_path().'/database/seeds',
-
-));
-
-/*
-|--------------------------------------------------------------------------
-| Application Error Logger
-|--------------------------------------------------------------------------
-|
-| Here we will configure the error logger setup for the application which
-| is built on top of the wonderful Monolog library. By default we will
-| build a basic log file setup which creates a single file for logs.
-|
-*/
-
-Log::useFiles(storage_path().'/logs/laravel.log');
-
-/*
-|--------------------------------------------------------------------------
-| Application Error Handler
-|--------------------------------------------------------------------------
-|
-| Here you may handle any errors that occur in your application, including
-| logging them or displaying custom views for specific errors. You may
-| even register several error handlers to handle different types of
-| exceptions. If nothing is returned, the default error view is
-| shown, which includes a detailed stack trace during debug.
-|
-*/
-
-App::error(function(Exception $exception, $code)
-{
-	Log::error($exception);
-});
-
-/*
-|--------------------------------------------------------------------------
-| Maintenance Mode Handler
-|--------------------------------------------------------------------------
-|
-| The "down" Artisan command gives you the ability to put an application
-| into maintenance mode. Here, you will define what is displayed back
-| to the user if maintenance mode is in effect for the application.
-|
-*/
-
-App::down(function()
-{
-	return Response::make("Be right back!", 503);
-});
-
-/*
-|--------------------------------------------------------------------------
-| Require The Filters File
-|--------------------------------------------------------------------------
-|
-| Next we will load the filters file for the application. This gives us
-| a nice separate location to store our route and application filter
-| definitions instead of putting them all in the main routes file.
-|
-*/
-
-require app_path().'/filters.php';

+ 0 - 1
frameworks/PHP/laravel/app/storage/.gitignore

@@ -1 +0,0 @@
-services.manifest

+ 0 - 2
frameworks/PHP/laravel/app/storage/cache/.gitignore

@@ -1,2 +0,0 @@
-*
-!.gitignore

+ 0 - 2
frameworks/PHP/laravel/app/storage/logs/.gitignore

@@ -1,2 +0,0 @@
-*
-!.gitignore

+ 0 - 2
frameworks/PHP/laravel/app/storage/meta/.gitignore

@@ -1,2 +0,0 @@
-*
-!.gitignore

+ 0 - 2
frameworks/PHP/laravel/app/storage/sessions/.gitignore

@@ -1,2 +0,0 @@
-*
-!.gitignore

+ 0 - 2
frameworks/PHP/laravel/app/storage/views/.gitignore

@@ -1,2 +0,0 @@
-*
-!.gitignore

+ 0 - 17
frameworks/PHP/laravel/app/tests/ExampleTest.php

@@ -1,17 +0,0 @@
-<?php
-
-class ExampleTest extends TestCase {
-
-	/**
-	 * A basic functional test example.
-	 *
-	 * @return void
-	 */
-	public function testBasicExample()
-	{
-		$crawler = $this->client->request('GET', '/');
-
-		$this->assertTrue($this->client->getResponse()->isOk());
-	}
-
-}

+ 0 - 19
frameworks/PHP/laravel/app/tests/TestCase.php

@@ -1,19 +0,0 @@
-<?php
-
-class TestCase extends Illuminate\Foundation\Testing\TestCase {
-
-	/**
-	 * Creates the application.
-	 *
-	 * @return \Symfony\Component\HttpKernel\HttpKernelInterface
-	 */
-	public function createApplication()
-	{
-		$unitTesting = true;
-
-		$testEnvironment = 'testing';
-
-		return require __DIR__.'/../../bootstrap/start.php';
-	}
-
-}

+ 0 - 14
frameworks/PHP/laravel/app/views/bench/fortunes.blade.php

@@ -1,14 +0,0 @@
-<table>
-    <tr>
-        <th>id</th>
-        <th>message</th>
-    </tr>
-
-    @foreach ($fortunes as $fortune)
-    <tr>
-        <td>{{{ $fortune->id }}}</td>
-        <td>{{{ $fortune->message }}}</td>
-    </tr>
-    @endforeach
-
-</table>

+ 0 - 125
frameworks/PHP/laravel/app/views/error/400.php

@@ -1,125 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-	<title>Error 404 - Not Found</title>
-	<meta name="viewport" content="width=device-width">
-	<style type="text/css">
-		@import url(http://fonts.googleapis.com/css?family=Droid+Sans);
-
-		article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
-		audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
-		audio:not([controls]) { display: none; }
-		[hidden] { display: none; }
-		html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
-		html, button, input, select, textarea { font-family: sans-serif; color: #222; }
-		body { margin: 0; font-size: 1em; line-height: 1.4; }
-		::-moz-selection { background: #E37B52; color: #fff; text-shadow: none; }
-		::selection { background: #E37B52; color: #fff; text-shadow: none; }
-		a { color: #00e; }
-		a:visited { color: #551a8b; }
-		a:hover { color: #06e; }
-		a:focus { outline: thin dotted; }
-		a:hover, a:active { outline: 0; }
-		abbr[title] { border-bottom: 1px dotted; }
-		b, strong { font-weight: bold; }
-		blockquote { margin: 1em 40px; }
-		dfn { font-style: italic; }
-		hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
-		ins { background: #ff9; color: #000; text-decoration: none; }
-		mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
-		pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }
-		pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
-		q { quotes: none; }
-		q:before, q:after { content: ""; content: none; }
-		small { font-size: 85%; }
-		sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
-		sup { top: -0.5em; }
-		sub { bottom: -0.25em; }
-		ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
-		dd { margin: 0 0 0 40px; }
-		nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
-		img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
-		svg:not(:root) { overflow: hidden; }
-		figure { margin: 0; }
-		form { margin: 0; }
-		fieldset { border: 0; margin: 0; padding: 0; }
-		label { cursor: pointer; }
-		legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; }
-		button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
-		button, input { line-height: normal; }
-		button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }
-		button[disabled], input[disabled] { cursor: default; }
-		input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; }
-		input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
-		input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
-		button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
-		textarea { overflow: auto; vertical-align: top; resize: vertical; }
-		input:valid, textarea:valid {  }
-		input:invalid, textarea:invalid { background-color: #f0dddd; }
-		table { border-collapse: collapse; border-spacing: 0; }
-		td { vertical-align: top; }
-
-		body
-		{
-			font-family:'Droid Sans', sans-serif;
-			font-size:10pt;
-			color:#555;
-			line-height: 25px;
-		}
-
-		.wrapper
-		{
-			width:760px;
-			margin:0 auto 5em auto;
-		}
-
-		.main
-		{
-			overflow:hidden;
-		}
-
-		.error-spacer
-		{
-			height:4em;
-		}
-
-		a, a:visited
-		{
-			color:#2972A3;
-		}
-
-		a:hover
-		{
-			color:#72ADD4;
-		}
-	</style>
-</head>
-<body>
-	<div class="wrapper">
-		<div class="error-spacer"></div>
-		<div role="main" class="main">
-			<?php $messages = array('We need a map.', 'I think we\'re lost.', 'We took a wrong turn.'); ?>
-
-			<h1><?php echo $messages[mt_rand(0, 2)]; ?></h1>
-
-			<h2>Server Error: 404 (Not Found)</h2>
-
-			<hr>
-
-			<h3>What does this mean?</h3>
-
-			<p>
-				We couldn't find the page you requested on our servers. We're really sorry
-				about that. It's our fault, not yours. We'll work hard to get this page
-				back online as soon as possible.
-			</p>
-
-			<p>
-				Perhaps you would like to go to our <?php echo HTML::link('/', 'home page'); ?>?
-			</p>
-		</div>
-	</div>
-</body>
-</html>

+ 0 - 125
frameworks/PHP/laravel/app/views/error/500.php

@@ -1,125 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-	<title>Error 500 - Internal Server Error</title>
-	<meta name="viewport" content="width=device-width">
-	<style type="text/css">
-		@import url(http://fonts.googleapis.com/css?family=Droid+Sans);
-
-		article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
-		audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
-		audio:not([controls]) { display: none; }
-		[hidden] { display: none; }
-		html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
-		html, button, input, select, textarea { font-family: sans-serif; color: #222; }
-		body { margin: 0; font-size: 1em; line-height: 1.4; }
-		::-moz-selection { background: #E37B52; color: #fff; text-shadow: none; }
-		::selection { background: #E37B52; color: #fff; text-shadow: none; }
-		a { color: #00e; }
-		a:visited { color: #551a8b; }
-		a:hover { color: #06e; }
-		a:focus { outline: thin dotted; }
-		a:hover, a:active { outline: 0; }
-		abbr[title] { border-bottom: 1px dotted; }
-		b, strong { font-weight: bold; }
-		blockquote { margin: 1em 40px; }
-		dfn { font-style: italic; }
-		hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
-		ins { background: #ff9; color: #000; text-decoration: none; }
-		mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
-		pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }
-		pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
-		q { quotes: none; }
-		q:before, q:after { content: ""; content: none; }
-		small { font-size: 85%; }
-		sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
-		sup { top: -0.5em; }
-		sub { bottom: -0.25em; }
-		ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
-		dd { margin: 0 0 0 40px; }
-		nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
-		img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
-		svg:not(:root) { overflow: hidden; }
-		figure { margin: 0; }
-		form { margin: 0; }
-		fieldset { border: 0; margin: 0; padding: 0; }
-		label { cursor: pointer; }
-		legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; }
-		button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
-		button, input { line-height: normal; }
-		button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }
-		button[disabled], input[disabled] { cursor: default; }
-		input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; }
-		input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
-		input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
-		button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
-		textarea { overflow: auto; vertical-align: top; resize: vertical; }
-		input:valid, textarea:valid {  }
-		input:invalid, textarea:invalid { background-color: #f0dddd; }
-		table { border-collapse: collapse; border-spacing: 0; }
-		td { vertical-align: top; }
-
-		body
-		{
-			font-family:'Droid Sans', sans-serif;
-			font-size:10pt;
-			color:#555;
-			line-height: 25px;
-		}
-
-		.wrapper
-		{
-			width:760px;
-			margin:0 auto 5em auto;
-		}
-
-		.main
-		{
-			overflow:hidden;
-		}
-
-		.error-spacer
-		{
-			height:4em;
-		}
-
-		a, a:visited
-		{
-			color:#2972A3;
-		}
-
-		a:hover
-		{
-			color:#72ADD4;
-		}
-	</style>
-</head>
-<body>
-	<div class="wrapper">
-		<div class="error-spacer"></div>
-		<div role="main" class="main">
-			<?php $messages = array('Ouch.', 'Oh no!', 'Whoops!'); ?>
-
-			<h1><?php echo $messages[mt_rand(0, 2)]; ?></h1>
-
-			<h2>Server Error: 500 (Internal Server Error)</h2>
-
-			<hr>
-
-			<h3>What does this mean?</h3>
-
-			<p>
-				Something went wrong on our servers while we were processing your request.
-				We're really sorry about this, and will work hard to get this resolved as
-				soon as possible.
-			</p>
-
-			<p>
-				Perhaps you would like to go to our <?php echo HTML::link('/', 'home page'); ?>?
-			</p>
-		</div>
-	</div>
-</body>
-</html>

+ 0 - 57
frameworks/PHP/laravel/app/views/home/index.blade.php

@@ -1,57 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-	<title>Laravel: A Framework For Web Artisans</title>
-	<meta name="viewport" content="width=device-width">
-	{{ HTML::style('laravel/css/style.css') }}
-</head>
-<body>
-	<div class="wrapper">
-		<header>
-			<h1>Laravel</h1>
-			<h2>A Framework For Web Artisans</h2>
-
-			<p class="intro-text" style="margin-top: 45px;">
-			</p>
-		</header>
-		<div role="main" class="main">
-			<div class="home">
-				<h2>Learn the terrain.</h2>
-
-				<p>
-					You've landed yourself on our default home page. The route that
-					is generating this page lives at:
-				</p>
-
-				<pre>{{ path('app') }}routes.php</pre>
-
-				<p>And the view sitting before you can be found at:</p>
-
-				<pre>{{ path('app') }}views/home/index.blade.php</pre>
-
-				<h2>Grow in knowledge.</h2>
-
-				<p>
-					Learning to use Laravel is amazingly simple thanks to
-					its {{ HTML::link('docs', 'wonderful documentation') }}.
-				</p>
-
-				<h2>Create something beautiful.</h2>
-
-				<p>
-					Now that you're up and running, it's time to start creating!
-					Here are some links to help you get started:
-				</p>
-
-				<ul class="out-links">
-					<li><a href="http://laravel.com">Official Website</a></li>
-					<li><a href="http://forums.laravel.com">Laravel Forums</a></li>
-					<li><a href="http://github.com/laravel/laravel">GitHub Repository</a></li>
-				</ul>
-			</div>
-		</div>
-	</div>
-</body>
-</html>

+ 0 - 10
frameworks/PHP/laravel/app/views/layouts/main.blade.php

@@ -1,10 +0,0 @@
-<!DOCTYPE html>
-
-<html>
-<head>
-    <title>Fortunes</title>
-</head>
-<body>
-{{ $content }}
-</body>
-</html>

+ 13 - 34
frameworks/PHP/laravel/artisan

@@ -1,6 +1,8 @@
 #!/usr/bin/env php
 #!/usr/bin/env php
 <?php
 <?php
 
 
+define('LARAVEL_START', microtime(true));
+
 /*
 /*
 |--------------------------------------------------------------------------
 |--------------------------------------------------------------------------
 | Register The Auto Loader
 | Register The Auto Loader
@@ -13,37 +15,9 @@
 |
 |
 */
 */
 
 
-require __DIR__.'/bootstrap/autoload.php';
-
-/*
-|--------------------------------------------------------------------------
-| Turn On The Lights
-|--------------------------------------------------------------------------
-|
-| We need to illuminate PHP development, so let's turn on the lights.
-| This bootstraps the framework and gets it ready for and then it
-| will load up this application so that we can run it and send
-| the responses back to the browser and delight these users.
-|
-*/
-
-$app = require_once __DIR__.'/bootstrap/start.php';
+require __DIR__.'/vendor/autoload.php';
 
 
-/*
-|--------------------------------------------------------------------------
-| Load The Artisan Console Application
-|--------------------------------------------------------------------------
-|
-| We'll need to run the script to load and return the Artisan console
-| application. We keep this in its own script so that we will load
-| the console application independent of running commands which
-| will allow us to fire commands from Routes when we want to.
-|
-*/
-
-$app->setRequestForConsoleEnvironment();
-
-$artisan = Illuminate\Console\Application::start($app);
+$app = require_once __DIR__.'/bootstrap/app.php';
 
 
 /*
 /*
 |--------------------------------------------------------------------------
 |--------------------------------------------------------------------------
@@ -56,19 +30,24 @@ $artisan = Illuminate\Console\Application::start($app);
 |
 |
 */
 */
 
 
-$status = $artisan->run();
+$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);
+
+$status = $kernel->handle(
+    $input = new Symfony\Component\Console\Input\ArgvInput,
+    new Symfony\Component\Console\Output\ConsoleOutput
+);
 
 
 /*
 /*
 |--------------------------------------------------------------------------
 |--------------------------------------------------------------------------
 | Shutdown The Application
 | Shutdown The Application
 |--------------------------------------------------------------------------
 |--------------------------------------------------------------------------
 |
 |
-| Once Artisan has finished running. We will fire off the shutdown events
+| Once Artisan has finished running, we will fire off the shutdown events
 | so that any final work may be done by the application before we shut
 | so that any final work may be done by the application before we shut
 | down the process. This is the last thing to happen to the request.
 | down the process. This is the last thing to happen to the request.
 |
 |
 */
 */
 
 
-$app->shutdown();
+$kernel->terminate($input, $status);
 
 
-exit($status);
+exit($status);

+ 29 - 49
frameworks/PHP/laravel/benchmark_config.json

@@ -1,51 +1,31 @@
 {
 {
-    "framework": "laravel",
-    "tests": [{
-        "default": {
-            "setup_file": "setup_php5",
-            "json_url": "/json",
-            "plaintext_url": "/plaintext",
-            "db_url": "/db",
-            "query_url": "/query?queries=",
-            "fortune_url": "/fortunes",
-            "port": 8080,
-            "approach": "Realistic",
-            "classification": "Fullstack",
-            "database": "MySQL",
-            "framework": "laravel",
-            "language": "PHP",
-            "flavor": "PHP5",
-            "orm": "Raw",
-            "platform": "None",
-            "webserver": "nginx",
-            "os": "Linux",
-            "database_os": "Linux",
-            "display_name": "laravel 4.2 raw php5",
-            "notes": "",
-            "versus": "php-php5"
-        },
-        "hhvm-raw": {
-            "setup_file": "setup_hhvm",
-            "json_url": "/json",
-            "plaintext_url": "/plaintext",
-            "db_url": "/db",
-            "query_url": "/query?queries=",
-            "fortune_url": "/fortunes",
-            "port": 8080,
-            "approach": "Realistic",
-            "classification": "Fullstack",
-            "database": "MySQL",
-            "framework": "laravel",
-            "language": "PHP",
-            "flavor": "HHVM",
-            "orm": "Raw",
-            "platform": "None",
-            "webserver": "nginx",
-            "os": "Linux",
-            "database_os": "Linux",
-            "display_name": "laravel 4.2 raw hhvm",
-            "notes": "",
-            "versus": "php7"
-        }
-    }]
+	"framework": "laravel",
+	"tests": [
+		{
+			"default": {
+				"setup_file": "setup",
+				"json_url": "/json",
+				"db_url": "/db",
+				"query_url": "/queries/",
+				"fortune_url": "/fortunes",
+				"update_url": "/updates/",
+				"plaintext_url": "/plaintext",
+				"port": 8080,
+				"approach": "Realistic",
+				"classification": "Fullstack",
+				"database": "MySQL",
+				"framework": "laravel",
+				"language": "PHP",
+				"flavor": "PHP7",
+				"orm": "Full",
+				"platform": "None",
+				"webserver": "nginx",
+				"os": "Linux",
+				"database_os": "Linux",
+				"display_name": "Laravel 5.6",
+				"notes": "",
+				"versus": "php7"
+			}
+		}
+	]
 }
 }

+ 55 - 0
frameworks/PHP/laravel/bootstrap/app.php

@@ -0,0 +1,55 @@
+<?php
+
+/*
+|--------------------------------------------------------------------------
+| 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(
+    realpath(__DIR__.'/../')
+);
+
+/*
+|--------------------------------------------------------------------------
+| Bind Important Interfaces
+|--------------------------------------------------------------------------
+|
+| Next, we need to bind some important interfaces into the container so
+| we will be able to resolve them when needed. The kernels serve the
+| incoming requests to this application from both the web and CLI.
+|
+*/
+
+$app->singleton(
+    Illuminate\Contracts\Http\Kernel::class,
+    App\Http\Kernel::class
+);
+
+$app->singleton(
+    Illuminate\Contracts\Console\Kernel::class,
+    App\Console\Kernel::class
+);
+
+$app->singleton(
+    Illuminate\Contracts\Debug\ExceptionHandler::class,
+    App\Exceptions\Handler::class
+);
+
+/*
+|--------------------------------------------------------------------------
+| 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;

+ 0 - 75
frameworks/PHP/laravel/bootstrap/autoload.php

@@ -1,75 +0,0 @@
-<?php
-
-define('LARAVEL_START', microtime(true));
-
-/*
-|--------------------------------------------------------------------------
-| Register The Composer Auto Loader
-|--------------------------------------------------------------------------
-|
-| Composer provides a convenient, automatically generated class loader
-| for our application. We just need to utilize it! We'll require it
-| into the script here so that we do not have to worry about the
-| loading of any our classes "manually". Feels great to relax.
-|
-*/
-
-require __DIR__.'/../vendor/autoload.php';
-
-/*
-|--------------------------------------------------------------------------
-| Include The Compiled Class File
-|--------------------------------------------------------------------------
-|
-| To dramatically increase your application's performance, you may use a
-| compiled class file which contains all of the classes commonly used
-| by a request. The Artisan "optimize" is used to create this file.
-|
-*/
-
-if (file_exists($compiled = __DIR__.'/compiled.php'))
-{
-	require $compiled;
-}
-
-/*
-|--------------------------------------------------------------------------
-| Setup Patchwork UTF-8 Handling
-|--------------------------------------------------------------------------
-|
-| The Patchwork library provides solid handling of UTF-8 strings as well
-| as provides replacements for all mb_* and iconv type functions that
-| are not available by default in PHP. We'll setup this stuff here.
-|
-*/
-
-Patchwork\Utf8\Bootup::initMbstring();
-
-/*
-|--------------------------------------------------------------------------
-| Register The Laravel Auto Loader
-|--------------------------------------------------------------------------
-|
-| We register an auto-loader "behind" the Composer loader that can load
-| model classes on the fly, even if the autoload files have not been
-| regenerated for the application. We'll add it to the stack here.
-|
-*/
-
-Illuminate\Support\ClassLoader::register();
-
-/*
-|--------------------------------------------------------------------------
-| Register The Workbench Loaders
-|--------------------------------------------------------------------------
-|
-| The Laravel workbench provides a convenient place to develop packages
-| when working locally. However we will need to load in the Composer
-| auto-load files for the packages so that these can be used here.
-|
-*/
-
-if (is_dir($workbench = __DIR__.'/../workbench'))
-{
-	Illuminate\Workbench\Starter::start($workbench);
-}

+ 2 - 0
frameworks/PHP/laravel/bootstrap/cache/.gitignore

@@ -0,0 +1,2 @@
+*
+!.gitignore

+ 0 - 57
frameworks/PHP/laravel/bootstrap/paths.php

@@ -1,57 +0,0 @@
-<?php
-
-return array(
-
-	/*
-	|--------------------------------------------------------------------------
-	| Application Path
-	|--------------------------------------------------------------------------
-	|
-	| Here we just defined the path to the application directory. Most likely
-	| you will never need to change this value as the default setup should
-	| work perfectly fine for the vast majority of all our applications.
-	|
-	*/
-
-	'app' => __DIR__.'/../app',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Public Path
-	|--------------------------------------------------------------------------
-	|
-	| The public path contains the assets for your web application, such as
-	| your JavaScript and CSS files, and also contains the primary entry
-	| point for web requests into these applications from the outside.
-	|
-	*/
-
-	'public' => __DIR__.'/../public',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Base Path
-	|--------------------------------------------------------------------------
-	|
-	| The base path is the root of the Laravel installation. Most likely you
-	| will not need to change this value. But, if for some wild reason it
-	| is necessary you will do so here, just proceed with some caution.
-	|
-	*/
-
-	'base' => __DIR__.'/..',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Storage Path
-	|--------------------------------------------------------------------------
-	|
-	| The storage path is used by Laravel to store cached Blade views, logs
-	| and other pieces of information. You may modify the path here when
-	| you want to change the location of this directory for your apps.
-	|
-	*/
-
-	'storage' => __DIR__.'/../app/storage',
-
-);

+ 0 - 73
frameworks/PHP/laravel/bootstrap/start.php

@@ -1,73 +0,0 @@
-<?php
-
-/*
-|--------------------------------------------------------------------------
-| 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('homestead'),
-
-));
-
-/*
-|--------------------------------------------------------------------------
-| 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;

+ 58 - 22
frameworks/PHP/laravel/composer.json

@@ -1,24 +1,60 @@
 {
 {
-	"name": "laravel/laravel",
-	"description": "The Laravel Framework.",
-	"keywords": ["framework", "laravel"],
-	"license": "MIT",
-	"type": "project",
-	"require": {
-		"laravel/framework": "4.2"
-	},
-	"autoload": {
-		"classmap": [
-			"app/commands",
-			"app/controllers",
-			"app/models",
-			"app/database/migrations",
-			"app/database/seeds",
-			"app/tests/TestCase.php"
-		]
-	},
-	"config": {
-		"preferred-install": "dist"
-	},
-	"minimum-stability": "stable"
+    "name": "laravel/laravel",
+    "description": "The Laravel Framework.",
+    "keywords": ["framework", "laravel"],
+    "license": "MIT",
+    "type": "project",
+    "require": {
+        "php": ">=7.1.3",
+        "fideloper/proxy": "~4.0",
+        "laravel/framework": "5.6.*",
+        "laravel/tinker": "~1.0"
+    },
+    "require-dev": {
+        "filp/whoops": "~2.0",
+        "fzaninotto/faker": "~1.4",
+        "mockery/mockery": "~1.0",
+        "nunomaduro/collision": "~2.0",
+        "phpunit/phpunit": "~7.0",
+        "symfony/thanks": "^1.0"
+    },
+    "autoload": {
+        "classmap": [
+            "database/seeds",
+            "database/factories"
+        ],
+        "psr-4": {
+            "App\\": "app/"
+        }
+    },
+    "autoload-dev": {
+        "psr-4": {
+            "Tests\\": "tests/"
+        }
+    },
+    "extra": {
+        "laravel": {
+            "dont-discover": [
+            ]
+        }
+    },
+    "scripts": {
+        "post-root-package-install": [
+            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
+        ],
+        "post-create-project-cmd": [
+            "@php artisan key:generate"
+        ],
+        "post-autoload-dump": [
+            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
+            "@php artisan package:discover"
+        ]
+    },
+    "config": {
+        "preferred-install": "dist",
+        "sort-packages": true,
+        "optimize-autoloader": true
+    },
+    "minimum-stability": "dev",
+    "prefer-stable": true
 }
 }

File diff suppressed because it is too large
+ 2633 - 163
frameworks/PHP/laravel/composer.lock


+ 214 - 0
frameworks/PHP/laravel/config/app.php

@@ -0,0 +1,214 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Application Name
+    |--------------------------------------------------------------------------
+    |
+    | This value is the name of your application. This value is used when the
+    | framework needs to place the application's name in a notification or
+    | any other location as required by the application or its packages.
+    |
+    */
+
+    'name' => env('APP_NAME', 'Laravel'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Application Environment
+    |--------------------------------------------------------------------------
+    |
+    | This value determines the "environment" your application is currently
+    | running in. This may determine how you prefer to configure various
+    | services your application utilizes. Set this in your ".env" file.
+    |
+    */
+
+    'env' => env('APP_ENV', 'production'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Application Debug Mode
+    |--------------------------------------------------------------------------
+    |
+    | When your application is in debug mode, detailed error messages with
+    | stack traces will be shown on every error that occurs within your
+    | application. If disabled, a simple generic error page is shown.
+    |
+    */
+
+    'debug' => env('APP_DEBUG', false),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Application URL
+    |--------------------------------------------------------------------------
+    |
+    | This URL is used by the console to properly generate URLs when using
+    | the Artisan command line tool. You should set this to the root of
+    | your application so that it is used when running Artisan tasks.
+    |
+    */
+
+    'url' => env('APP_URL', 'http://localhost'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Application Timezone
+    |--------------------------------------------------------------------------
+    |
+    | Here you may specify the default timezone for your application, which
+    | will be used by the PHP date and date-time functions. We have gone
+    | ahead and set this to a sensible default for you out of the box.
+    |
+    */
+
+    'timezone' => 'UTC',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Application Locale Configuration
+    |--------------------------------------------------------------------------
+    |
+    | The application locale determines the default locale that will be used
+    | by the translation service provider. You are free to set this value
+    | to any of the locales which will be supported by the application.
+    |
+    */
+
+    'locale' => 'en',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Application Fallback Locale
+    |--------------------------------------------------------------------------
+    |
+    | The fallback locale determines the locale to use when the current one
+    | is not available. You may change the value to correspond to any of
+    | the language folders that are provided through your application.
+    |
+    */
+
+    'fallback_locale' => 'en',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Encryption Key
+    |--------------------------------------------------------------------------
+    |
+    | This key is used by the Illuminate encrypter service and should be set
+    | to a random, 32 character string, otherwise these encrypted strings
+    | will not be safe. Please do this before deploying an application!
+    |
+    */
+
+    'key' => env('APP_KEY'),
+
+    'cipher' => 'AES-256-CBC',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Autoloaded Service Providers
+    |--------------------------------------------------------------------------
+    |
+    | The service providers listed here will be automatically loaded on the
+    | request to your application. Feel free to add your own services to
+    | this array to grant expanded functionality to your applications.
+    |
+    */
+
+    'providers' => [
+
+        /*
+         * Laravel Framework Service Providers...
+         */
+        Illuminate\Auth\AuthServiceProvider::class,
+        Illuminate\Broadcasting\BroadcastServiceProvider::class,
+        Illuminate\Bus\BusServiceProvider::class,
+        Illuminate\Cache\CacheServiceProvider::class,
+        Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
+        Illuminate\Cookie\CookieServiceProvider::class,
+        Illuminate\Database\DatabaseServiceProvider::class,
+        Illuminate\Encryption\EncryptionServiceProvider::class,
+        Illuminate\Filesystem\FilesystemServiceProvider::class,
+        Illuminate\Foundation\Providers\FoundationServiceProvider::class,
+        Illuminate\Hashing\HashServiceProvider::class,
+        Illuminate\Mail\MailServiceProvider::class,
+        Illuminate\Notifications\NotificationServiceProvider::class,
+        Illuminate\Pagination\PaginationServiceProvider::class,
+        Illuminate\Pipeline\PipelineServiceProvider::class,
+        Illuminate\Queue\QueueServiceProvider::class,
+        Illuminate\Redis\RedisServiceProvider::class,
+        Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
+        Illuminate\Session\SessionServiceProvider::class,
+        Illuminate\Translation\TranslationServiceProvider::class,
+        Illuminate\Validation\ValidationServiceProvider::class,
+        Illuminate\View\ViewServiceProvider::class,
+
+        /*
+         * Package Service Providers...
+         */
+
+        /*
+         * Application Service Providers...
+         */
+        App\Providers\AppServiceProvider::class,
+        App\Providers\AuthServiceProvider::class,
+        // App\Providers\BroadcastServiceProvider::class,
+        App\Providers\EventServiceProvider::class,
+        App\Providers\RouteServiceProvider::class,
+
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | Class Aliases
+    |--------------------------------------------------------------------------
+    |
+    | This array of class aliases will be registered when this application
+    | is started. However, feel free to register as many as you wish as
+    | the aliases are "lazy" loaded so they don't hinder performance.
+    |
+    */
+
+    'aliases' => [
+
+        'App' => Illuminate\Support\Facades\App::class,
+        'Artisan' => Illuminate\Support\Facades\Artisan::class,
+        'Auth' => Illuminate\Support\Facades\Auth::class,
+        'Blade' => Illuminate\Support\Facades\Blade::class,
+        'Broadcast' => Illuminate\Support\Facades\Broadcast::class,
+        'Bus' => Illuminate\Support\Facades\Bus::class,
+        'Cache' => Illuminate\Support\Facades\Cache::class,
+        'Config' => Illuminate\Support\Facades\Config::class,
+        'Cookie' => Illuminate\Support\Facades\Cookie::class,
+        'Crypt' => Illuminate\Support\Facades\Crypt::class,
+        'DB' => Illuminate\Support\Facades\DB::class,
+        'Eloquent' => Illuminate\Database\Eloquent\Model::class,
+        'Event' => Illuminate\Support\Facades\Event::class,
+        'File' => Illuminate\Support\Facades\File::class,
+        'Gate' => Illuminate\Support\Facades\Gate::class,
+        'Hash' => Illuminate\Support\Facades\Hash::class,
+        'Lang' => Illuminate\Support\Facades\Lang::class,
+        'Log' => Illuminate\Support\Facades\Log::class,
+        'Mail' => Illuminate\Support\Facades\Mail::class,
+        'Notification' => Illuminate\Support\Facades\Notification::class,
+        'Password' => Illuminate\Support\Facades\Password::class,
+        'Queue' => Illuminate\Support\Facades\Queue::class,
+        'Redirect' => Illuminate\Support\Facades\Redirect::class,
+        'Redis' => Illuminate\Support\Facades\Redis::class,
+        'Request' => Illuminate\Support\Facades\Request::class,
+        'Response' => Illuminate\Support\Facades\Response::class,
+        'Route' => Illuminate\Support\Facades\Route::class,
+        'Schema' => Illuminate\Support\Facades\Schema::class,
+        'Session' => Illuminate\Support\Facades\Session::class,
+        'Storage' => Illuminate\Support\Facades\Storage::class,
+        'URL' => Illuminate\Support\Facades\URL::class,
+        'Validator' => Illuminate\Support\Facades\Validator::class,
+        'View' => Illuminate\Support\Facades\View::class,
+
+    ],
+
+];

+ 102 - 0
frameworks/PHP/laravel/config/auth.php

@@ -0,0 +1,102 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Authentication Defaults
+    |--------------------------------------------------------------------------
+    |
+    | This option controls the default authentication "guard" and password
+    | reset options for your application. You may change these defaults
+    | as required, but they're a perfect start for most applications.
+    |
+    */
+
+    'defaults' => [
+        'guard' => 'web',
+        'passwords' => 'users',
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | Authentication Guards
+    |--------------------------------------------------------------------------
+    |
+    | Next, you may define every authentication guard for your application.
+    | Of course, a great default configuration has been defined for you
+    | here which uses session storage and the Eloquent user provider.
+    |
+    | All authentication drivers have a user provider. This defines how the
+    | users are actually retrieved out of your database or other storage
+    | mechanisms used by this application to persist your user's data.
+    |
+    | Supported: "session", "token"
+    |
+    */
+
+    'guards' => [
+        'web' => [
+            'driver' => 'session',
+            'provider' => 'users',
+        ],
+
+        'api' => [
+            'driver' => 'token',
+            'provider' => 'users',
+        ],
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | User Providers
+    |--------------------------------------------------------------------------
+    |
+    | All authentication drivers have a user provider. This defines how the
+    | users are actually retrieved out of your database or other storage
+    | mechanisms used by this application to persist your user's data.
+    |
+    | If you have multiple user tables or models you may configure multiple
+    | sources which represent each model / table. These sources may then
+    | be assigned to any extra authentication guards you have defined.
+    |
+    | Supported: "database", "eloquent"
+    |
+    */
+
+    'providers' => [
+        'users' => [
+            'driver' => 'eloquent',
+            'model' => App\User::class,
+        ],
+
+        // 'users' => [
+        //     'driver' => 'database',
+        //     'table' => 'users',
+        // ],
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | Resetting Passwords
+    |--------------------------------------------------------------------------
+    |
+    | You may specify multiple password reset configurations if you have more
+    | than one user table or model in the application and you want to have
+    | separate password reset settings based on the specific user types.
+    |
+    | The expire time is the number of minutes that the reset token should be
+    | considered valid. This security feature keeps tokens short-lived so
+    | they have less time to be guessed. You may change this as needed.
+    |
+    */
+
+    'passwords' => [
+        'users' => [
+            'provider' => 'users',
+            'table' => 'password_resets',
+            'expire' => 60,
+        ],
+    ],
+
+];

+ 59 - 0
frameworks/PHP/laravel/config/broadcasting.php

@@ -0,0 +1,59 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Default Broadcaster
+    |--------------------------------------------------------------------------
+    |
+    | This option controls the default broadcaster that will be used by the
+    | framework when an event needs to be broadcast. You may set this to
+    | any of the connections defined in the "connections" array below.
+    |
+    | Supported: "pusher", "redis", "log", "null"
+    |
+    */
+
+    'default' => env('BROADCAST_DRIVER', 'null'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Broadcast Connections
+    |--------------------------------------------------------------------------
+    |
+    | Here you may define all of the broadcast connections that will be used
+    | to broadcast events to other systems or over websockets. Samples of
+    | each available type of connection are provided inside this array.
+    |
+    */
+
+    'connections' => [
+
+        'pusher' => [
+            'driver' => 'pusher',
+            'key' => env('PUSHER_APP_KEY'),
+            'secret' => env('PUSHER_APP_SECRET'),
+            'app_id' => env('PUSHER_APP_ID'),
+            'options' => [
+                'cluster' => env('PUSHER_APP_CLUSTER'),
+                'encrypted' => true,
+            ],
+        ],
+
+        'redis' => [
+            'driver' => 'redis',
+            'connection' => 'default',
+        ],
+
+        'log' => [
+            'driver' => 'log',
+        ],
+
+        'null' => [
+            'driver' => 'null',
+        ],
+
+    ],
+
+];

+ 94 - 0
frameworks/PHP/laravel/config/cache.php

@@ -0,0 +1,94 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Default Cache Store
+    |--------------------------------------------------------------------------
+    |
+    | This option controls the default cache connection that gets used while
+    | using this caching library. This connection is used when another is
+    | not explicitly specified when executing a given caching function.
+    |
+    | Supported: "apc", "array", "database", "file", "memcached", "redis"
+    |
+    */
+
+    'default' => env('CACHE_DRIVER', 'file'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Cache Stores
+    |--------------------------------------------------------------------------
+    |
+    | Here you may define all of the cache "stores" for your application as
+    | well as their drivers. You may even define multiple stores for the
+    | same cache driver to group types of items stored in your caches.
+    |
+    */
+
+    'stores' => [
+
+        'apc' => [
+            'driver' => 'apc',
+        ],
+
+        'array' => [
+            'driver' => 'array',
+        ],
+
+        'database' => [
+            'driver' => 'database',
+            'table' => 'cache',
+            'connection' => null,
+        ],
+
+        'file' => [
+            'driver' => 'file',
+            'path' => storage_path('framework/cache/data'),
+        ],
+
+        'memcached' => [
+            'driver' => 'memcached',
+            'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
+            'sasl' => [
+                env('MEMCACHED_USERNAME'),
+                env('MEMCACHED_PASSWORD'),
+            ],
+            'options' => [
+                // Memcached::OPT_CONNECT_TIMEOUT  => 2000,
+            ],
+            'servers' => [
+                [
+                    'host' => env('MEMCACHED_HOST', '127.0.0.1'),
+                    'port' => env('MEMCACHED_PORT', 11211),
+                    'weight' => 100,
+                ],
+            ],
+        ],
+
+        'redis' => [
+            'driver' => 'redis',
+            'connection' => 'default',
+        ],
+
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | Cache Key Prefix
+    |--------------------------------------------------------------------------
+    |
+    | When utilizing a RAM based store such as APC or Memcached, there might
+    | be other applications utilizing the same cache. So, we'll specify a
+    | value to get prefixed to all our keys so we can avoid collisions.
+    |
+    */
+
+    'prefix' => env(
+        'CACHE_PREFIX',
+        str_slug(env('APP_NAME', 'laravel'), '_').'_cache'
+    ),
+
+];

+ 120 - 0
frameworks/PHP/laravel/config/database.php

@@ -0,0 +1,120 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Default Database Connection Name
+    |--------------------------------------------------------------------------
+    |
+    | Here you may specify which of the database connections below you wish
+    | to use as your default connection for all database work. Of course
+    | you may use many connections at once using the Database library.
+    |
+    */
+
+    'default' => env('DB_CONNECTION', 'mysql'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Database Connections
+    |--------------------------------------------------------------------------
+    |
+    | Here are each of the database connections setup for your application.
+    | Of course, examples of configuring each database platform that is
+    | supported by Laravel is shown below to make development simple.
+    |
+    |
+    | All database work in Laravel is done through the PHP PDO facilities
+    | so make sure you have the driver for your particular database of
+    | choice installed on your machine before you begin development.
+    |
+    */
+
+    'connections' => [
+
+        'sqlite' => [
+            'driver' => 'sqlite',
+            'database' => env('DB_DATABASE', database_path('database.sqlite')),
+            'prefix' => '',
+        ],
+
+        'mysql' => [
+            'driver' => 'mysql',
+            'host' => env('DB_HOST', '127.0.0.1'),
+            'port' => env('DB_PORT', '3306'),
+            'database' => env('DB_DATABASE', 'forge'),
+            'username' => env('DB_USERNAME', 'forge'),
+            'password' => env('DB_PASSWORD', ''),
+            'unix_socket' => env('DB_SOCKET', ''),
+            'charset' => 'utf8mb4',
+            'collation' => 'utf8mb4_unicode_ci',
+            'prefix' => '',
+            'strict' => true,
+            'engine' => null,
+        ],
+
+        'pgsql' => [
+            'driver' => 'pgsql',
+            'host' => env('DB_HOST', '127.0.0.1'),
+            'port' => env('DB_PORT', '5432'),
+            'database' => env('DB_DATABASE', 'forge'),
+            'username' => env('DB_USERNAME', 'forge'),
+            'password' => env('DB_PASSWORD', ''),
+            'charset' => 'utf8',
+            'prefix' => '',
+            'schema' => 'public',
+            'sslmode' => 'prefer',
+        ],
+
+        'sqlsrv' => [
+            'driver' => 'sqlsrv',
+            'host' => env('DB_HOST', 'localhost'),
+            'port' => env('DB_PORT', '1433'),
+            'database' => env('DB_DATABASE', 'forge'),
+            'username' => env('DB_USERNAME', 'forge'),
+            'password' => env('DB_PASSWORD', ''),
+            'charset' => 'utf8',
+            'prefix' => '',
+        ],
+
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | Migration Repository Table
+    |--------------------------------------------------------------------------
+    |
+    | This table keeps track of all the migrations that have already run for
+    | your application. Using this information, we can determine which of
+    | the migrations on disk haven't actually been run in the database.
+    |
+    */
+
+    'migrations' => 'migrations',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Redis Databases
+    |--------------------------------------------------------------------------
+    |
+    | Redis is an open source, fast, and advanced key-value store that also
+    | provides a richer set of commands than a typical key-value systems
+    | such as APC or Memcached. Laravel makes it easy to dig right in.
+    |
+    */
+
+    'redis' => [
+
+        'client' => 'predis',
+
+        'default' => [
+            'host' => env('REDIS_HOST', '127.0.0.1'),
+            'password' => env('REDIS_PASSWORD', null),
+            'port' => env('REDIS_PORT', 6379),
+            'database' => 0,
+        ],
+
+    ],
+
+];

+ 69 - 0
frameworks/PHP/laravel/config/filesystems.php

@@ -0,0 +1,69 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Default Filesystem Disk
+    |--------------------------------------------------------------------------
+    |
+    | Here you may specify the default filesystem disk that should be used
+    | by the framework. The "local" disk, as well as a variety of cloud
+    | based disks are available to your application. Just store away!
+    |
+    */
+
+    'default' => env('FILESYSTEM_DRIVER', 'local'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Default Cloud Filesystem Disk
+    |--------------------------------------------------------------------------
+    |
+    | Many applications store files both locally and in the cloud. For this
+    | reason, you may specify a default "cloud" driver here. This driver
+    | will be bound as the Cloud disk implementation in the container.
+    |
+    */
+
+    'cloud' => env('FILESYSTEM_CLOUD', 's3'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Filesystem Disks
+    |--------------------------------------------------------------------------
+    |
+    | Here you may configure as many filesystem "disks" as you wish, and you
+    | may even configure multiple disks of the same driver. Defaults have
+    | been setup for each driver as an example of the required options.
+    |
+    | Supported Drivers: "local", "ftp", "sftp", "s3", "rackspace"
+    |
+    */
+
+    'disks' => [
+
+        'local' => [
+            'driver' => 'local',
+            'root' => storage_path('app'),
+        ],
+
+        'public' => [
+            'driver' => 'local',
+            'root' => storage_path('app/public'),
+            'url' => env('APP_URL').'/storage',
+            'visibility' => 'public',
+        ],
+
+        's3' => [
+            'driver' => 's3',
+            'key' => env('AWS_ACCESS_KEY_ID'),
+            'secret' => env('AWS_SECRET_ACCESS_KEY'),
+            'region' => env('AWS_DEFAULT_REGION'),
+            'bucket' => env('AWS_BUCKET'),
+            'url' => env('AWS_URL'),
+        ],
+
+    ],
+
+];

+ 20 - 0
frameworks/PHP/laravel/config/hashing.php

@@ -0,0 +1,20 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Default Hash Driver
+    |--------------------------------------------------------------------------
+    |
+    | This option controls the default hash driver that will be used to hash
+    | passwords for your application. By default, the bcrypt algorithm is
+    | used; however, you remain free to modify this option if you wish.
+    |
+    | Supported: "bcrypt", "argon"
+    |
+    */
+
+    'driver' => 'bcrypt',
+
+];

+ 70 - 0
frameworks/PHP/laravel/config/logging.php

@@ -0,0 +1,70 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Default Log Channel
+    |--------------------------------------------------------------------------
+    |
+    | This option defines the default log channel that gets used when writing
+    | messages to the logs. The name specified in this option should match
+    | one of the channels defined in the "channels" configuration array.
+    |
+    */
+
+    'default' => env('LOG_CHANNEL', 'stack'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Log Channels
+    |--------------------------------------------------------------------------
+    |
+    | Here you may configure the log channels for your application. Out of
+    | the box, Laravel uses the Monolog PHP logging library. This gives
+    | you a variety of powerful log handlers / formatters to utilize.
+    |
+    | Available Drivers: "single", "daily", "slack", "syslog",
+    |                    "errorlog", "custom", "stack"
+    |
+    */
+
+    'channels' => [
+        'stack' => [
+            'driver' => 'stack',
+            'channels' => ['single'],
+        ],
+
+        'single' => [
+            'driver' => 'single',
+            'path' => storage_path('logs/laravel.log'),
+            'level' => 'debug',
+        ],
+
+        'daily' => [
+            'driver' => 'daily',
+            'path' => storage_path('logs/laravel.log'),
+            'level' => 'debug',
+            'days' => 7,
+        ],
+
+        'slack' => [
+            'driver' => 'slack',
+            'url' => env('LOG_SLACK_WEBHOOK_URL'),
+            'username' => 'Laravel Log',
+            'emoji' => ':boom:',
+            'level' => 'critical',
+        ],
+
+        'syslog' => [
+            'driver' => 'syslog',
+            'level' => 'debug',
+        ],
+
+        'errorlog' => [
+            'driver' => 'errorlog',
+            'level' => 'debug',
+        ],
+    ],
+
+];

+ 123 - 0
frameworks/PHP/laravel/config/mail.php

@@ -0,0 +1,123 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Mail Driver
+    |--------------------------------------------------------------------------
+    |
+    | Laravel supports both SMTP and PHP's "mail" function as drivers for the
+    | sending of e-mail. You may specify which one you're using throughout
+    | your application here. By default, Laravel is setup for SMTP mail.
+    |
+    | Supported: "smtp", "sendmail", "mailgun", "mandrill", "ses",
+    |            "sparkpost", "log", "array"
+    |
+    */
+
+    'driver' => env('MAIL_DRIVER', 'smtp'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | SMTP Host Address
+    |--------------------------------------------------------------------------
+    |
+    | Here you may provide the host address of the SMTP server used by your
+    | applications. A default option is provided that is compatible with
+    | the Mailgun mail service which will provide reliable deliveries.
+    |
+    */
+
+    'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | SMTP Host Port
+    |--------------------------------------------------------------------------
+    |
+    | This is the SMTP port used by your application to deliver e-mails to
+    | users of the application. Like the host we have set this value to
+    | stay compatible with the Mailgun e-mail application by default.
+    |
+    */
+
+    'port' => env('MAIL_PORT', 587),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Global "From" Address
+    |--------------------------------------------------------------------------
+    |
+    | You may wish for all e-mails sent by your application to be sent from
+    | the same address. Here, you may specify a name and address that is
+    | used globally for all e-mails that are sent by your application.
+    |
+    */
+
+    'from' => [
+        'address' => env('MAIL_FROM_ADDRESS', '[email protected]'),
+        'name' => env('MAIL_FROM_NAME', 'Example'),
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | E-Mail Encryption Protocol
+    |--------------------------------------------------------------------------
+    |
+    | Here you may specify the encryption protocol that should be used when
+    | the application send e-mail messages. A sensible default using the
+    | transport layer security protocol should provide great security.
+    |
+    */
+
+    'encryption' => env('MAIL_ENCRYPTION', 'tls'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | SMTP Server Username
+    |--------------------------------------------------------------------------
+    |
+    | If your SMTP server requires a username for authentication, you should
+    | set it here. This will get used to authenticate with your server on
+    | connection. You may also set the "password" value below this one.
+    |
+    */
+
+    'username' => env('MAIL_USERNAME'),
+
+    'password' => env('MAIL_PASSWORD'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Sendmail System Path
+    |--------------------------------------------------------------------------
+    |
+    | When using the "sendmail" driver to send e-mails, we will need to know
+    | the path to where Sendmail lives on this server. A default path has
+    | been provided here, which will work well on most of your systems.
+    |
+    */
+
+    'sendmail' => '/usr/sbin/sendmail -bs',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Markdown Mail Settings
+    |--------------------------------------------------------------------------
+    |
+    | If you are using Markdown based email rendering, you may configure your
+    | theme and component paths here, allowing you to customize the design
+    | of the emails. Or, you may simply stick with the Laravel defaults!
+    |
+    */
+
+    'markdown' => [
+        'theme' => 'default',
+
+        'paths' => [
+            resource_path('views/vendor/mail'),
+        ],
+    ],
+
+];

+ 86 - 0
frameworks/PHP/laravel/config/queue.php

@@ -0,0 +1,86 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Default Queue Driver
+    |--------------------------------------------------------------------------
+    |
+    | Laravel's queue API supports an assortment of back-ends via a single
+    | API, giving you convenient access to each back-end using the same
+    | syntax for each one. Here you may set the default queue driver.
+    |
+    | Supported: "sync", "database", "beanstalkd", "sqs", "redis", "null"
+    |
+    */
+
+    'default' => env('QUEUE_DRIVER', 'sync'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Queue Connections
+    |--------------------------------------------------------------------------
+    |
+    | Here you may configure the connection information for each server that
+    | is used by your application. A default configuration has been added
+    | for each back-end shipped with Laravel. You are free to add more.
+    |
+    */
+
+    'connections' => [
+
+        'sync' => [
+            'driver' => 'sync',
+        ],
+
+        'database' => [
+            'driver' => 'database',
+            'table' => 'jobs',
+            'queue' => 'default',
+            'retry_after' => 90,
+        ],
+
+        'beanstalkd' => [
+            'driver' => 'beanstalkd',
+            'host' => 'localhost',
+            'queue' => 'default',
+            'retry_after' => 90,
+        ],
+
+        'sqs' => [
+            'driver' => 'sqs',
+            'key' => env('SQS_KEY', 'your-public-key'),
+            'secret' => env('SQS_SECRET', 'your-secret-key'),
+            'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'),
+            'queue' => env('SQS_QUEUE', 'your-queue-name'),
+            'region' => env('SQS_REGION', 'us-east-1'),
+        ],
+
+        'redis' => [
+            'driver' => 'redis',
+            'connection' => 'default',
+            'queue' => 'default',
+            'retry_after' => 90,
+            'block_for' => null,
+        ],
+
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | Failed Queue Jobs
+    |--------------------------------------------------------------------------
+    |
+    | These options configure the behavior of failed queue job logging so you
+    | can control which database and table are used to store the jobs that
+    | have failed. You may change them to any database / table you wish.
+    |
+    */
+
+    'failed' => [
+        'database' => env('DB_CONNECTION', 'mysql'),
+        'table' => 'failed_jobs',
+    ],
+
+];

+ 38 - 0
frameworks/PHP/laravel/config/services.php

@@ -0,0 +1,38 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Third Party Services
+    |--------------------------------------------------------------------------
+    |
+    | This file is for storing the credentials for third party services such
+    | as Stripe, Mailgun, SparkPost and others. This file provides a sane
+    | default location for this type of information, allowing packages
+    | to have a conventional place to find your various credentials.
+    |
+    */
+
+    'mailgun' => [
+        'domain' => env('MAILGUN_DOMAIN'),
+        'secret' => env('MAILGUN_SECRET'),
+    ],
+
+    'ses' => [
+        'key' => env('SES_KEY'),
+        'secret' => env('SES_SECRET'),
+        'region' => 'us-east-1',
+    ],
+
+    'sparkpost' => [
+        'secret' => env('SPARKPOST_SECRET'),
+    ],
+
+    'stripe' => [
+        'model' => App\User::class,
+        'key' => env('STRIPE_KEY'),
+        'secret' => env('STRIPE_SECRET'),
+    ],
+
+];

+ 197 - 0
frameworks/PHP/laravel/config/session.php

@@ -0,0 +1,197 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | Default Session Driver
+    |--------------------------------------------------------------------------
+    |
+    | This option controls the default session "driver" that will be used on
+    | requests. By default, we will use the lightweight native driver but
+    | you may specify any of the other wonderful drivers provided here.
+    |
+    | Supported: "file", "cookie", "database", "apc",
+    |            "memcached", "redis", "array"
+    |
+    */
+
+    'driver' => env('SESSION_DRIVER', 'file'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Session Lifetime
+    |--------------------------------------------------------------------------
+    |
+    | Here you may specify the number of minutes that you wish the session
+    | to be allowed to remain idle before it expires. If you want them
+    | to immediately expire on the browser closing, set that option.
+    |
+    */
+
+    'lifetime' => env('SESSION_LIFETIME', 120),
+
+    'expire_on_close' => false,
+
+    /*
+    |--------------------------------------------------------------------------
+    | Session Encryption
+    |--------------------------------------------------------------------------
+    |
+    | This option allows you to easily specify that all of your session data
+    | should be encrypted before it is stored. All encryption will be run
+    | automatically by Laravel and you can use the Session like normal.
+    |
+    */
+
+    'encrypt' => false,
+
+    /*
+    |--------------------------------------------------------------------------
+    | Session File Location
+    |--------------------------------------------------------------------------
+    |
+    | When using the native session driver, we need a location where session
+    | files may be stored. A default has been set for you but a different
+    | location may be specified. This is only needed for file sessions.
+    |
+    */
+
+    'files' => storage_path('framework/sessions'),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Session Database Connection
+    |--------------------------------------------------------------------------
+    |
+    | When using the "database" or "redis" session drivers, you may specify a
+    | connection that should be used to manage these sessions. This should
+    | correspond to a connection in your database configuration options.
+    |
+    */
+
+    'connection' => null,
+
+    /*
+    |--------------------------------------------------------------------------
+    | Session Database Table
+    |--------------------------------------------------------------------------
+    |
+    | When using the "database" session driver, you may specify the table we
+    | should use to manage the sessions. Of course, a sensible default is
+    | provided for you; however, you are free to change this as needed.
+    |
+    */
+
+    'table' => 'sessions',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Session Cache Store
+    |--------------------------------------------------------------------------
+    |
+    | When using the "apc" or "memcached" session drivers, you may specify a
+    | cache store that should be used for these sessions. This value must
+    | correspond with one of the application's configured cache stores.
+    |
+    */
+
+    'store' => null,
+
+    /*
+    |--------------------------------------------------------------------------
+    | Session Sweeping Lottery
+    |--------------------------------------------------------------------------
+    |
+    | Some session drivers must manually sweep their storage location to get
+    | rid of old sessions from storage. Here are the chances that it will
+    | happen on a given request. By default, the odds are 2 out of 100.
+    |
+    */
+
+    'lottery' => [2, 100],
+
+    /*
+    |--------------------------------------------------------------------------
+    | Session Cookie Name
+    |--------------------------------------------------------------------------
+    |
+    | Here you may change the name of the cookie used to identify a session
+    | instance by ID. The name specified here will get used every time a
+    | new session cookie is created by the framework for every driver.
+    |
+    */
+
+    'cookie' => env(
+        'SESSION_COOKIE',
+        str_slug(env('APP_NAME', 'laravel'), '_').'_session'
+    ),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Session Cookie Path
+    |--------------------------------------------------------------------------
+    |
+    | The session cookie path determines the path for which the cookie will
+    | be regarded as available. Typically, this will be the root path of
+    | your application but you are free to change this when necessary.
+    |
+    */
+
+    'path' => '/',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Session Cookie Domain
+    |--------------------------------------------------------------------------
+    |
+    | Here you may change the domain of the cookie used to identify a session
+    | in your application. This will determine which domains the cookie is
+    | available to in your application. A sensible default has been set.
+    |
+    */
+
+    'domain' => env('SESSION_DOMAIN', null),
+
+    /*
+    |--------------------------------------------------------------------------
+    | HTTPS Only Cookies
+    |--------------------------------------------------------------------------
+    |
+    | By setting this option to true, session cookies will only be sent back
+    | to the server if the browser has a HTTPS connection. This will keep
+    | the cookie from being sent to you if it can not be done securely.
+    |
+    */
+
+    'secure' => env('SESSION_SECURE_COOKIE', false),
+
+    /*
+    |--------------------------------------------------------------------------
+    | HTTP Access Only
+    |--------------------------------------------------------------------------
+    |
+    | Setting this value to true will prevent JavaScript from accessing the
+    | value of the cookie and the cookie will only be accessible through
+    | the HTTP protocol. You are free to modify this option if needed.
+    |
+    */
+
+    'http_only' => true,
+
+    /*
+    |--------------------------------------------------------------------------
+    | Same-Site Cookies
+    |--------------------------------------------------------------------------
+    |
+    | This option determines how your cookies behave when cross-site requests
+    | take place, and can be used to mitigate CSRF attacks. By default, we
+    | do not enable this as other CSRF protection services are in place.
+    |
+    | Supported: "lax", "strict"
+    |
+    */
+
+    'same_site' => null,
+
+];

+ 33 - 0
frameworks/PHP/laravel/config/view.php

@@ -0,0 +1,33 @@
+<?php
+
+return [
+
+    /*
+    |--------------------------------------------------------------------------
+    | View Storage Paths
+    |--------------------------------------------------------------------------
+    |
+    | Most templating systems load templates from disk. Here you may specify
+    | an array of paths that should be checked for your views. Of course
+    | the usual Laravel view path has already been registered for you.
+    |
+    */
+
+    'paths' => [
+        resource_path('views'),
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | Compiled View Path
+    |--------------------------------------------------------------------------
+    |
+    | This option determines where all the compiled Blade templates will be
+    | stored for your application. Typically, this is within the storage
+    | directory. However, as usual, you are free to change this value.
+    |
+    */
+
+    'compiled' => realpath(storage_path('framework/views')),
+
+];

+ 0 - 0
frameworks/PHP/laravel/app/database/.gitignore → frameworks/PHP/laravel/database/.gitignore


+ 23 - 0
frameworks/PHP/laravel/database/factories/UserFactory.php

@@ -0,0 +1,23 @@
+<?php
+
+use Faker\Generator as Faker;
+
+/*
+|--------------------------------------------------------------------------
+| Model Factories
+|--------------------------------------------------------------------------
+|
+| This directory should contain each of the model factory definitions for
+| your application. Factories provide a convenient way to generate new
+| model instances for testing / seeding your application's database.
+|
+*/
+
+$factory->define(App\User::class, function (Faker $faker) {
+    return [
+        'name' => $faker->name,
+        'email' => $faker->unique()->safeEmail,
+        'password' => '$2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm', // secret
+        'remember_token' => str_random(10),
+    ];
+});

+ 35 - 0
frameworks/PHP/laravel/database/migrations/2014_10_12_000000_create_users_table.php

@@ -0,0 +1,35 @@
+<?php
+
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class CreateUsersTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('users', function (Blueprint $table) {
+            $table->increments('id');
+            $table->string('name');
+            $table->string('email')->unique();
+            $table->string('password');
+            $table->rememberToken();
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('users');
+    }
+}

+ 32 - 0
frameworks/PHP/laravel/database/migrations/2014_10_12_100000_create_password_resets_table.php

@@ -0,0 +1,32 @@
+<?php
+
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class CreatePasswordResetsTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('password_resets', function (Blueprint $table) {
+            $table->string('email')->index();
+            $table->string('token');
+            $table->timestamp('created_at')->nullable();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('password_resets');
+    }
+}

+ 16 - 0
frameworks/PHP/laravel/database/seeds/DatabaseSeeder.php

@@ -0,0 +1,16 @@
+<?php
+
+use Illuminate\Database\Seeder;
+
+class DatabaseSeeder extends Seeder
+{
+    /**
+     * Run the database seeds.
+     *
+     * @return void
+     */
+    public function run()
+    {
+        // $this->call(UsersTableSeeder::class);
+    }
+}

+ 0 - 49
frameworks/PHP/laravel/deploy/config.hdf

@@ -1,49 +0,0 @@
-# main configuration file
-
-# Application PID File
-PidFile = /home/vagrant/FrameworkBenchmarks/frameworks/PHP/php-laravel/hhvm.pid
-
-# Server settings
-Server {
-  Port = 9001
-  Type = fastcgi
-  SourceRoot = /home/vagrant/FrameworkBenchmarks/frameworks/PHP/php-laravel
-  DefaultDocument = index.php
-  GzipCompressionLevel = 0
-  EnableKeepAlive = true
-}
-
-# Disable logging completely
-Log {
-  UseLogFile = false
-  UseSyslog = false
-  Level = Error
-  #File = /home/vagrant/FrameworkBenchmarks/frameworks/PHP/php-laravel/error.log
-}
-
-# Enable jit for production mode
-Eval {
-    Jit = true
-    CheckSymLink = false
-}
-
-# Repo file
-Repo {
-  Central {
-    Path = /home/vagrant/FrameworkBenchmarks/frameworks/PHP/php-laravel/.hhvm.bbhc
-  }
-}
-
-# Setup basic rewrite
-VirtualHost {
-    * {
-        Pattern = .*
-        RewriteRules {
-            * {
-                pattern = ^(.*)$
-                to = $1.php
-                qsa = true
-            }
-        }
-    }
-}

Some files were not shown because too many files changed in this diff