├── .env
├── .gitignore
├── app
├── Console
│ ├── Commands
│ │ └── .gitkeep
│ └── Kernel.php
├── Events
│ └── Event.php
├── Exceptions
│ └── Handler.php
├── Http
│ ├── Controllers
│ │ ├── AuthenticateController.php
│ │ ├── BackendController.php
│ │ └── Controller.php
│ ├── Middleware
│ │ └── ExampleMiddleware.php
│ └── routes.php
├── Jobs
│ └── Job.php
├── Listeners
│ └── Listener.php
├── Models
│ └── ApiSubscriber.php
└── Providers
│ ├── AppServiceProvider.php
│ ├── AuthServiceProvider.php
│ └── EventServiceProvider.php
├── artisan
├── bootstrap
└── app.php
├── composer.json
├── composer.lock
├── config
├── auth.php
├── cors.php
└── jwt.php
├── database
├── factories
│ └── ModelFactory.php
├── migrations
│ ├── .gitkeep
│ └── 2015_11_30_095335_create_api_subscribers_table.php
└── seeds
│ └── DatabaseSeeder.php
├── lumendingojwtapi.json.postman_collection
├── phpunit.xml
├── public
├── .htaccess
└── index.php
├── readme.md
├── resources
├── lang
│ └── en
│ │ └── validation.php
└── views
│ └── .gitkeep
├── server.php
├── storage
├── app
│ └── .gitignore
├── framework
│ ├── cache
│ │ └── .gitignore
│ ├── sessions
│ │ └── .gitignore
│ └── views
│ │ └── .gitignore
└── logs
│ └── .gitignore
└── tests
├── ExampleTest.php
└── TestCase.php
/.env:
--------------------------------------------------------------------------------
1 | APP_ENV=local
2 | APP_DEBUG=true
3 | APP_KEY=SomeRandomKey!!!
4 |
5 | APP_LOCALE=en
6 | APP_FALLBACK_LOCALE=en
7 |
8 | DB_CONNECTION=mysql
9 | DB_HOST=localhost
10 | DB_PORT=3306
11 | DB_DATABASE=lumendingojwtapi
12 | DB_USERNAME=homestead
13 | DB_PASSWORD=secret
14 |
15 | CACHE_DRIVER=memcached
16 | SESSION_DRIVER=memcached
17 | QUEUE_DRIVER=database
18 |
19 | # MAIL_DRIVER=smtp
20 | # MAIL_HOST=mailtrap.io
21 | # MAIL_PORT=2525
22 | # MAIL_USERNAME=null
23 | # MAIL_PASSWORD=null
24 | # MAIL_FROM_ADDRESS=null
25 | # MAIL_FROM_NAME=null
26 |
27 | # FILESYSTEM_DRIVER=local
28 | # FILESYSTEM_CLOUD=s3
29 |
30 | # S3_KEY=null
31 | # S3_SECRET=null
32 | # S3_REGION=null
33 | # S3_BUCKET=null
34 |
35 | # RACKSPACE_USERNAME=null
36 | # RACKSPACE_KEY=null
37 | # RACKSPACE_CONTAINER=null
38 | # RACKSPACE_REGION=null
39 |
40 | # DINGO/API
41 | API_STANDARDS_TREE=vnd
42 | API_DOMAIN=lumendingojwtapi.local
43 | API_VERSION=v1
44 | API_NAME=lumendingojwtapi
45 | API_CONDITIONAL_REQUEST=true
46 | API_STRICT=false
47 | API_DEBUG=true
48 |
49 | # JWT
50 | JWT_SECRET=GenerateWith:: #php artisan jwt:secret
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /vendor
2 | .idea
3 |
--------------------------------------------------------------------------------
/app/Console/Commands/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/0plus1/lumendingojwtapi/06f020d44ca8db5711122bd638f4e8347b27f7a1/app/Console/Commands/.gitkeep
--------------------------------------------------------------------------------
/app/Console/Kernel.php:
--------------------------------------------------------------------------------
1 | auth = $auth;
14 | }
15 |
16 | public function backend(Request $request)
17 | {
18 | // grab credentials from the request
19 | $credentials = $request->only('email', 'password');
20 |
21 | try {
22 | // attempt to verify the credentials and create a token for the user
23 | if (! $token = $this->auth->attempt($credentials)) {
24 | return response()->json(['error' => 'invalid_credentials'], 401);
25 | }
26 | } catch (JWTException $e) {
27 | // something went wrong whilst attempting to encode the token
28 | return response()->json(['error' => 'could_not_create_token'], 500);
29 | }
30 |
31 | // all good so return the token
32 | return response()->json(compact('token'));
33 | }
34 | }
--------------------------------------------------------------------------------
/app/Http/Controllers/BackendController.php:
--------------------------------------------------------------------------------
1 | user();
19 |
20 | return $user;
21 | }
22 | }
--------------------------------------------------------------------------------
/app/Http/Controllers/Controller.php:
--------------------------------------------------------------------------------
1 | version('v1', ['middleware' => 'api.auth', 'providers' => 'jwt'], function ($api) {
18 | $api->get('/index', 'App\Http\Controllers\BackendController@index');
19 | });
20 |
21 | // Publicly accessible routes
22 | $api->version('v1', [], function ($api) {
23 | $api->post('/authenticate', 'App\Http\Controllers\AuthenticateController@backend');
24 | });
25 |
--------------------------------------------------------------------------------
/app/Jobs/Job.php:
--------------------------------------------------------------------------------
1 | attributes['password'] = app('hash')->make($value);
23 | }
24 |
25 | /**
26 | * Get the identifier that will be stored in the subject claim of the JWT
27 | *
28 | * @return mixed
29 | */
30 | public function getJWTIdentifier()
31 | {
32 | return $this->getKey();
33 | }
34 | /**
35 | * Return a key value array, containing any custom claims to be added to the JWT
36 | *
37 | * @return array
38 | */
39 | public function getJWTCustomClaims()
40 | {
41 | return [];
42 | }
43 | }
--------------------------------------------------------------------------------
/app/Providers/AppServiceProvider.php:
--------------------------------------------------------------------------------
1 | app['auth']->viaRequest('api', function ($request) {
34 | if ($request->input('api_token')) {
35 | return User::where('api_token', $request->input('api_token'))->first();
36 | }
37 | });
38 | }
39 | }
--------------------------------------------------------------------------------
/app/Providers/EventServiceProvider.php:
--------------------------------------------------------------------------------
1 | [
16 | 'App\Listeners\EventListener',
17 | ],
18 | ];
19 | }
20 |
--------------------------------------------------------------------------------
/artisan:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env php
2 | make(
32 | 'Illuminate\Contracts\Console\Kernel'
33 | );
34 |
35 | exit($kernel->handle(new ArgvInput, new ConsoleOutput));
36 |
--------------------------------------------------------------------------------
/bootstrap/app.php:
--------------------------------------------------------------------------------
1 | load();
7 | } catch (Dotenv\Exception\InvalidPathException $e) {
8 | //
9 | }
10 |
11 | /*
12 | |--------------------------------------------------------------------------
13 | | Create The Application
14 | |--------------------------------------------------------------------------
15 | |
16 | | Here we will load the environment and create the application instance
17 | | that serves as the central piece of this framework. We'll use this
18 | | application as an "IoC" container and router for this framework.
19 | |
20 | */
21 |
22 | $app = new Laravel\Lumen\Application(
23 | realpath(__DIR__.'/../')
24 | );
25 |
26 | // $app->withFacades();
27 |
28 | $app->withEloquent();
29 |
30 | // Register config files
31 | $app->configure('auth');
32 | $app->configure('jwt');
33 | $app->configure('cors');
34 |
35 | /*
36 | |--------------------------------------------------------------------------
37 | | Register Container Bindings
38 | |--------------------------------------------------------------------------
39 | |
40 | | Now we will register a few bindings in the service container. We will
41 | | register the exception handler and the console kernel. You may add
42 | | your own bindings here if you like or you can make another file.
43 | |
44 | */
45 |
46 | $app->singleton(
47 | Illuminate\Contracts\Debug\ExceptionHandler::class,
48 | App\Exceptions\Handler::class
49 | );
50 |
51 | $app->singleton(
52 | Illuminate\Contracts\Console\Kernel::class,
53 | App\Console\Kernel::class
54 | );
55 |
56 | /*
57 | |--------------------------------------------------------------------------
58 | | Register Middleware
59 | |--------------------------------------------------------------------------
60 | |
61 | | Next, we will register the middleware with the application. These can
62 | | be global middleware that run before and after each request into a
63 | | route or middleware that'll be assigned to some specific routes.
64 | |
65 | */
66 |
67 | $app->middleware([
68 | // // Illuminate\Cookie\Middleware\EncryptCookies::class,
69 | // // Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
70 | // // Illuminate\Session\Middleware\StartSession::class,
71 | // // Illuminate\View\Middleware\ShareErrorsFromSession::class,
72 | // // Laravel\Lumen\Http\Middleware\VerifyCsrfToken::class,
73 | Barryvdh\Cors\HandleCors::class,
74 | Barryvdh\Cors\HandlePreflightSimple::class
75 | ]);
76 |
77 | // $app->routeMiddleware([
78 | // 'auth' => App\Http\Middleware\Authenticate::class,
79 | // ]);
80 |
81 | /*
82 | |--------------------------------------------------------------------------
83 | | Register Service Providers
84 | |--------------------------------------------------------------------------
85 | |
86 | | Here we will register all of the application's service providers which
87 | | are used to bind services into the container. Service providers are
88 | | totally optional, so you are not required to uncomment this line.
89 | |
90 | */
91 |
92 | $app->register(App\Providers\AppServiceProvider::class);
93 | // $app->register(App\Providers\EventServiceProvider::class);
94 |
95 | $app->register(Dingo\Api\Provider\LumenServiceProvider::class);
96 | $app->register(Tymon\JWTAuth\Providers\LumenServiceProvider::class);
97 |
98 | app('Dingo\Api\Auth\Auth')->extend('jwt', function ($app) {
99 | return new Dingo\Api\Auth\Provider\JWT($app['Tymon\JWTAuth\JWTAuth']);
100 | });
101 |
102 | $app->register(Barryvdh\Cors\LumenServiceProvider::class);
103 | /*
104 | |--------------------------------------------------------------------------
105 | | Load The Application Routes
106 | |--------------------------------------------------------------------------
107 | |
108 | | Next we will include the routes file so that they can all be added to
109 | | the application. This will provide all of the URLs the application
110 | | can respond to, as well as the controllers that may handle them.
111 | |
112 | */
113 |
114 | $app->group(['namespace' => 'App\Http\Controllers'], function ($app) {
115 | require __DIR__.'/../app/Http/routes.php';
116 | });
117 |
118 | return $app;
119 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "laravel/lumen",
3 | "description": "The Laravel Lumen Framework.",
4 | "keywords": ["framework", "laravel", "lumen"],
5 | "license": "MIT",
6 | "type": "project",
7 | "require": {
8 | "php": ">=5.5.9",
9 | "laravel/lumen-framework": "5.3.*",
10 | "vlucas/phpdotenv": "~2.2",
11 | "dingo/api": "1.0.*@dev",
12 | "tymon/jwt-auth": "dev-master#c153d85",
13 | "barryvdh/laravel-cors": "0.8.2"
14 | },
15 | "require-dev": {
16 | "fzaninotto/faker": "~1.4",
17 | "phpunit/phpunit": "~4.0"
18 | },
19 | "autoload": {
20 | "psr-4": {
21 | "App\\": "app/"
22 | }
23 | },
24 | "autoload-dev": {
25 | "classmap": [
26 | "tests/",
27 | "database/"
28 | ]
29 | },
30 | "scripts": {
31 | "post-root-package-install": [
32 | "php -r \"copy('.env.example', '.env');\""
33 | ]
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/composer.lock:
--------------------------------------------------------------------------------
1 | {
2 | "_readme": [
3 | "This file locks the dependencies of your project to a known state",
4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
5 | "This file is @generated automatically"
6 | ],
7 | "hash": "46c12c6e7329b2bdad523b3100ce21a3",
8 | "content-hash": "c1261d9cacdf0ca036b4f9a80254e1f2",
9 | "packages": [
10 | {
11 | "name": "barryvdh/laravel-cors",
12 | "version": "v0.8.2",
13 | "source": {
14 | "type": "git",
15 | "url": "https://github.com/barryvdh/laravel-cors.git",
16 | "reference": "bc7f40a71221b46d24971da7f0230ed4a75a18c6"
17 | },
18 | "dist": {
19 | "type": "zip",
20 | "url": "https://api.github.com/repos/barryvdh/laravel-cors/zipball/bc7f40a71221b46d24971da7f0230ed4a75a18c6",
21 | "reference": "bc7f40a71221b46d24971da7f0230ed4a75a18c6",
22 | "shasum": ""
23 | },
24 | "require": {
25 | "illuminate/support": "5.1.x|5.2.x|5.3.x",
26 | "php": ">=5.5.9",
27 | "symfony/http-foundation": "~2.7|~3.0",
28 | "symfony/http-kernel": "~2.7|~3.0"
29 | },
30 | "require-dev": {
31 | "phpunit/phpunit": "^4.8|^5.2"
32 | },
33 | "type": "library",
34 | "extra": {
35 | "branch-alias": {
36 | "dev-master": "0.8-dev"
37 | }
38 | },
39 | "autoload": {
40 | "psr-4": {
41 | "Barryvdh\\Cors\\": "src/"
42 | }
43 | },
44 | "notification-url": "https://packagist.org/downloads/",
45 | "license": [
46 | "MIT"
47 | ],
48 | "authors": [
49 | {
50 | "name": "Barry vd. Heuvel",
51 | "email": "barryvdh@gmail.com"
52 | }
53 | ],
54 | "description": "Adds CORS (Cross-Origin Resource Sharing) headers support in your Laravel application",
55 | "keywords": [
56 | "api",
57 | "cors",
58 | "crossdomain",
59 | "laravel"
60 | ],
61 | "time": "2016-08-11 08:46:01"
62 | },
63 | {
64 | "name": "dingo/api",
65 | "version": "dev-master",
66 | "source": {
67 | "type": "git",
68 | "url": "https://github.com/dingo/api.git",
69 | "reference": "242411efbb9f01104a00b780c4defb2c18a45856"
70 | },
71 | "dist": {
72 | "type": "zip",
73 | "url": "https://api.github.com/repos/dingo/api/zipball/242411efbb9f01104a00b780c4defb2c18a45856",
74 | "reference": "242411efbb9f01104a00b780c4defb2c18a45856",
75 | "shasum": ""
76 | },
77 | "require": {
78 | "dingo/blueprint": "0.2.*",
79 | "doctrine/annotations": "1.2.*",
80 | "illuminate/routing": "5.1.* || 5.2.* || 5.3.*",
81 | "illuminate/support": "5.1.* || 5.2.* || 5.3.*",
82 | "league/fractal": ">=0.12.0",
83 | "php": "^5.5.9 || ^7.0"
84 | },
85 | "require-dev": {
86 | "illuminate/auth": "5.1.* || 5.2.* || 5.3.*",
87 | "illuminate/cache": "5.1.* || 5.2.* || 5.3.*",
88 | "illuminate/console": "5.1.* || 5.2.* || 5.3.*",
89 | "illuminate/database": "5.1.* || 5.2.* || 5.3.*",
90 | "illuminate/events": "5.1.* || 5.2.* || 5.3.*",
91 | "illuminate/filesystem": "5.1.* || 5.2.* || 5.3.*",
92 | "illuminate/log": "5.1.* || 5.2.* || 5.3.*",
93 | "illuminate/pagination": "5.1.* || 5.2.* || 5.3.*",
94 | "laravel/lumen-framework": "5.1.* || 5.2.*",
95 | "lucadegasperi/oauth2-server-laravel": "5.0.*",
96 | "mockery/mockery": "~0.9",
97 | "phpunit/phpunit": "^4.8 || ^5.0",
98 | "squizlabs/php_codesniffer": "~2.0",
99 | "tymon/jwt-auth": "1.0.*"
100 | },
101 | "suggest": {
102 | "lucadegasperi/oauth2-server-laravel": "Protect your API with OAuth 2.0.",
103 | "tymon/jwt-auth": "Protect your API with JSON Web Tokens."
104 | },
105 | "type": "library",
106 | "extra": {
107 | "branch-alias": {
108 | "dev-master": "1.0-dev"
109 | }
110 | },
111 | "autoload": {
112 | "psr-4": {
113 | "Dingo\\Api\\": "src/"
114 | },
115 | "files": [
116 | "src/helpers.php"
117 | ]
118 | },
119 | "notification-url": "https://packagist.org/downloads/",
120 | "license": [
121 | "BSD-3-Clause"
122 | ],
123 | "authors": [
124 | {
125 | "name": "Jason Lewis",
126 | "email": "jason.lewis1991@gmail.com"
127 | }
128 | ],
129 | "description": "A RESTful API package for the Laravel and Lumen frameworks.",
130 | "keywords": [
131 | "api",
132 | "dingo",
133 | "laravel",
134 | "restful"
135 | ],
136 | "time": "2016-09-02 05:51:07"
137 | },
138 | {
139 | "name": "dingo/blueprint",
140 | "version": "v0.2.0",
141 | "source": {
142 | "type": "git",
143 | "url": "https://github.com/dingo/blueprint.git",
144 | "reference": "d37fb7433aeadb3d40d5e790978c3c8d229d0e7d"
145 | },
146 | "dist": {
147 | "type": "zip",
148 | "url": "https://api.github.com/repos/dingo/blueprint/zipball/d37fb7433aeadb3d40d5e790978c3c8d229d0e7d",
149 | "reference": "d37fb7433aeadb3d40d5e790978c3c8d229d0e7d",
150 | "shasum": ""
151 | },
152 | "require": {
153 | "doctrine/annotations": "1.2.*",
154 | "illuminate/filesystem": "5.1.* || 5.2.* || 5.3.*",
155 | "illuminate/support": "5.1.* || 5.2.* || 5.3.*",
156 | "php": ">=5.5.9",
157 | "phpdocumentor/reflection-docblock": "3.1.*"
158 | },
159 | "require-dev": {
160 | "phpunit/phpunit": "~4.0",
161 | "squizlabs/php_codesniffer": "~2.0"
162 | },
163 | "type": "library",
164 | "extra": {
165 | "branch-alias": {
166 | "dev-master": "0.2-dev"
167 | }
168 | },
169 | "autoload": {
170 | "psr-4": {
171 | "Dingo\\Blueprint\\": "src"
172 | }
173 | },
174 | "notification-url": "https://packagist.org/downloads/",
175 | "license": [
176 | "BSD-3-Clause"
177 | ],
178 | "authors": [
179 | {
180 | "name": "Jason Lewis",
181 | "email": "jason.lewis1991@gmail.com"
182 | }
183 | ],
184 | "description": "API Blueprint documentation generator.",
185 | "keywords": [
186 | "api",
187 | "blueprint",
188 | "dingo",
189 | "docs",
190 | "laravel"
191 | ],
192 | "time": "2016-08-30 03:27:49"
193 | },
194 | {
195 | "name": "doctrine/annotations",
196 | "version": "v1.2.7",
197 | "source": {
198 | "type": "git",
199 | "url": "https://github.com/doctrine/annotations.git",
200 | "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535"
201 | },
202 | "dist": {
203 | "type": "zip",
204 | "url": "https://api.github.com/repos/doctrine/annotations/zipball/f25c8aab83e0c3e976fd7d19875f198ccf2f7535",
205 | "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535",
206 | "shasum": ""
207 | },
208 | "require": {
209 | "doctrine/lexer": "1.*",
210 | "php": ">=5.3.2"
211 | },
212 | "require-dev": {
213 | "doctrine/cache": "1.*",
214 | "phpunit/phpunit": "4.*"
215 | },
216 | "type": "library",
217 | "extra": {
218 | "branch-alias": {
219 | "dev-master": "1.3.x-dev"
220 | }
221 | },
222 | "autoload": {
223 | "psr-0": {
224 | "Doctrine\\Common\\Annotations\\": "lib/"
225 | }
226 | },
227 | "notification-url": "https://packagist.org/downloads/",
228 | "license": [
229 | "MIT"
230 | ],
231 | "authors": [
232 | {
233 | "name": "Roman Borschel",
234 | "email": "roman@code-factory.org"
235 | },
236 | {
237 | "name": "Benjamin Eberlei",
238 | "email": "kontakt@beberlei.de"
239 | },
240 | {
241 | "name": "Guilherme Blanco",
242 | "email": "guilhermeblanco@gmail.com"
243 | },
244 | {
245 | "name": "Jonathan Wage",
246 | "email": "jonwage@gmail.com"
247 | },
248 | {
249 | "name": "Johannes Schmitt",
250 | "email": "schmittjoh@gmail.com"
251 | }
252 | ],
253 | "description": "Docblock Annotations Parser",
254 | "homepage": "http://www.doctrine-project.org",
255 | "keywords": [
256 | "annotations",
257 | "docblock",
258 | "parser"
259 | ],
260 | "time": "2015-08-31 12:32:49"
261 | },
262 | {
263 | "name": "doctrine/inflector",
264 | "version": "v1.1.0",
265 | "source": {
266 | "type": "git",
267 | "url": "https://github.com/doctrine/inflector.git",
268 | "reference": "90b2128806bfde671b6952ab8bea493942c1fdae"
269 | },
270 | "dist": {
271 | "type": "zip",
272 | "url": "https://api.github.com/repos/doctrine/inflector/zipball/90b2128806bfde671b6952ab8bea493942c1fdae",
273 | "reference": "90b2128806bfde671b6952ab8bea493942c1fdae",
274 | "shasum": ""
275 | },
276 | "require": {
277 | "php": ">=5.3.2"
278 | },
279 | "require-dev": {
280 | "phpunit/phpunit": "4.*"
281 | },
282 | "type": "library",
283 | "extra": {
284 | "branch-alias": {
285 | "dev-master": "1.1.x-dev"
286 | }
287 | },
288 | "autoload": {
289 | "psr-0": {
290 | "Doctrine\\Common\\Inflector\\": "lib/"
291 | }
292 | },
293 | "notification-url": "https://packagist.org/downloads/",
294 | "license": [
295 | "MIT"
296 | ],
297 | "authors": [
298 | {
299 | "name": "Roman Borschel",
300 | "email": "roman@code-factory.org"
301 | },
302 | {
303 | "name": "Benjamin Eberlei",
304 | "email": "kontakt@beberlei.de"
305 | },
306 | {
307 | "name": "Guilherme Blanco",
308 | "email": "guilhermeblanco@gmail.com"
309 | },
310 | {
311 | "name": "Jonathan Wage",
312 | "email": "jonwage@gmail.com"
313 | },
314 | {
315 | "name": "Johannes Schmitt",
316 | "email": "schmittjoh@gmail.com"
317 | }
318 | ],
319 | "description": "Common String Manipulations with regard to casing and singular/plural rules.",
320 | "homepage": "http://www.doctrine-project.org",
321 | "keywords": [
322 | "inflection",
323 | "pluralize",
324 | "singularize",
325 | "string"
326 | ],
327 | "time": "2015-11-06 14:35:42"
328 | },
329 | {
330 | "name": "doctrine/lexer",
331 | "version": "v1.0.1",
332 | "source": {
333 | "type": "git",
334 | "url": "https://github.com/doctrine/lexer.git",
335 | "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c"
336 | },
337 | "dist": {
338 | "type": "zip",
339 | "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c",
340 | "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c",
341 | "shasum": ""
342 | },
343 | "require": {
344 | "php": ">=5.3.2"
345 | },
346 | "type": "library",
347 | "extra": {
348 | "branch-alias": {
349 | "dev-master": "1.0.x-dev"
350 | }
351 | },
352 | "autoload": {
353 | "psr-0": {
354 | "Doctrine\\Common\\Lexer\\": "lib/"
355 | }
356 | },
357 | "notification-url": "https://packagist.org/downloads/",
358 | "license": [
359 | "MIT"
360 | ],
361 | "authors": [
362 | {
363 | "name": "Roman Borschel",
364 | "email": "roman@code-factory.org"
365 | },
366 | {
367 | "name": "Guilherme Blanco",
368 | "email": "guilhermeblanco@gmail.com"
369 | },
370 | {
371 | "name": "Johannes Schmitt",
372 | "email": "schmittjoh@gmail.com"
373 | }
374 | ],
375 | "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.",
376 | "homepage": "http://www.doctrine-project.org",
377 | "keywords": [
378 | "lexer",
379 | "parser"
380 | ],
381 | "time": "2014-09-09 13:34:57"
382 | },
383 | {
384 | "name": "illuminate/auth",
385 | "version": "v5.3.4",
386 | "source": {
387 | "type": "git",
388 | "url": "https://github.com/illuminate/auth.git",
389 | "reference": "28b2f2e74bd99e7702da4a0498c6895824c1faa0"
390 | },
391 | "dist": {
392 | "type": "zip",
393 | "url": "https://api.github.com/repos/illuminate/auth/zipball/28b2f2e74bd99e7702da4a0498c6895824c1faa0",
394 | "reference": "28b2f2e74bd99e7702da4a0498c6895824c1faa0",
395 | "shasum": ""
396 | },
397 | "require": {
398 | "illuminate/contracts": "5.3.*",
399 | "illuminate/http": "5.3.*",
400 | "illuminate/support": "5.3.*",
401 | "nesbot/carbon": "~1.20",
402 | "php": ">=5.6.4"
403 | },
404 | "suggest": {
405 | "illuminate/console": "Required to use the auth:clear-resets command (5.3.*).",
406 | "illuminate/queue": "Required to fire login / logout events (5.3.*).",
407 | "illuminate/session": "Required to use the session based guard (5.3.*)."
408 | },
409 | "type": "library",
410 | "extra": {
411 | "branch-alias": {
412 | "dev-master": "5.3-dev"
413 | }
414 | },
415 | "autoload": {
416 | "psr-4": {
417 | "Illuminate\\Auth\\": ""
418 | }
419 | },
420 | "notification-url": "https://packagist.org/downloads/",
421 | "license": [
422 | "MIT"
423 | ],
424 | "authors": [
425 | {
426 | "name": "Taylor Otwell",
427 | "email": "taylor@laravel.com"
428 | }
429 | ],
430 | "description": "The Illuminate Auth package.",
431 | "homepage": "https://laravel.com",
432 | "time": "2016-08-24 08:32:23"
433 | },
434 | {
435 | "name": "illuminate/broadcasting",
436 | "version": "v5.3.4",
437 | "source": {
438 | "type": "git",
439 | "url": "https://github.com/illuminate/broadcasting.git",
440 | "reference": "eba625365df97eb03d5f0f1933b5d41861184200"
441 | },
442 | "dist": {
443 | "type": "zip",
444 | "url": "https://api.github.com/repos/illuminate/broadcasting/zipball/eba625365df97eb03d5f0f1933b5d41861184200",
445 | "reference": "eba625365df97eb03d5f0f1933b5d41861184200",
446 | "shasum": ""
447 | },
448 | "require": {
449 | "illuminate/contracts": "5.3.*",
450 | "illuminate/support": "5.3.*",
451 | "php": ">=5.6.4"
452 | },
453 | "suggest": {
454 | "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (~2.0)."
455 | },
456 | "type": "library",
457 | "extra": {
458 | "branch-alias": {
459 | "dev-master": "5.3-dev"
460 | }
461 | },
462 | "autoload": {
463 | "psr-4": {
464 | "Illuminate\\Broadcasting\\": ""
465 | }
466 | },
467 | "notification-url": "https://packagist.org/downloads/",
468 | "license": [
469 | "MIT"
470 | ],
471 | "authors": [
472 | {
473 | "name": "Taylor Otwell",
474 | "email": "taylor@laravel.com"
475 | }
476 | ],
477 | "description": "The Illuminate Broadcasting package.",
478 | "homepage": "https://laravel.com",
479 | "time": "2016-08-18 13:29:15"
480 | },
481 | {
482 | "name": "illuminate/bus",
483 | "version": "v5.3.4",
484 | "source": {
485 | "type": "git",
486 | "url": "https://github.com/illuminate/bus.git",
487 | "reference": "7529b1c33e1da13afde5a3cfede3f98efab2c3b1"
488 | },
489 | "dist": {
490 | "type": "zip",
491 | "url": "https://api.github.com/repos/illuminate/bus/zipball/7529b1c33e1da13afde5a3cfede3f98efab2c3b1",
492 | "reference": "7529b1c33e1da13afde5a3cfede3f98efab2c3b1",
493 | "shasum": ""
494 | },
495 | "require": {
496 | "illuminate/contracts": "5.3.*",
497 | "illuminate/pipeline": "5.3.*",
498 | "illuminate/support": "5.3.*",
499 | "php": ">=5.6.4"
500 | },
501 | "type": "library",
502 | "extra": {
503 | "branch-alias": {
504 | "dev-master": "5.3-dev"
505 | }
506 | },
507 | "autoload": {
508 | "psr-4": {
509 | "Illuminate\\Bus\\": ""
510 | }
511 | },
512 | "notification-url": "https://packagist.org/downloads/",
513 | "license": [
514 | "MIT"
515 | ],
516 | "authors": [
517 | {
518 | "name": "Taylor Otwell",
519 | "email": "taylor@laravel.com"
520 | }
521 | ],
522 | "description": "The Illuminate Bus package.",
523 | "homepage": "https://laravel.com",
524 | "time": "2016-08-19 13:12:34"
525 | },
526 | {
527 | "name": "illuminate/cache",
528 | "version": "v5.3.4",
529 | "source": {
530 | "type": "git",
531 | "url": "https://github.com/illuminate/cache.git",
532 | "reference": "b0d8ea63556c97d67740a864ed6f1877978864f0"
533 | },
534 | "dist": {
535 | "type": "zip",
536 | "url": "https://api.github.com/repos/illuminate/cache/zipball/b0d8ea63556c97d67740a864ed6f1877978864f0",
537 | "reference": "b0d8ea63556c97d67740a864ed6f1877978864f0",
538 | "shasum": ""
539 | },
540 | "require": {
541 | "illuminate/contracts": "5.3.*",
542 | "illuminate/support": "5.3.*",
543 | "nesbot/carbon": "~1.20",
544 | "php": ">=5.6.4"
545 | },
546 | "suggest": {
547 | "illuminate/database": "Required to use the database cache driver (5.3.*).",
548 | "illuminate/filesystem": "Required to use the file cache driver (5.3.*).",
549 | "illuminate/redis": "Required to use the redis cache driver (5.3.*)."
550 | },
551 | "type": "library",
552 | "extra": {
553 | "branch-alias": {
554 | "dev-master": "5.3-dev"
555 | }
556 | },
557 | "autoload": {
558 | "psr-4": {
559 | "Illuminate\\Cache\\": ""
560 | }
561 | },
562 | "notification-url": "https://packagist.org/downloads/",
563 | "license": [
564 | "MIT"
565 | ],
566 | "authors": [
567 | {
568 | "name": "Taylor Otwell",
569 | "email": "taylor@laravel.com"
570 | }
571 | ],
572 | "description": "The Illuminate Cache package.",
573 | "homepage": "https://laravel.com",
574 | "time": "2016-08-26 17:53:01"
575 | },
576 | {
577 | "name": "illuminate/config",
578 | "version": "v5.3.4",
579 | "source": {
580 | "type": "git",
581 | "url": "https://github.com/illuminate/config.git",
582 | "reference": "26df89fa2999754e882890e642b67c6521432057"
583 | },
584 | "dist": {
585 | "type": "zip",
586 | "url": "https://api.github.com/repos/illuminate/config/zipball/26df89fa2999754e882890e642b67c6521432057",
587 | "reference": "26df89fa2999754e882890e642b67c6521432057",
588 | "shasum": ""
589 | },
590 | "require": {
591 | "illuminate/contracts": "5.3.*",
592 | "illuminate/filesystem": "5.3.*",
593 | "illuminate/support": "5.3.*",
594 | "php": ">=5.6.4"
595 | },
596 | "type": "library",
597 | "extra": {
598 | "branch-alias": {
599 | "dev-master": "5.3-dev"
600 | }
601 | },
602 | "autoload": {
603 | "psr-4": {
604 | "Illuminate\\Config\\": ""
605 | }
606 | },
607 | "notification-url": "https://packagist.org/downloads/",
608 | "license": [
609 | "MIT"
610 | ],
611 | "authors": [
612 | {
613 | "name": "Taylor Otwell",
614 | "email": "taylor@laravel.com"
615 | }
616 | ],
617 | "description": "The Illuminate Config package.",
618 | "homepage": "https://laravel.com",
619 | "time": "2016-08-05 14:48:10"
620 | },
621 | {
622 | "name": "illuminate/console",
623 | "version": "v5.3.4",
624 | "source": {
625 | "type": "git",
626 | "url": "https://github.com/illuminate/console.git",
627 | "reference": "a2a0804a5bf26172f67ba3d491ad8a19028bbab5"
628 | },
629 | "dist": {
630 | "type": "zip",
631 | "url": "https://api.github.com/repos/illuminate/console/zipball/a2a0804a5bf26172f67ba3d491ad8a19028bbab5",
632 | "reference": "a2a0804a5bf26172f67ba3d491ad8a19028bbab5",
633 | "shasum": ""
634 | },
635 | "require": {
636 | "illuminate/contracts": "5.3.*",
637 | "illuminate/support": "5.3.*",
638 | "nesbot/carbon": "~1.20",
639 | "php": ">=5.6.4",
640 | "symfony/console": "3.1.*"
641 | },
642 | "suggest": {
643 | "guzzlehttp/guzzle": "Required to use the ping methods on schedules (~5.3|~6.0).",
644 | "mtdowling/cron-expression": "Required to use scheduling component (~1.0).",
645 | "symfony/process": "Required to use scheduling component (3.1.*)."
646 | },
647 | "type": "library",
648 | "extra": {
649 | "branch-alias": {
650 | "dev-master": "5.3-dev"
651 | }
652 | },
653 | "autoload": {
654 | "psr-4": {
655 | "Illuminate\\Console\\": ""
656 | }
657 | },
658 | "notification-url": "https://packagist.org/downloads/",
659 | "license": [
660 | "MIT"
661 | ],
662 | "authors": [
663 | {
664 | "name": "Taylor Otwell",
665 | "email": "taylor@laravel.com"
666 | }
667 | ],
668 | "description": "The Illuminate Console package.",
669 | "homepage": "https://laravel.com",
670 | "time": "2016-08-07 19:56:57"
671 | },
672 | {
673 | "name": "illuminate/container",
674 | "version": "v5.3.4",
675 | "source": {
676 | "type": "git",
677 | "url": "https://github.com/illuminate/container.git",
678 | "reference": "360f4900dbaa7e76ecfbb58e0ad4b244a90edfe3"
679 | },
680 | "dist": {
681 | "type": "zip",
682 | "url": "https://api.github.com/repos/illuminate/container/zipball/360f4900dbaa7e76ecfbb58e0ad4b244a90edfe3",
683 | "reference": "360f4900dbaa7e76ecfbb58e0ad4b244a90edfe3",
684 | "shasum": ""
685 | },
686 | "require": {
687 | "illuminate/contracts": "5.3.*",
688 | "php": ">=5.6.4"
689 | },
690 | "type": "library",
691 | "extra": {
692 | "branch-alias": {
693 | "dev-master": "5.3-dev"
694 | }
695 | },
696 | "autoload": {
697 | "psr-4": {
698 | "Illuminate\\Container\\": ""
699 | }
700 | },
701 | "notification-url": "https://packagist.org/downloads/",
702 | "license": [
703 | "MIT"
704 | ],
705 | "authors": [
706 | {
707 | "name": "Taylor Otwell",
708 | "email": "taylor@laravel.com"
709 | }
710 | ],
711 | "description": "The Illuminate Container package.",
712 | "homepage": "https://laravel.com",
713 | "time": "2016-08-05 14:48:10"
714 | },
715 | {
716 | "name": "illuminate/contracts",
717 | "version": "v5.3.4",
718 | "source": {
719 | "type": "git",
720 | "url": "https://github.com/illuminate/contracts.git",
721 | "reference": "f766fc0452d82d545b866a8ad5860b20ccd50763"
722 | },
723 | "dist": {
724 | "type": "zip",
725 | "url": "https://api.github.com/repos/illuminate/contracts/zipball/f766fc0452d82d545b866a8ad5860b20ccd50763",
726 | "reference": "f766fc0452d82d545b866a8ad5860b20ccd50763",
727 | "shasum": ""
728 | },
729 | "require": {
730 | "php": ">=5.6.4"
731 | },
732 | "type": "library",
733 | "extra": {
734 | "branch-alias": {
735 | "dev-master": "5.3-dev"
736 | }
737 | },
738 | "autoload": {
739 | "psr-4": {
740 | "Illuminate\\Contracts\\": ""
741 | }
742 | },
743 | "notification-url": "https://packagist.org/downloads/",
744 | "license": [
745 | "MIT"
746 | ],
747 | "authors": [
748 | {
749 | "name": "Taylor Otwell",
750 | "email": "taylor@laravel.com"
751 | }
752 | ],
753 | "description": "The Illuminate Contracts package.",
754 | "homepage": "https://laravel.com",
755 | "time": "2016-08-21 12:37:00"
756 | },
757 | {
758 | "name": "illuminate/database",
759 | "version": "v5.3.4",
760 | "source": {
761 | "type": "git",
762 | "url": "https://github.com/illuminate/database.git",
763 | "reference": "048a65ba4a7ed250e16c82b6bb323daf38410050"
764 | },
765 | "dist": {
766 | "type": "zip",
767 | "url": "https://api.github.com/repos/illuminate/database/zipball/048a65ba4a7ed250e16c82b6bb323daf38410050",
768 | "reference": "048a65ba4a7ed250e16c82b6bb323daf38410050",
769 | "shasum": ""
770 | },
771 | "require": {
772 | "illuminate/container": "5.3.*",
773 | "illuminate/contracts": "5.3.*",
774 | "illuminate/support": "5.3.*",
775 | "nesbot/carbon": "~1.20",
776 | "php": ">=5.6.4"
777 | },
778 | "suggest": {
779 | "doctrine/dbal": "Required to rename columns and drop SQLite columns (~2.4).",
780 | "fzaninotto/faker": "Required to use the eloquent factory builder (~1.4).",
781 | "illuminate/console": "Required to use the database commands (5.3.*).",
782 | "illuminate/events": "Required to use the observers with Eloquent (5.3.*).",
783 | "illuminate/filesystem": "Required to use the migrations (5.3.*).",
784 | "illuminate/pagination": "Required to paginate the result set (5.3.*)."
785 | },
786 | "type": "library",
787 | "extra": {
788 | "branch-alias": {
789 | "dev-master": "5.3-dev"
790 | }
791 | },
792 | "autoload": {
793 | "psr-4": {
794 | "Illuminate\\Database\\": ""
795 | }
796 | },
797 | "notification-url": "https://packagist.org/downloads/",
798 | "license": [
799 | "MIT"
800 | ],
801 | "authors": [
802 | {
803 | "name": "Taylor Otwell",
804 | "email": "taylor@laravel.com"
805 | }
806 | ],
807 | "description": "The Illuminate Database package.",
808 | "homepage": "https://laravel.com",
809 | "keywords": [
810 | "database",
811 | "laravel",
812 | "orm",
813 | "sql"
814 | ],
815 | "time": "2016-08-25 15:46:46"
816 | },
817 | {
818 | "name": "illuminate/encryption",
819 | "version": "v5.3.4",
820 | "source": {
821 | "type": "git",
822 | "url": "https://github.com/illuminate/encryption.git",
823 | "reference": "e21e60b55df1d63bc138628e4516da9cea5ee018"
824 | },
825 | "dist": {
826 | "type": "zip",
827 | "url": "https://api.github.com/repos/illuminate/encryption/zipball/e21e60b55df1d63bc138628e4516da9cea5ee018",
828 | "reference": "e21e60b55df1d63bc138628e4516da9cea5ee018",
829 | "shasum": ""
830 | },
831 | "require": {
832 | "ext-mbstring": "*",
833 | "ext-openssl": "*",
834 | "illuminate/contracts": "5.3.*",
835 | "illuminate/support": "5.3.*",
836 | "paragonie/random_compat": "~1.4|~2.0",
837 | "php": ">=5.6.4"
838 | },
839 | "type": "library",
840 | "extra": {
841 | "branch-alias": {
842 | "dev-master": "5.3-dev"
843 | }
844 | },
845 | "autoload": {
846 | "psr-4": {
847 | "Illuminate\\Encryption\\": ""
848 | }
849 | },
850 | "notification-url": "https://packagist.org/downloads/",
851 | "license": [
852 | "MIT"
853 | ],
854 | "authors": [
855 | {
856 | "name": "Taylor Otwell",
857 | "email": "taylor@laravel.com"
858 | }
859 | ],
860 | "description": "The Illuminate Encryption package.",
861 | "homepage": "https://laravel.com",
862 | "time": "2016-08-05 14:48:10"
863 | },
864 | {
865 | "name": "illuminate/events",
866 | "version": "v5.3.4",
867 | "source": {
868 | "type": "git",
869 | "url": "https://github.com/illuminate/events.git",
870 | "reference": "cb29124d4eaba8a60bad40e95e3d8b199d040d77"
871 | },
872 | "dist": {
873 | "type": "zip",
874 | "url": "https://api.github.com/repos/illuminate/events/zipball/cb29124d4eaba8a60bad40e95e3d8b199d040d77",
875 | "reference": "cb29124d4eaba8a60bad40e95e3d8b199d040d77",
876 | "shasum": ""
877 | },
878 | "require": {
879 | "illuminate/container": "5.3.*",
880 | "illuminate/contracts": "5.3.*",
881 | "illuminate/support": "5.3.*",
882 | "php": ">=5.6.4"
883 | },
884 | "type": "library",
885 | "extra": {
886 | "branch-alias": {
887 | "dev-master": "5.3-dev"
888 | }
889 | },
890 | "autoload": {
891 | "psr-4": {
892 | "Illuminate\\Events\\": ""
893 | }
894 | },
895 | "notification-url": "https://packagist.org/downloads/",
896 | "license": [
897 | "MIT"
898 | ],
899 | "authors": [
900 | {
901 | "name": "Taylor Otwell",
902 | "email": "taylor@laravel.com"
903 | }
904 | ],
905 | "description": "The Illuminate Events package.",
906 | "homepage": "https://laravel.com",
907 | "time": "2016-08-12 14:24:30"
908 | },
909 | {
910 | "name": "illuminate/filesystem",
911 | "version": "v5.3.4",
912 | "source": {
913 | "type": "git",
914 | "url": "https://github.com/illuminate/filesystem.git",
915 | "reference": "72da79358499a38b437ff4b0e42f909660555298"
916 | },
917 | "dist": {
918 | "type": "zip",
919 | "url": "https://api.github.com/repos/illuminate/filesystem/zipball/72da79358499a38b437ff4b0e42f909660555298",
920 | "reference": "72da79358499a38b437ff4b0e42f909660555298",
921 | "shasum": ""
922 | },
923 | "require": {
924 | "illuminate/contracts": "5.3.*",
925 | "illuminate/support": "5.3.*",
926 | "php": ">=5.6.4",
927 | "symfony/finder": "3.1.*"
928 | },
929 | "suggest": {
930 | "league/flysystem": "Required to use the Flysystem local and FTP drivers (~1.0).",
931 | "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (~1.0).",
932 | "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (~1.0)."
933 | },
934 | "type": "library",
935 | "extra": {
936 | "branch-alias": {
937 | "dev-master": "5.3-dev"
938 | }
939 | },
940 | "autoload": {
941 | "psr-4": {
942 | "Illuminate\\Filesystem\\": ""
943 | }
944 | },
945 | "notification-url": "https://packagist.org/downloads/",
946 | "license": [
947 | "MIT"
948 | ],
949 | "authors": [
950 | {
951 | "name": "Taylor Otwell",
952 | "email": "taylor@laravel.com"
953 | }
954 | ],
955 | "description": "The Illuminate Filesystem package.",
956 | "homepage": "https://laravel.com",
957 | "time": "2016-08-22 03:02:14"
958 | },
959 | {
960 | "name": "illuminate/hashing",
961 | "version": "v5.3.4",
962 | "source": {
963 | "type": "git",
964 | "url": "https://github.com/illuminate/hashing.git",
965 | "reference": "65afb491fe4de8617b0896edbcf35fd863c42c9d"
966 | },
967 | "dist": {
968 | "type": "zip",
969 | "url": "https://api.github.com/repos/illuminate/hashing/zipball/65afb491fe4de8617b0896edbcf35fd863c42c9d",
970 | "reference": "65afb491fe4de8617b0896edbcf35fd863c42c9d",
971 | "shasum": ""
972 | },
973 | "require": {
974 | "illuminate/contracts": "5.3.*",
975 | "illuminate/support": "5.3.*",
976 | "php": ">=5.6.4"
977 | },
978 | "type": "library",
979 | "extra": {
980 | "branch-alias": {
981 | "dev-master": "5.3-dev"
982 | }
983 | },
984 | "autoload": {
985 | "psr-4": {
986 | "Illuminate\\Hashing\\": ""
987 | }
988 | },
989 | "notification-url": "https://packagist.org/downloads/",
990 | "license": [
991 | "MIT"
992 | ],
993 | "authors": [
994 | {
995 | "name": "Taylor Otwell",
996 | "email": "taylor@laravel.com"
997 | }
998 | ],
999 | "description": "The Illuminate Hashing package.",
1000 | "homepage": "https://laravel.com",
1001 | "time": "2016-08-05 14:48:10"
1002 | },
1003 | {
1004 | "name": "illuminate/http",
1005 | "version": "v5.3.4",
1006 | "source": {
1007 | "type": "git",
1008 | "url": "https://github.com/illuminate/http.git",
1009 | "reference": "333263fe8aa6db11187a256ea55c2e9e97f28c4b"
1010 | },
1011 | "dist": {
1012 | "type": "zip",
1013 | "url": "https://api.github.com/repos/illuminate/http/zipball/333263fe8aa6db11187a256ea55c2e9e97f28c4b",
1014 | "reference": "333263fe8aa6db11187a256ea55c2e9e97f28c4b",
1015 | "shasum": ""
1016 | },
1017 | "require": {
1018 | "illuminate/session": "5.3.*",
1019 | "illuminate/support": "5.3.*",
1020 | "php": ">=5.6.4",
1021 | "symfony/http-foundation": "3.1.*",
1022 | "symfony/http-kernel": "3.1.*"
1023 | },
1024 | "type": "library",
1025 | "extra": {
1026 | "branch-alias": {
1027 | "dev-master": "5.3-dev"
1028 | }
1029 | },
1030 | "autoload": {
1031 | "psr-4": {
1032 | "Illuminate\\Http\\": ""
1033 | }
1034 | },
1035 | "notification-url": "https://packagist.org/downloads/",
1036 | "license": [
1037 | "MIT"
1038 | ],
1039 | "authors": [
1040 | {
1041 | "name": "Taylor Otwell",
1042 | "email": "taylor@laravel.com"
1043 | }
1044 | ],
1045 | "description": "The Illuminate Http package.",
1046 | "homepage": "https://laravel.com",
1047 | "time": "2016-08-22 10:25:11"
1048 | },
1049 | {
1050 | "name": "illuminate/pagination",
1051 | "version": "v5.3.4",
1052 | "source": {
1053 | "type": "git",
1054 | "url": "https://github.com/illuminate/pagination.git",
1055 | "reference": "735d44b9a3dedce5d2fd7caf41258b40507a1c23"
1056 | },
1057 | "dist": {
1058 | "type": "zip",
1059 | "url": "https://api.github.com/repos/illuminate/pagination/zipball/735d44b9a3dedce5d2fd7caf41258b40507a1c23",
1060 | "reference": "735d44b9a3dedce5d2fd7caf41258b40507a1c23",
1061 | "shasum": ""
1062 | },
1063 | "require": {
1064 | "illuminate/contracts": "5.3.*",
1065 | "illuminate/support": "5.3.*",
1066 | "php": ">=5.6.4"
1067 | },
1068 | "type": "library",
1069 | "extra": {
1070 | "branch-alias": {
1071 | "dev-master": "5.3-dev"
1072 | }
1073 | },
1074 | "autoload": {
1075 | "psr-4": {
1076 | "Illuminate\\Pagination\\": ""
1077 | }
1078 | },
1079 | "notification-url": "https://packagist.org/downloads/",
1080 | "license": [
1081 | "MIT"
1082 | ],
1083 | "authors": [
1084 | {
1085 | "name": "Taylor Otwell",
1086 | "email": "taylor@laravel.com"
1087 | }
1088 | ],
1089 | "description": "The Illuminate Pagination package.",
1090 | "homepage": "https://laravel.com",
1091 | "time": "2016-08-12 18:26:25"
1092 | },
1093 | {
1094 | "name": "illuminate/pipeline",
1095 | "version": "v5.3.4",
1096 | "source": {
1097 | "type": "git",
1098 | "url": "https://github.com/illuminate/pipeline.git",
1099 | "reference": "cd469572fad11243e7f4c5c02fca410657f0a457"
1100 | },
1101 | "dist": {
1102 | "type": "zip",
1103 | "url": "https://api.github.com/repos/illuminate/pipeline/zipball/cd469572fad11243e7f4c5c02fca410657f0a457",
1104 | "reference": "cd469572fad11243e7f4c5c02fca410657f0a457",
1105 | "shasum": ""
1106 | },
1107 | "require": {
1108 | "illuminate/contracts": "5.3.*",
1109 | "illuminate/support": "5.3.*",
1110 | "php": ">=5.6.4"
1111 | },
1112 | "type": "library",
1113 | "extra": {
1114 | "branch-alias": {
1115 | "dev-master": "5.3-dev"
1116 | }
1117 | },
1118 | "autoload": {
1119 | "psr-4": {
1120 | "Illuminate\\Pipeline\\": ""
1121 | }
1122 | },
1123 | "notification-url": "https://packagist.org/downloads/",
1124 | "license": [
1125 | "MIT"
1126 | ],
1127 | "authors": [
1128 | {
1129 | "name": "Taylor Otwell",
1130 | "email": "taylor@laravel.com"
1131 | }
1132 | ],
1133 | "description": "The Illuminate Pipeline package.",
1134 | "homepage": "https://laravel.com",
1135 | "time": "2016-08-07 17:26:10"
1136 | },
1137 | {
1138 | "name": "illuminate/queue",
1139 | "version": "v5.3.4",
1140 | "source": {
1141 | "type": "git",
1142 | "url": "https://github.com/illuminate/queue.git",
1143 | "reference": "0aa9daeba74521ff4f607ffc027dfea01a12ffff"
1144 | },
1145 | "dist": {
1146 | "type": "zip",
1147 | "url": "https://api.github.com/repos/illuminate/queue/zipball/0aa9daeba74521ff4f607ffc027dfea01a12ffff",
1148 | "reference": "0aa9daeba74521ff4f607ffc027dfea01a12ffff",
1149 | "shasum": ""
1150 | },
1151 | "require": {
1152 | "illuminate/console": "5.3.*",
1153 | "illuminate/container": "5.3.*",
1154 | "illuminate/contracts": "5.3.*",
1155 | "illuminate/support": "5.3.*",
1156 | "nesbot/carbon": "~1.20",
1157 | "php": ">=5.6.4",
1158 | "symfony/debug": "3.1.*",
1159 | "symfony/process": "3.1.*"
1160 | },
1161 | "suggest": {
1162 | "aws/aws-sdk-php": "Required to use the SQS queue driver (~3.0).",
1163 | "illuminate/redis": "Required to use the Redis queue driver (5.3.*).",
1164 | "pda/pheanstalk": "Required to use the Beanstalk queue driver (~3.0)."
1165 | },
1166 | "type": "library",
1167 | "extra": {
1168 | "branch-alias": {
1169 | "dev-master": "5.3-dev"
1170 | }
1171 | },
1172 | "autoload": {
1173 | "psr-4": {
1174 | "Illuminate\\Queue\\": ""
1175 | }
1176 | },
1177 | "notification-url": "https://packagist.org/downloads/",
1178 | "license": [
1179 | "MIT"
1180 | ],
1181 | "authors": [
1182 | {
1183 | "name": "Taylor Otwell",
1184 | "email": "taylor@laravel.com"
1185 | }
1186 | ],
1187 | "description": "The Illuminate Queue package.",
1188 | "homepage": "https://laravel.com",
1189 | "time": "2016-08-20 16:10:31"
1190 | },
1191 | {
1192 | "name": "illuminate/routing",
1193 | "version": "v5.3.4",
1194 | "source": {
1195 | "type": "git",
1196 | "url": "https://github.com/illuminate/routing.git",
1197 | "reference": "3dafc280a93178c8290828218b450ec4906235b4"
1198 | },
1199 | "dist": {
1200 | "type": "zip",
1201 | "url": "https://api.github.com/repos/illuminate/routing/zipball/3dafc280a93178c8290828218b450ec4906235b4",
1202 | "reference": "3dafc280a93178c8290828218b450ec4906235b4",
1203 | "shasum": ""
1204 | },
1205 | "require": {
1206 | "illuminate/container": "5.3.*",
1207 | "illuminate/contracts": "5.3.*",
1208 | "illuminate/http": "5.3.*",
1209 | "illuminate/pipeline": "5.3.*",
1210 | "illuminate/session": "5.3.*",
1211 | "illuminate/support": "5.3.*",
1212 | "php": ">=5.6.4",
1213 | "symfony/debug": "3.1.*",
1214 | "symfony/http-foundation": "3.1.*",
1215 | "symfony/http-kernel": "3.1.*",
1216 | "symfony/routing": "3.1.*"
1217 | },
1218 | "suggest": {
1219 | "illuminate/console": "Required to use the make commands (5.3.*).",
1220 | "symfony/psr-http-message-bridge": "Required to psr7 bridging features (0.2.*)."
1221 | },
1222 | "type": "library",
1223 | "extra": {
1224 | "branch-alias": {
1225 | "dev-master": "5.3-dev"
1226 | }
1227 | },
1228 | "autoload": {
1229 | "psr-4": {
1230 | "Illuminate\\Routing\\": ""
1231 | }
1232 | },
1233 | "notification-url": "https://packagist.org/downloads/",
1234 | "license": [
1235 | "MIT"
1236 | ],
1237 | "authors": [
1238 | {
1239 | "name": "Taylor Otwell",
1240 | "email": "taylor@laravel.com"
1241 | }
1242 | ],
1243 | "description": "The Illuminate Routing package.",
1244 | "homepage": "https://laravel.com",
1245 | "time": "2016-08-26 21:12:19"
1246 | },
1247 | {
1248 | "name": "illuminate/session",
1249 | "version": "v5.3.4",
1250 | "source": {
1251 | "type": "git",
1252 | "url": "https://github.com/illuminate/session.git",
1253 | "reference": "0f818548aa248f64d89f8129229a4de84184f59e"
1254 | },
1255 | "dist": {
1256 | "type": "zip",
1257 | "url": "https://api.github.com/repos/illuminate/session/zipball/0f818548aa248f64d89f8129229a4de84184f59e",
1258 | "reference": "0f818548aa248f64d89f8129229a4de84184f59e",
1259 | "shasum": ""
1260 | },
1261 | "require": {
1262 | "illuminate/contracts": "5.3.*",
1263 | "illuminate/support": "5.3.*",
1264 | "nesbot/carbon": "~1.20",
1265 | "php": ">=5.6.4",
1266 | "symfony/finder": "3.1.*",
1267 | "symfony/http-foundation": "3.1.*"
1268 | },
1269 | "suggest": {
1270 | "illuminate/console": "Required to use the session:table command (5.3.*)."
1271 | },
1272 | "type": "library",
1273 | "extra": {
1274 | "branch-alias": {
1275 | "dev-master": "5.3-dev"
1276 | }
1277 | },
1278 | "autoload": {
1279 | "psr-4": {
1280 | "Illuminate\\Session\\": ""
1281 | }
1282 | },
1283 | "notification-url": "https://packagist.org/downloads/",
1284 | "license": [
1285 | "MIT"
1286 | ],
1287 | "authors": [
1288 | {
1289 | "name": "Taylor Otwell",
1290 | "email": "taylor@laravel.com"
1291 | }
1292 | ],
1293 | "description": "The Illuminate Session package.",
1294 | "homepage": "https://laravel.com",
1295 | "time": "2016-08-11 22:24:39"
1296 | },
1297 | {
1298 | "name": "illuminate/support",
1299 | "version": "v5.3.4",
1300 | "source": {
1301 | "type": "git",
1302 | "url": "https://github.com/illuminate/support.git",
1303 | "reference": "1b4f32dfa799dd8d0e0d11e0aaaf677e2829d6e8"
1304 | },
1305 | "dist": {
1306 | "type": "zip",
1307 | "url": "https://api.github.com/repos/illuminate/support/zipball/1b4f32dfa799dd8d0e0d11e0aaaf677e2829d6e8",
1308 | "reference": "1b4f32dfa799dd8d0e0d11e0aaaf677e2829d6e8",
1309 | "shasum": ""
1310 | },
1311 | "require": {
1312 | "doctrine/inflector": "~1.0",
1313 | "ext-mbstring": "*",
1314 | "illuminate/contracts": "5.3.*",
1315 | "paragonie/random_compat": "~1.4|~2.0",
1316 | "php": ">=5.6.4"
1317 | },
1318 | "replace": {
1319 | "tightenco/collect": "self.version"
1320 | },
1321 | "suggest": {
1322 | "illuminate/filesystem": "Required to use the composer class (5.2.*).",
1323 | "symfony/process": "Required to use the composer class (3.1.*).",
1324 | "symfony/var-dumper": "Required to use the dd function (3.1.*)."
1325 | },
1326 | "type": "library",
1327 | "extra": {
1328 | "branch-alias": {
1329 | "dev-master": "5.3-dev"
1330 | }
1331 | },
1332 | "autoload": {
1333 | "psr-4": {
1334 | "Illuminate\\Support\\": ""
1335 | },
1336 | "files": [
1337 | "helpers.php"
1338 | ]
1339 | },
1340 | "notification-url": "https://packagist.org/downloads/",
1341 | "license": [
1342 | "MIT"
1343 | ],
1344 | "authors": [
1345 | {
1346 | "name": "Taylor Otwell",
1347 | "email": "taylor@laravel.com"
1348 | }
1349 | ],
1350 | "description": "The Illuminate Support package.",
1351 | "homepage": "https://laravel.com",
1352 | "time": "2016-08-26 17:26:49"
1353 | },
1354 | {
1355 | "name": "illuminate/translation",
1356 | "version": "v5.3.4",
1357 | "source": {
1358 | "type": "git",
1359 | "url": "https://github.com/illuminate/translation.git",
1360 | "reference": "87c27cbe7d234683c112896b47a4603f91f435c1"
1361 | },
1362 | "dist": {
1363 | "type": "zip",
1364 | "url": "https://api.github.com/repos/illuminate/translation/zipball/87c27cbe7d234683c112896b47a4603f91f435c1",
1365 | "reference": "87c27cbe7d234683c112896b47a4603f91f435c1",
1366 | "shasum": ""
1367 | },
1368 | "require": {
1369 | "illuminate/filesystem": "5.3.*",
1370 | "illuminate/support": "5.3.*",
1371 | "php": ">=5.6.4",
1372 | "symfony/translation": "3.1.*"
1373 | },
1374 | "type": "library",
1375 | "extra": {
1376 | "branch-alias": {
1377 | "dev-master": "5.3-dev"
1378 | }
1379 | },
1380 | "autoload": {
1381 | "psr-4": {
1382 | "Illuminate\\Translation\\": ""
1383 | }
1384 | },
1385 | "notification-url": "https://packagist.org/downloads/",
1386 | "license": [
1387 | "MIT"
1388 | ],
1389 | "authors": [
1390 | {
1391 | "name": "Taylor Otwell",
1392 | "email": "taylor@laravel.com"
1393 | }
1394 | ],
1395 | "description": "The Illuminate Translation package.",
1396 | "homepage": "https://laravel.com",
1397 | "time": "2016-08-16 15:38:33"
1398 | },
1399 | {
1400 | "name": "illuminate/validation",
1401 | "version": "v5.3.4",
1402 | "source": {
1403 | "type": "git",
1404 | "url": "https://github.com/illuminate/validation.git",
1405 | "reference": "4eb398841b697b3e15d6b619633ed2881e9db0c1"
1406 | },
1407 | "dist": {
1408 | "type": "zip",
1409 | "url": "https://api.github.com/repos/illuminate/validation/zipball/4eb398841b697b3e15d6b619633ed2881e9db0c1",
1410 | "reference": "4eb398841b697b3e15d6b619633ed2881e9db0c1",
1411 | "shasum": ""
1412 | },
1413 | "require": {
1414 | "illuminate/container": "5.3.*",
1415 | "illuminate/contracts": "5.3.*",
1416 | "illuminate/support": "5.3.*",
1417 | "php": ">=5.6.4",
1418 | "symfony/http-foundation": "3.1.*",
1419 | "symfony/translation": "3.1.*"
1420 | },
1421 | "suggest": {
1422 | "illuminate/database": "Required to use the database presence verifier (5.3.*)."
1423 | },
1424 | "type": "library",
1425 | "extra": {
1426 | "branch-alias": {
1427 | "dev-master": "5.3-dev"
1428 | }
1429 | },
1430 | "autoload": {
1431 | "psr-4": {
1432 | "Illuminate\\Validation\\": ""
1433 | }
1434 | },
1435 | "notification-url": "https://packagist.org/downloads/",
1436 | "license": [
1437 | "MIT"
1438 | ],
1439 | "authors": [
1440 | {
1441 | "name": "Taylor Otwell",
1442 | "email": "taylor@laravel.com"
1443 | }
1444 | ],
1445 | "description": "The Illuminate Validation package.",
1446 | "homepage": "https://laravel.com",
1447 | "time": "2016-08-12 15:28:10"
1448 | },
1449 | {
1450 | "name": "illuminate/view",
1451 | "version": "v5.3.4",
1452 | "source": {
1453 | "type": "git",
1454 | "url": "https://github.com/illuminate/view.git",
1455 | "reference": "cbafb75c07e93aff38eea6e917cc7e8ee1deeaa1"
1456 | },
1457 | "dist": {
1458 | "type": "zip",
1459 | "url": "https://api.github.com/repos/illuminate/view/zipball/cbafb75c07e93aff38eea6e917cc7e8ee1deeaa1",
1460 | "reference": "cbafb75c07e93aff38eea6e917cc7e8ee1deeaa1",
1461 | "shasum": ""
1462 | },
1463 | "require": {
1464 | "illuminate/container": "5.3.*",
1465 | "illuminate/contracts": "5.3.*",
1466 | "illuminate/events": "5.3.*",
1467 | "illuminate/filesystem": "5.3.*",
1468 | "illuminate/support": "5.3.*",
1469 | "php": ">=5.6.4",
1470 | "symfony/debug": "3.1.*"
1471 | },
1472 | "type": "library",
1473 | "extra": {
1474 | "branch-alias": {
1475 | "dev-master": "5.3-dev"
1476 | }
1477 | },
1478 | "autoload": {
1479 | "psr-4": {
1480 | "Illuminate\\View\\": ""
1481 | }
1482 | },
1483 | "notification-url": "https://packagist.org/downloads/",
1484 | "license": [
1485 | "MIT"
1486 | ],
1487 | "authors": [
1488 | {
1489 | "name": "Taylor Otwell",
1490 | "email": "taylor@laravel.com"
1491 | }
1492 | ],
1493 | "description": "The Illuminate View package.",
1494 | "homepage": "https://laravel.com",
1495 | "time": "2016-08-24 08:31:50"
1496 | },
1497 | {
1498 | "name": "laravel/lumen-framework",
1499 | "version": "v5.3.0",
1500 | "source": {
1501 | "type": "git",
1502 | "url": "https://github.com/laravel/lumen-framework.git",
1503 | "reference": "414fa00eb0efadb1e39f977b8703ed4a3c579323"
1504 | },
1505 | "dist": {
1506 | "type": "zip",
1507 | "url": "https://api.github.com/repos/laravel/lumen-framework/zipball/414fa00eb0efadb1e39f977b8703ed4a3c579323",
1508 | "reference": "414fa00eb0efadb1e39f977b8703ed4a3c579323",
1509 | "shasum": ""
1510 | },
1511 | "require": {
1512 | "illuminate/auth": "5.3.*",
1513 | "illuminate/broadcasting": "5.3.*",
1514 | "illuminate/bus": "5.3.*",
1515 | "illuminate/cache": "5.3.*",
1516 | "illuminate/config": "5.3.*",
1517 | "illuminate/container": "5.3.*",
1518 | "illuminate/contracts": "5.3.*",
1519 | "illuminate/database": "5.3.*",
1520 | "illuminate/encryption": "5.3.*",
1521 | "illuminate/events": "5.3.*",
1522 | "illuminate/filesystem": "5.3.*",
1523 | "illuminate/hashing": "5.3.*",
1524 | "illuminate/http": "5.3.*",
1525 | "illuminate/pagination": "5.3.*",
1526 | "illuminate/pipeline": "5.3.*",
1527 | "illuminate/queue": "5.3.*",
1528 | "illuminate/support": "5.3.*",
1529 | "illuminate/translation": "5.3.*",
1530 | "illuminate/validation": "5.3.*",
1531 | "illuminate/view": "5.3.*",
1532 | "monolog/monolog": "~1.11",
1533 | "mtdowling/cron-expression": "~1.0",
1534 | "nikic/fast-route": "~1.0",
1535 | "paragonie/random_compat": "~1.4|~2.0",
1536 | "php": ">=5.6.4",
1537 | "symfony/http-foundation": "3.1.*",
1538 | "symfony/http-kernel": "3.1.*"
1539 | },
1540 | "require-dev": {
1541 | "mockery/mockery": "~0.9",
1542 | "phpunit/phpunit": "~5.0"
1543 | },
1544 | "suggest": {
1545 | "vlucas/phpdotenv": "Required to use .env files (~2.2)."
1546 | },
1547 | "type": "library",
1548 | "extra": {
1549 | "branch-alias": {
1550 | "dev-master": "5.3-dev"
1551 | }
1552 | },
1553 | "autoload": {
1554 | "psr-4": {
1555 | "Laravel\\Lumen\\": "src/"
1556 | },
1557 | "files": [
1558 | "src/helpers.php"
1559 | ]
1560 | },
1561 | "notification-url": "https://packagist.org/downloads/",
1562 | "license": [
1563 | "MIT"
1564 | ],
1565 | "authors": [
1566 | {
1567 | "name": "Taylor Otwell",
1568 | "email": "taylorotwell@gmail.com"
1569 | }
1570 | ],
1571 | "description": "The Laravel Lumen Framework.",
1572 | "homepage": "http://laravel.com",
1573 | "keywords": [
1574 | "framework",
1575 | "laravel",
1576 | "lumen"
1577 | ],
1578 | "time": "2016-09-07 18:38:54"
1579 | },
1580 | {
1581 | "name": "league/fractal",
1582 | "version": "0.14.0",
1583 | "source": {
1584 | "type": "git",
1585 | "url": "https://github.com/thephpleague/fractal.git",
1586 | "reference": "56ad8933fbb40328ca3321c84143b2c16186eebf"
1587 | },
1588 | "dist": {
1589 | "type": "zip",
1590 | "url": "https://api.github.com/repos/thephpleague/fractal/zipball/56ad8933fbb40328ca3321c84143b2c16186eebf",
1591 | "reference": "56ad8933fbb40328ca3321c84143b2c16186eebf",
1592 | "shasum": ""
1593 | },
1594 | "require": {
1595 | "php": ">=5.4"
1596 | },
1597 | "require-dev": {
1598 | "illuminate/contracts": "~5.0",
1599 | "mockery/mockery": "~0.9",
1600 | "pagerfanta/pagerfanta": "~1.0.0",
1601 | "phpunit/phpunit": "~4.0",
1602 | "squizlabs/php_codesniffer": "~1.5",
1603 | "zendframework/zend-paginator": "~2.3"
1604 | },
1605 | "suggest": {
1606 | "illuminate/pagination": "The Illuminate Pagination component.",
1607 | "pagerfanta/pagerfanta": "Pagerfanta Paginator",
1608 | "zendframework/zend-paginator": "Zend Framework Paginator"
1609 | },
1610 | "type": "library",
1611 | "extra": {
1612 | "branch-alias": {
1613 | "dev-master": "0.13-dev"
1614 | }
1615 | },
1616 | "autoload": {
1617 | "psr-4": {
1618 | "League\\Fractal\\": "src"
1619 | }
1620 | },
1621 | "notification-url": "https://packagist.org/downloads/",
1622 | "license": [
1623 | "MIT"
1624 | ],
1625 | "authors": [
1626 | {
1627 | "name": "Phil Sturgeon",
1628 | "email": "me@philsturgeon.uk",
1629 | "homepage": "http://philsturgeon.uk/",
1630 | "role": "Developer"
1631 | }
1632 | ],
1633 | "description": "Handle the output of complex data structures ready for API output.",
1634 | "homepage": "http://fractal.thephpleague.com/",
1635 | "keywords": [
1636 | "api",
1637 | "json",
1638 | "league",
1639 | "rest"
1640 | ],
1641 | "time": "2016-07-21 09:56:14"
1642 | },
1643 | {
1644 | "name": "monolog/monolog",
1645 | "version": "1.21.0",
1646 | "source": {
1647 | "type": "git",
1648 | "url": "https://github.com/Seldaek/monolog.git",
1649 | "reference": "f42fbdfd53e306bda545845e4dbfd3e72edb4952"
1650 | },
1651 | "dist": {
1652 | "type": "zip",
1653 | "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f42fbdfd53e306bda545845e4dbfd3e72edb4952",
1654 | "reference": "f42fbdfd53e306bda545845e4dbfd3e72edb4952",
1655 | "shasum": ""
1656 | },
1657 | "require": {
1658 | "php": ">=5.3.0",
1659 | "psr/log": "~1.0"
1660 | },
1661 | "provide": {
1662 | "psr/log-implementation": "1.0.0"
1663 | },
1664 | "require-dev": {
1665 | "aws/aws-sdk-php": "^2.4.9",
1666 | "doctrine/couchdb": "~1.0@dev",
1667 | "graylog2/gelf-php": "~1.0",
1668 | "jakub-onderka/php-parallel-lint": "0.9",
1669 | "php-amqplib/php-amqplib": "~2.4",
1670 | "php-console/php-console": "^3.1.3",
1671 | "phpunit/phpunit": "~4.5",
1672 | "phpunit/phpunit-mock-objects": "2.3.0",
1673 | "ruflin/elastica": ">=0.90 <3.0",
1674 | "sentry/sentry": "^0.13",
1675 | "swiftmailer/swiftmailer": "~5.3"
1676 | },
1677 | "suggest": {
1678 | "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
1679 | "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
1680 | "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
1681 | "ext-mongo": "Allow sending log messages to a MongoDB server",
1682 | "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
1683 | "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver",
1684 | "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
1685 | "php-console/php-console": "Allow sending log messages to Google Chrome",
1686 | "rollbar/rollbar": "Allow sending log messages to Rollbar",
1687 | "ruflin/elastica": "Allow sending log messages to an Elastic Search server",
1688 | "sentry/sentry": "Allow sending log messages to a Sentry server"
1689 | },
1690 | "type": "library",
1691 | "extra": {
1692 | "branch-alias": {
1693 | "dev-master": "2.0.x-dev"
1694 | }
1695 | },
1696 | "autoload": {
1697 | "psr-4": {
1698 | "Monolog\\": "src/Monolog"
1699 | }
1700 | },
1701 | "notification-url": "https://packagist.org/downloads/",
1702 | "license": [
1703 | "MIT"
1704 | ],
1705 | "authors": [
1706 | {
1707 | "name": "Jordi Boggiano",
1708 | "email": "j.boggiano@seld.be",
1709 | "homepage": "http://seld.be"
1710 | }
1711 | ],
1712 | "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
1713 | "homepage": "http://github.com/Seldaek/monolog",
1714 | "keywords": [
1715 | "log",
1716 | "logging",
1717 | "psr-3"
1718 | ],
1719 | "time": "2016-07-29 03:23:52"
1720 | },
1721 | {
1722 | "name": "mtdowling/cron-expression",
1723 | "version": "v1.1.0",
1724 | "source": {
1725 | "type": "git",
1726 | "url": "https://github.com/mtdowling/cron-expression.git",
1727 | "reference": "c9ee7886f5a12902b225a1a12f36bb45f9ab89e5"
1728 | },
1729 | "dist": {
1730 | "type": "zip",
1731 | "url": "https://api.github.com/repos/mtdowling/cron-expression/zipball/c9ee7886f5a12902b225a1a12f36bb45f9ab89e5",
1732 | "reference": "c9ee7886f5a12902b225a1a12f36bb45f9ab89e5",
1733 | "shasum": ""
1734 | },
1735 | "require": {
1736 | "php": ">=5.3.2"
1737 | },
1738 | "require-dev": {
1739 | "phpunit/phpunit": "~4.0|~5.0"
1740 | },
1741 | "type": "library",
1742 | "autoload": {
1743 | "psr-0": {
1744 | "Cron": "src/"
1745 | }
1746 | },
1747 | "notification-url": "https://packagist.org/downloads/",
1748 | "license": [
1749 | "MIT"
1750 | ],
1751 | "authors": [
1752 | {
1753 | "name": "Michael Dowling",
1754 | "email": "mtdowling@gmail.com",
1755 | "homepage": "https://github.com/mtdowling"
1756 | }
1757 | ],
1758 | "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due",
1759 | "keywords": [
1760 | "cron",
1761 | "schedule"
1762 | ],
1763 | "time": "2016-01-26 21:23:30"
1764 | },
1765 | {
1766 | "name": "namshi/jose",
1767 | "version": "5.0.2",
1768 | "source": {
1769 | "type": "git",
1770 | "url": "https://github.com/namshi/jose.git",
1771 | "reference": "8c7eba486f74c014ea1d8faedafe5109a31ea95b"
1772 | },
1773 | "dist": {
1774 | "type": "zip",
1775 | "url": "https://api.github.com/repos/namshi/jose/zipball/8c7eba486f74c014ea1d8faedafe5109a31ea95b",
1776 | "reference": "8c7eba486f74c014ea1d8faedafe5109a31ea95b",
1777 | "shasum": ""
1778 | },
1779 | "require": {
1780 | "lib-openssl": "*",
1781 | "php": ">=5.3.3",
1782 | "phpseclib/phpseclib": "~0.3"
1783 | },
1784 | "require-dev": {
1785 | "phpunit/phpunit": "~4.5",
1786 | "satooshi/php-coveralls": "dev-master"
1787 | },
1788 | "type": "library",
1789 | "autoload": {
1790 | "psr-0": {
1791 | "Namshi\\JOSE": "src/"
1792 | }
1793 | },
1794 | "notification-url": "https://packagist.org/downloads/",
1795 | "license": [
1796 | "MIT"
1797 | ],
1798 | "authors": [
1799 | {
1800 | "name": "Alessandro Nadalin",
1801 | "email": "alessandro.nadalin@gmail.com"
1802 | }
1803 | ],
1804 | "description": "JSON Object Signing and Encryption library for PHP.",
1805 | "keywords": [
1806 | "JSON Web Signature",
1807 | "JSON Web Token",
1808 | "JWS",
1809 | "json",
1810 | "jwt",
1811 | "token"
1812 | ],
1813 | "time": "2015-06-29 05:41:44"
1814 | },
1815 | {
1816 | "name": "nesbot/carbon",
1817 | "version": "1.21.0",
1818 | "source": {
1819 | "type": "git",
1820 | "url": "https://github.com/briannesbitt/Carbon.git",
1821 | "reference": "7b08ec6f75791e130012f206e3f7b0e76e18e3d7"
1822 | },
1823 | "dist": {
1824 | "type": "zip",
1825 | "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/7b08ec6f75791e130012f206e3f7b0e76e18e3d7",
1826 | "reference": "7b08ec6f75791e130012f206e3f7b0e76e18e3d7",
1827 | "shasum": ""
1828 | },
1829 | "require": {
1830 | "php": ">=5.3.0",
1831 | "symfony/translation": "~2.6|~3.0"
1832 | },
1833 | "require-dev": {
1834 | "phpunit/phpunit": "~4.0|~5.0"
1835 | },
1836 | "type": "library",
1837 | "autoload": {
1838 | "psr-4": {
1839 | "Carbon\\": "src/Carbon/"
1840 | }
1841 | },
1842 | "notification-url": "https://packagist.org/downloads/",
1843 | "license": [
1844 | "MIT"
1845 | ],
1846 | "authors": [
1847 | {
1848 | "name": "Brian Nesbitt",
1849 | "email": "brian@nesbot.com",
1850 | "homepage": "http://nesbot.com"
1851 | }
1852 | ],
1853 | "description": "A simple API extension for DateTime.",
1854 | "homepage": "http://carbon.nesbot.com",
1855 | "keywords": [
1856 | "date",
1857 | "datetime",
1858 | "time"
1859 | ],
1860 | "time": "2015-11-04 20:07:17"
1861 | },
1862 | {
1863 | "name": "nikic/fast-route",
1864 | "version": "v1.0.1",
1865 | "source": {
1866 | "type": "git",
1867 | "url": "https://github.com/nikic/FastRoute.git",
1868 | "reference": "8ea928195fa9b907f0d6e48312d323c1a13cc2af"
1869 | },
1870 | "dist": {
1871 | "type": "zip",
1872 | "url": "https://api.github.com/repos/nikic/FastRoute/zipball/8ea928195fa9b907f0d6e48312d323c1a13cc2af",
1873 | "reference": "8ea928195fa9b907f0d6e48312d323c1a13cc2af",
1874 | "shasum": ""
1875 | },
1876 | "require": {
1877 | "php": ">=5.4.0"
1878 | },
1879 | "type": "library",
1880 | "autoload": {
1881 | "psr-4": {
1882 | "FastRoute\\": "src/"
1883 | },
1884 | "files": [
1885 | "src/functions.php"
1886 | ]
1887 | },
1888 | "notification-url": "https://packagist.org/downloads/",
1889 | "license": [
1890 | "BSD-3-Clause"
1891 | ],
1892 | "authors": [
1893 | {
1894 | "name": "Nikita Popov",
1895 | "email": "nikic@php.net"
1896 | }
1897 | ],
1898 | "description": "Fast request router for PHP",
1899 | "keywords": [
1900 | "router",
1901 | "routing"
1902 | ],
1903 | "time": "2016-06-12 19:08:51"
1904 | },
1905 | {
1906 | "name": "paragonie/random_compat",
1907 | "version": "v2.0.2",
1908 | "source": {
1909 | "type": "git",
1910 | "url": "https://github.com/paragonie/random_compat.git",
1911 | "reference": "088c04e2f261c33bed6ca5245491cfca69195ccf"
1912 | },
1913 | "dist": {
1914 | "type": "zip",
1915 | "url": "https://api.github.com/repos/paragonie/random_compat/zipball/088c04e2f261c33bed6ca5245491cfca69195ccf",
1916 | "reference": "088c04e2f261c33bed6ca5245491cfca69195ccf",
1917 | "shasum": ""
1918 | },
1919 | "require": {
1920 | "php": ">=5.2.0"
1921 | },
1922 | "require-dev": {
1923 | "phpunit/phpunit": "4.*|5.*"
1924 | },
1925 | "suggest": {
1926 | "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
1927 | },
1928 | "type": "library",
1929 | "autoload": {
1930 | "files": [
1931 | "lib/random.php"
1932 | ]
1933 | },
1934 | "notification-url": "https://packagist.org/downloads/",
1935 | "license": [
1936 | "MIT"
1937 | ],
1938 | "authors": [
1939 | {
1940 | "name": "Paragon Initiative Enterprises",
1941 | "email": "security@paragonie.com",
1942 | "homepage": "https://paragonie.com"
1943 | }
1944 | ],
1945 | "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
1946 | "keywords": [
1947 | "csprng",
1948 | "pseudorandom",
1949 | "random"
1950 | ],
1951 | "time": "2016-04-03 06:00:07"
1952 | },
1953 | {
1954 | "name": "phpdocumentor/reflection-common",
1955 | "version": "1.0",
1956 | "source": {
1957 | "type": "git",
1958 | "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
1959 | "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c"
1960 | },
1961 | "dist": {
1962 | "type": "zip",
1963 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c",
1964 | "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c",
1965 | "shasum": ""
1966 | },
1967 | "require": {
1968 | "php": ">=5.5"
1969 | },
1970 | "require-dev": {
1971 | "phpunit/phpunit": "^4.6"
1972 | },
1973 | "type": "library",
1974 | "extra": {
1975 | "branch-alias": {
1976 | "dev-master": "1.0.x-dev"
1977 | }
1978 | },
1979 | "autoload": {
1980 | "psr-4": {
1981 | "phpDocumentor\\Reflection\\": [
1982 | "src"
1983 | ]
1984 | }
1985 | },
1986 | "notification-url": "https://packagist.org/downloads/",
1987 | "license": [
1988 | "MIT"
1989 | ],
1990 | "authors": [
1991 | {
1992 | "name": "Jaap van Otterdijk",
1993 | "email": "opensource@ijaap.nl"
1994 | }
1995 | ],
1996 | "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
1997 | "homepage": "http://www.phpdoc.org",
1998 | "keywords": [
1999 | "FQSEN",
2000 | "phpDocumentor",
2001 | "phpdoc",
2002 | "reflection",
2003 | "static analysis"
2004 | ],
2005 | "time": "2015-12-27 11:43:31"
2006 | },
2007 | {
2008 | "name": "phpdocumentor/reflection-docblock",
2009 | "version": "3.1.0",
2010 | "source": {
2011 | "type": "git",
2012 | "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
2013 | "reference": "9270140b940ff02e58ec577c237274e92cd40cdd"
2014 | },
2015 | "dist": {
2016 | "type": "zip",
2017 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/9270140b940ff02e58ec577c237274e92cd40cdd",
2018 | "reference": "9270140b940ff02e58ec577c237274e92cd40cdd",
2019 | "shasum": ""
2020 | },
2021 | "require": {
2022 | "php": ">=5.5",
2023 | "phpdocumentor/reflection-common": "^1.0@dev",
2024 | "phpdocumentor/type-resolver": "^0.2.0",
2025 | "webmozart/assert": "^1.0"
2026 | },
2027 | "require-dev": {
2028 | "mockery/mockery": "^0.9.4",
2029 | "phpunit/phpunit": "^4.4"
2030 | },
2031 | "type": "library",
2032 | "autoload": {
2033 | "psr-4": {
2034 | "phpDocumentor\\Reflection\\": [
2035 | "src/"
2036 | ]
2037 | }
2038 | },
2039 | "notification-url": "https://packagist.org/downloads/",
2040 | "license": [
2041 | "MIT"
2042 | ],
2043 | "authors": [
2044 | {
2045 | "name": "Mike van Riel",
2046 | "email": "me@mikevanriel.com"
2047 | }
2048 | ],
2049 | "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
2050 | "time": "2016-06-10 09:48:41"
2051 | },
2052 | {
2053 | "name": "phpdocumentor/type-resolver",
2054 | "version": "0.2",
2055 | "source": {
2056 | "type": "git",
2057 | "url": "https://github.com/phpDocumentor/TypeResolver.git",
2058 | "reference": "b39c7a5b194f9ed7bd0dd345c751007a41862443"
2059 | },
2060 | "dist": {
2061 | "type": "zip",
2062 | "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/b39c7a5b194f9ed7bd0dd345c751007a41862443",
2063 | "reference": "b39c7a5b194f9ed7bd0dd345c751007a41862443",
2064 | "shasum": ""
2065 | },
2066 | "require": {
2067 | "php": ">=5.5",
2068 | "phpdocumentor/reflection-common": "^1.0"
2069 | },
2070 | "require-dev": {
2071 | "mockery/mockery": "^0.9.4",
2072 | "phpunit/phpunit": "^5.2||^4.8.24"
2073 | },
2074 | "type": "library",
2075 | "extra": {
2076 | "branch-alias": {
2077 | "dev-master": "1.0.x-dev"
2078 | }
2079 | },
2080 | "autoload": {
2081 | "psr-4": {
2082 | "phpDocumentor\\Reflection\\": [
2083 | "src/"
2084 | ]
2085 | }
2086 | },
2087 | "notification-url": "https://packagist.org/downloads/",
2088 | "license": [
2089 | "MIT"
2090 | ],
2091 | "authors": [
2092 | {
2093 | "name": "Mike van Riel",
2094 | "email": "me@mikevanriel.com"
2095 | }
2096 | ],
2097 | "time": "2016-06-10 07:14:17"
2098 | },
2099 | {
2100 | "name": "phpseclib/phpseclib",
2101 | "version": "0.3.10",
2102 | "source": {
2103 | "type": "git",
2104 | "url": "https://github.com/phpseclib/phpseclib.git",
2105 | "reference": "d15bba1edcc7c89e09cc74c5d961317a8b947bf4"
2106 | },
2107 | "dist": {
2108 | "type": "zip",
2109 | "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/d15bba1edcc7c89e09cc74c5d961317a8b947bf4",
2110 | "reference": "d15bba1edcc7c89e09cc74c5d961317a8b947bf4",
2111 | "shasum": ""
2112 | },
2113 | "require": {
2114 | "php": ">=5.0.0"
2115 | },
2116 | "require-dev": {
2117 | "phing/phing": "~2.7",
2118 | "phpunit/phpunit": "~4.0",
2119 | "sami/sami": "~2.0",
2120 | "squizlabs/php_codesniffer": "~1.5"
2121 | },
2122 | "suggest": {
2123 | "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.",
2124 | "ext-mcrypt": "Install the Mcrypt extension in order to speed up a wide variety of cryptographic operations.",
2125 | "pear-pear/PHP_Compat": "Install PHP_Compat to get phpseclib working on PHP < 4.3.3."
2126 | },
2127 | "type": "library",
2128 | "extra": {
2129 | "branch-alias": {
2130 | "dev-master": "0.3-dev"
2131 | }
2132 | },
2133 | "autoload": {
2134 | "psr-0": {
2135 | "Crypt": "phpseclib/",
2136 | "File": "phpseclib/",
2137 | "Math": "phpseclib/",
2138 | "Net": "phpseclib/",
2139 | "System": "phpseclib/"
2140 | },
2141 | "files": [
2142 | "phpseclib/Crypt/Random.php"
2143 | ]
2144 | },
2145 | "notification-url": "https://packagist.org/downloads/",
2146 | "include-path": [
2147 | "phpseclib/"
2148 | ],
2149 | "license": [
2150 | "MIT"
2151 | ],
2152 | "authors": [
2153 | {
2154 | "name": "Jim Wigginton",
2155 | "email": "terrafrost@php.net",
2156 | "role": "Lead Developer"
2157 | },
2158 | {
2159 | "name": "Patrick Monnerat",
2160 | "email": "pm@datasphere.ch",
2161 | "role": "Developer"
2162 | },
2163 | {
2164 | "name": "Andreas Fischer",
2165 | "email": "bantu@phpbb.com",
2166 | "role": "Developer"
2167 | },
2168 | {
2169 | "name": "Hans-Jürgen Petrich",
2170 | "email": "petrich@tronic-media.com",
2171 | "role": "Developer"
2172 | }
2173 | ],
2174 | "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.",
2175 | "homepage": "http://phpseclib.sourceforge.net",
2176 | "keywords": [
2177 | "BigInteger",
2178 | "aes",
2179 | "asn.1",
2180 | "asn1",
2181 | "blowfish",
2182 | "crypto",
2183 | "cryptography",
2184 | "encryption",
2185 | "rsa",
2186 | "security",
2187 | "sftp",
2188 | "signature",
2189 | "signing",
2190 | "ssh",
2191 | "twofish",
2192 | "x.509",
2193 | "x509"
2194 | ],
2195 | "time": "2015-01-28 21:50:33"
2196 | },
2197 | {
2198 | "name": "psr/log",
2199 | "version": "1.0.1",
2200 | "source": {
2201 | "type": "git",
2202 | "url": "https://github.com/php-fig/log.git",
2203 | "reference": "5277094ed527a1c4477177d102fe4c53551953e0"
2204 | },
2205 | "dist": {
2206 | "type": "zip",
2207 | "url": "https://api.github.com/repos/php-fig/log/zipball/5277094ed527a1c4477177d102fe4c53551953e0",
2208 | "reference": "5277094ed527a1c4477177d102fe4c53551953e0",
2209 | "shasum": ""
2210 | },
2211 | "require": {
2212 | "php": ">=5.3.0"
2213 | },
2214 | "type": "library",
2215 | "extra": {
2216 | "branch-alias": {
2217 | "dev-master": "1.0.x-dev"
2218 | }
2219 | },
2220 | "autoload": {
2221 | "psr-4": {
2222 | "Psr\\Log\\": "Psr/Log/"
2223 | }
2224 | },
2225 | "notification-url": "https://packagist.org/downloads/",
2226 | "license": [
2227 | "MIT"
2228 | ],
2229 | "authors": [
2230 | {
2231 | "name": "PHP-FIG",
2232 | "homepage": "http://www.php-fig.org/"
2233 | }
2234 | ],
2235 | "description": "Common interface for logging libraries",
2236 | "homepage": "https://github.com/php-fig/log",
2237 | "keywords": [
2238 | "log",
2239 | "psr",
2240 | "psr-3"
2241 | ],
2242 | "time": "2016-09-19 16:02:08"
2243 | },
2244 | {
2245 | "name": "symfony/console",
2246 | "version": "v3.1.4",
2247 | "source": {
2248 | "type": "git",
2249 | "url": "https://github.com/symfony/console.git",
2250 | "reference": "8ea494c34f0f772c3954b5fbe00bffc5a435e563"
2251 | },
2252 | "dist": {
2253 | "type": "zip",
2254 | "url": "https://api.github.com/repos/symfony/console/zipball/8ea494c34f0f772c3954b5fbe00bffc5a435e563",
2255 | "reference": "8ea494c34f0f772c3954b5fbe00bffc5a435e563",
2256 | "shasum": ""
2257 | },
2258 | "require": {
2259 | "php": ">=5.5.9",
2260 | "symfony/polyfill-mbstring": "~1.0"
2261 | },
2262 | "require-dev": {
2263 | "psr/log": "~1.0",
2264 | "symfony/event-dispatcher": "~2.8|~3.0",
2265 | "symfony/process": "~2.8|~3.0"
2266 | },
2267 | "suggest": {
2268 | "psr/log": "For using the console logger",
2269 | "symfony/event-dispatcher": "",
2270 | "symfony/process": ""
2271 | },
2272 | "type": "library",
2273 | "extra": {
2274 | "branch-alias": {
2275 | "dev-master": "3.1-dev"
2276 | }
2277 | },
2278 | "autoload": {
2279 | "psr-4": {
2280 | "Symfony\\Component\\Console\\": ""
2281 | },
2282 | "exclude-from-classmap": [
2283 | "/Tests/"
2284 | ]
2285 | },
2286 | "notification-url": "https://packagist.org/downloads/",
2287 | "license": [
2288 | "MIT"
2289 | ],
2290 | "authors": [
2291 | {
2292 | "name": "Fabien Potencier",
2293 | "email": "fabien@symfony.com"
2294 | },
2295 | {
2296 | "name": "Symfony Community",
2297 | "homepage": "https://symfony.com/contributors"
2298 | }
2299 | ],
2300 | "description": "Symfony Console Component",
2301 | "homepage": "https://symfony.com",
2302 | "time": "2016-08-19 06:48:39"
2303 | },
2304 | {
2305 | "name": "symfony/debug",
2306 | "version": "v3.1.4",
2307 | "source": {
2308 | "type": "git",
2309 | "url": "https://github.com/symfony/debug.git",
2310 | "reference": "34f6ac18c2974ca5fce68adf419ee7d15def6f11"
2311 | },
2312 | "dist": {
2313 | "type": "zip",
2314 | "url": "https://api.github.com/repos/symfony/debug/zipball/34f6ac18c2974ca5fce68adf419ee7d15def6f11",
2315 | "reference": "34f6ac18c2974ca5fce68adf419ee7d15def6f11",
2316 | "shasum": ""
2317 | },
2318 | "require": {
2319 | "php": ">=5.5.9",
2320 | "psr/log": "~1.0"
2321 | },
2322 | "conflict": {
2323 | "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
2324 | },
2325 | "require-dev": {
2326 | "symfony/class-loader": "~2.8|~3.0",
2327 | "symfony/http-kernel": "~2.8|~3.0"
2328 | },
2329 | "type": "library",
2330 | "extra": {
2331 | "branch-alias": {
2332 | "dev-master": "3.1-dev"
2333 | }
2334 | },
2335 | "autoload": {
2336 | "psr-4": {
2337 | "Symfony\\Component\\Debug\\": ""
2338 | },
2339 | "exclude-from-classmap": [
2340 | "/Tests/"
2341 | ]
2342 | },
2343 | "notification-url": "https://packagist.org/downloads/",
2344 | "license": [
2345 | "MIT"
2346 | ],
2347 | "authors": [
2348 | {
2349 | "name": "Fabien Potencier",
2350 | "email": "fabien@symfony.com"
2351 | },
2352 | {
2353 | "name": "Symfony Community",
2354 | "homepage": "https://symfony.com/contributors"
2355 | }
2356 | ],
2357 | "description": "Symfony Debug Component",
2358 | "homepage": "https://symfony.com",
2359 | "time": "2016-08-23 13:39:15"
2360 | },
2361 | {
2362 | "name": "symfony/event-dispatcher",
2363 | "version": "v3.1.4",
2364 | "source": {
2365 | "type": "git",
2366 | "url": "https://github.com/symfony/event-dispatcher.git",
2367 | "reference": "c0c00c80b3a69132c4e55c3e7db32b4a387615e5"
2368 | },
2369 | "dist": {
2370 | "type": "zip",
2371 | "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/c0c00c80b3a69132c4e55c3e7db32b4a387615e5",
2372 | "reference": "c0c00c80b3a69132c4e55c3e7db32b4a387615e5",
2373 | "shasum": ""
2374 | },
2375 | "require": {
2376 | "php": ">=5.5.9"
2377 | },
2378 | "require-dev": {
2379 | "psr/log": "~1.0",
2380 | "symfony/config": "~2.8|~3.0",
2381 | "symfony/dependency-injection": "~2.8|~3.0",
2382 | "symfony/expression-language": "~2.8|~3.0",
2383 | "symfony/stopwatch": "~2.8|~3.0"
2384 | },
2385 | "suggest": {
2386 | "symfony/dependency-injection": "",
2387 | "symfony/http-kernel": ""
2388 | },
2389 | "type": "library",
2390 | "extra": {
2391 | "branch-alias": {
2392 | "dev-master": "3.1-dev"
2393 | }
2394 | },
2395 | "autoload": {
2396 | "psr-4": {
2397 | "Symfony\\Component\\EventDispatcher\\": ""
2398 | },
2399 | "exclude-from-classmap": [
2400 | "/Tests/"
2401 | ]
2402 | },
2403 | "notification-url": "https://packagist.org/downloads/",
2404 | "license": [
2405 | "MIT"
2406 | ],
2407 | "authors": [
2408 | {
2409 | "name": "Fabien Potencier",
2410 | "email": "fabien@symfony.com"
2411 | },
2412 | {
2413 | "name": "Symfony Community",
2414 | "homepage": "https://symfony.com/contributors"
2415 | }
2416 | ],
2417 | "description": "Symfony EventDispatcher Component",
2418 | "homepage": "https://symfony.com",
2419 | "time": "2016-07-19 10:45:57"
2420 | },
2421 | {
2422 | "name": "symfony/finder",
2423 | "version": "v3.1.4",
2424 | "source": {
2425 | "type": "git",
2426 | "url": "https://github.com/symfony/finder.git",
2427 | "reference": "e568ef1784f447a0e54dcb6f6de30b9747b0f577"
2428 | },
2429 | "dist": {
2430 | "type": "zip",
2431 | "url": "https://api.github.com/repos/symfony/finder/zipball/e568ef1784f447a0e54dcb6f6de30b9747b0f577",
2432 | "reference": "e568ef1784f447a0e54dcb6f6de30b9747b0f577",
2433 | "shasum": ""
2434 | },
2435 | "require": {
2436 | "php": ">=5.5.9"
2437 | },
2438 | "type": "library",
2439 | "extra": {
2440 | "branch-alias": {
2441 | "dev-master": "3.1-dev"
2442 | }
2443 | },
2444 | "autoload": {
2445 | "psr-4": {
2446 | "Symfony\\Component\\Finder\\": ""
2447 | },
2448 | "exclude-from-classmap": [
2449 | "/Tests/"
2450 | ]
2451 | },
2452 | "notification-url": "https://packagist.org/downloads/",
2453 | "license": [
2454 | "MIT"
2455 | ],
2456 | "authors": [
2457 | {
2458 | "name": "Fabien Potencier",
2459 | "email": "fabien@symfony.com"
2460 | },
2461 | {
2462 | "name": "Symfony Community",
2463 | "homepage": "https://symfony.com/contributors"
2464 | }
2465 | ],
2466 | "description": "Symfony Finder Component",
2467 | "homepage": "https://symfony.com",
2468 | "time": "2016-08-26 12:04:02"
2469 | },
2470 | {
2471 | "name": "symfony/http-foundation",
2472 | "version": "v3.1.4",
2473 | "source": {
2474 | "type": "git",
2475 | "url": "https://github.com/symfony/http-foundation.git",
2476 | "reference": "63592e00fd90632b57ee50220a1ddb29b6bf3bb4"
2477 | },
2478 | "dist": {
2479 | "type": "zip",
2480 | "url": "https://api.github.com/repos/symfony/http-foundation/zipball/63592e00fd90632b57ee50220a1ddb29b6bf3bb4",
2481 | "reference": "63592e00fd90632b57ee50220a1ddb29b6bf3bb4",
2482 | "shasum": ""
2483 | },
2484 | "require": {
2485 | "php": ">=5.5.9",
2486 | "symfony/polyfill-mbstring": "~1.1"
2487 | },
2488 | "require-dev": {
2489 | "symfony/expression-language": "~2.8|~3.0"
2490 | },
2491 | "type": "library",
2492 | "extra": {
2493 | "branch-alias": {
2494 | "dev-master": "3.1-dev"
2495 | }
2496 | },
2497 | "autoload": {
2498 | "psr-4": {
2499 | "Symfony\\Component\\HttpFoundation\\": ""
2500 | },
2501 | "exclude-from-classmap": [
2502 | "/Tests/"
2503 | ]
2504 | },
2505 | "notification-url": "https://packagist.org/downloads/",
2506 | "license": [
2507 | "MIT"
2508 | ],
2509 | "authors": [
2510 | {
2511 | "name": "Fabien Potencier",
2512 | "email": "fabien@symfony.com"
2513 | },
2514 | {
2515 | "name": "Symfony Community",
2516 | "homepage": "https://symfony.com/contributors"
2517 | }
2518 | ],
2519 | "description": "Symfony HttpFoundation Component",
2520 | "homepage": "https://symfony.com",
2521 | "time": "2016-08-22 12:11:19"
2522 | },
2523 | {
2524 | "name": "symfony/http-kernel",
2525 | "version": "v3.1.4",
2526 | "source": {
2527 | "type": "git",
2528 | "url": "https://github.com/symfony/http-kernel.git",
2529 | "reference": "aeda215d6b01f119508c090d2a09ebb5b0bc61f3"
2530 | },
2531 | "dist": {
2532 | "type": "zip",
2533 | "url": "https://api.github.com/repos/symfony/http-kernel/zipball/aeda215d6b01f119508c090d2a09ebb5b0bc61f3",
2534 | "reference": "aeda215d6b01f119508c090d2a09ebb5b0bc61f3",
2535 | "shasum": ""
2536 | },
2537 | "require": {
2538 | "php": ">=5.5.9",
2539 | "psr/log": "~1.0",
2540 | "symfony/debug": "~2.8|~3.0",
2541 | "symfony/event-dispatcher": "~2.8|~3.0",
2542 | "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2"
2543 | },
2544 | "conflict": {
2545 | "symfony/config": "<2.8"
2546 | },
2547 | "require-dev": {
2548 | "symfony/browser-kit": "~2.8|~3.0",
2549 | "symfony/class-loader": "~2.8|~3.0",
2550 | "symfony/config": "~2.8|~3.0",
2551 | "symfony/console": "~2.8|~3.0",
2552 | "symfony/css-selector": "~2.8|~3.0",
2553 | "symfony/dependency-injection": "~2.8|~3.0",
2554 | "symfony/dom-crawler": "~2.8|~3.0",
2555 | "symfony/expression-language": "~2.8|~3.0",
2556 | "symfony/finder": "~2.8|~3.0",
2557 | "symfony/process": "~2.8|~3.0",
2558 | "symfony/routing": "~2.8|~3.0",
2559 | "symfony/stopwatch": "~2.8|~3.0",
2560 | "symfony/templating": "~2.8|~3.0",
2561 | "symfony/translation": "~2.8|~3.0",
2562 | "symfony/var-dumper": "~2.8|~3.0"
2563 | },
2564 | "suggest": {
2565 | "symfony/browser-kit": "",
2566 | "symfony/class-loader": "",
2567 | "symfony/config": "",
2568 | "symfony/console": "",
2569 | "symfony/dependency-injection": "",
2570 | "symfony/finder": "",
2571 | "symfony/var-dumper": ""
2572 | },
2573 | "type": "library",
2574 | "extra": {
2575 | "branch-alias": {
2576 | "dev-master": "3.1-dev"
2577 | }
2578 | },
2579 | "autoload": {
2580 | "psr-4": {
2581 | "Symfony\\Component\\HttpKernel\\": ""
2582 | },
2583 | "exclude-from-classmap": [
2584 | "/Tests/"
2585 | ]
2586 | },
2587 | "notification-url": "https://packagist.org/downloads/",
2588 | "license": [
2589 | "MIT"
2590 | ],
2591 | "authors": [
2592 | {
2593 | "name": "Fabien Potencier",
2594 | "email": "fabien@symfony.com"
2595 | },
2596 | {
2597 | "name": "Symfony Community",
2598 | "homepage": "https://symfony.com/contributors"
2599 | }
2600 | ],
2601 | "description": "Symfony HttpKernel Component",
2602 | "homepage": "https://symfony.com",
2603 | "time": "2016-09-03 15:28:24"
2604 | },
2605 | {
2606 | "name": "symfony/polyfill-mbstring",
2607 | "version": "v1.2.0",
2608 | "source": {
2609 | "type": "git",
2610 | "url": "https://github.com/symfony/polyfill-mbstring.git",
2611 | "reference": "dff51f72b0706335131b00a7f49606168c582594"
2612 | },
2613 | "dist": {
2614 | "type": "zip",
2615 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/dff51f72b0706335131b00a7f49606168c582594",
2616 | "reference": "dff51f72b0706335131b00a7f49606168c582594",
2617 | "shasum": ""
2618 | },
2619 | "require": {
2620 | "php": ">=5.3.3"
2621 | },
2622 | "suggest": {
2623 | "ext-mbstring": "For best performance"
2624 | },
2625 | "type": "library",
2626 | "extra": {
2627 | "branch-alias": {
2628 | "dev-master": "1.2-dev"
2629 | }
2630 | },
2631 | "autoload": {
2632 | "psr-4": {
2633 | "Symfony\\Polyfill\\Mbstring\\": ""
2634 | },
2635 | "files": [
2636 | "bootstrap.php"
2637 | ]
2638 | },
2639 | "notification-url": "https://packagist.org/downloads/",
2640 | "license": [
2641 | "MIT"
2642 | ],
2643 | "authors": [
2644 | {
2645 | "name": "Nicolas Grekas",
2646 | "email": "p@tchwork.com"
2647 | },
2648 | {
2649 | "name": "Symfony Community",
2650 | "homepage": "https://symfony.com/contributors"
2651 | }
2652 | ],
2653 | "description": "Symfony polyfill for the Mbstring extension",
2654 | "homepage": "https://symfony.com",
2655 | "keywords": [
2656 | "compatibility",
2657 | "mbstring",
2658 | "polyfill",
2659 | "portable",
2660 | "shim"
2661 | ],
2662 | "time": "2016-05-18 14:26:46"
2663 | },
2664 | {
2665 | "name": "symfony/process",
2666 | "version": "v3.1.4",
2667 | "source": {
2668 | "type": "git",
2669 | "url": "https://github.com/symfony/process.git",
2670 | "reference": "e64e93041c80e77197ace5ab9385dedb5a143697"
2671 | },
2672 | "dist": {
2673 | "type": "zip",
2674 | "url": "https://api.github.com/repos/symfony/process/zipball/e64e93041c80e77197ace5ab9385dedb5a143697",
2675 | "reference": "e64e93041c80e77197ace5ab9385dedb5a143697",
2676 | "shasum": ""
2677 | },
2678 | "require": {
2679 | "php": ">=5.5.9"
2680 | },
2681 | "type": "library",
2682 | "extra": {
2683 | "branch-alias": {
2684 | "dev-master": "3.1-dev"
2685 | }
2686 | },
2687 | "autoload": {
2688 | "psr-4": {
2689 | "Symfony\\Component\\Process\\": ""
2690 | },
2691 | "exclude-from-classmap": [
2692 | "/Tests/"
2693 | ]
2694 | },
2695 | "notification-url": "https://packagist.org/downloads/",
2696 | "license": [
2697 | "MIT"
2698 | ],
2699 | "authors": [
2700 | {
2701 | "name": "Fabien Potencier",
2702 | "email": "fabien@symfony.com"
2703 | },
2704 | {
2705 | "name": "Symfony Community",
2706 | "homepage": "https://symfony.com/contributors"
2707 | }
2708 | ],
2709 | "description": "Symfony Process Component",
2710 | "homepage": "https://symfony.com",
2711 | "time": "2016-08-16 14:58:24"
2712 | },
2713 | {
2714 | "name": "symfony/routing",
2715 | "version": "v3.1.4",
2716 | "source": {
2717 | "type": "git",
2718 | "url": "https://github.com/symfony/routing.git",
2719 | "reference": "8edf62498a1a4c57ba317664a4b698339c10cdf6"
2720 | },
2721 | "dist": {
2722 | "type": "zip",
2723 | "url": "https://api.github.com/repos/symfony/routing/zipball/8edf62498a1a4c57ba317664a4b698339c10cdf6",
2724 | "reference": "8edf62498a1a4c57ba317664a4b698339c10cdf6",
2725 | "shasum": ""
2726 | },
2727 | "require": {
2728 | "php": ">=5.5.9"
2729 | },
2730 | "conflict": {
2731 | "symfony/config": "<2.8"
2732 | },
2733 | "require-dev": {
2734 | "doctrine/annotations": "~1.0",
2735 | "doctrine/common": "~2.2",
2736 | "psr/log": "~1.0",
2737 | "symfony/config": "~2.8|~3.0",
2738 | "symfony/expression-language": "~2.8|~3.0",
2739 | "symfony/http-foundation": "~2.8|~3.0",
2740 | "symfony/yaml": "~2.8|~3.0"
2741 | },
2742 | "suggest": {
2743 | "doctrine/annotations": "For using the annotation loader",
2744 | "symfony/config": "For using the all-in-one router or any loader",
2745 | "symfony/dependency-injection": "For loading routes from a service",
2746 | "symfony/expression-language": "For using expression matching",
2747 | "symfony/http-foundation": "For using a Symfony Request object",
2748 | "symfony/yaml": "For using the YAML loader"
2749 | },
2750 | "type": "library",
2751 | "extra": {
2752 | "branch-alias": {
2753 | "dev-master": "3.1-dev"
2754 | }
2755 | },
2756 | "autoload": {
2757 | "psr-4": {
2758 | "Symfony\\Component\\Routing\\": ""
2759 | },
2760 | "exclude-from-classmap": [
2761 | "/Tests/"
2762 | ]
2763 | },
2764 | "notification-url": "https://packagist.org/downloads/",
2765 | "license": [
2766 | "MIT"
2767 | ],
2768 | "authors": [
2769 | {
2770 | "name": "Fabien Potencier",
2771 | "email": "fabien@symfony.com"
2772 | },
2773 | {
2774 | "name": "Symfony Community",
2775 | "homepage": "https://symfony.com/contributors"
2776 | }
2777 | ],
2778 | "description": "Symfony Routing Component",
2779 | "homepage": "https://symfony.com",
2780 | "keywords": [
2781 | "router",
2782 | "routing",
2783 | "uri",
2784 | "url"
2785 | ],
2786 | "time": "2016-08-16 14:58:24"
2787 | },
2788 | {
2789 | "name": "symfony/translation",
2790 | "version": "v3.1.4",
2791 | "source": {
2792 | "type": "git",
2793 | "url": "https://github.com/symfony/translation.git",
2794 | "reference": "a35edc277513c9bc0f063ca174c36b346f974528"
2795 | },
2796 | "dist": {
2797 | "type": "zip",
2798 | "url": "https://api.github.com/repos/symfony/translation/zipball/a35edc277513c9bc0f063ca174c36b346f974528",
2799 | "reference": "a35edc277513c9bc0f063ca174c36b346f974528",
2800 | "shasum": ""
2801 | },
2802 | "require": {
2803 | "php": ">=5.5.9",
2804 | "symfony/polyfill-mbstring": "~1.0"
2805 | },
2806 | "conflict": {
2807 | "symfony/config": "<2.8"
2808 | },
2809 | "require-dev": {
2810 | "psr/log": "~1.0",
2811 | "symfony/config": "~2.8|~3.0",
2812 | "symfony/intl": "~2.8|~3.0",
2813 | "symfony/yaml": "~2.8|~3.0"
2814 | },
2815 | "suggest": {
2816 | "psr/log": "To use logging capability in translator",
2817 | "symfony/config": "",
2818 | "symfony/yaml": ""
2819 | },
2820 | "type": "library",
2821 | "extra": {
2822 | "branch-alias": {
2823 | "dev-master": "3.1-dev"
2824 | }
2825 | },
2826 | "autoload": {
2827 | "psr-4": {
2828 | "Symfony\\Component\\Translation\\": ""
2829 | },
2830 | "exclude-from-classmap": [
2831 | "/Tests/"
2832 | ]
2833 | },
2834 | "notification-url": "https://packagist.org/downloads/",
2835 | "license": [
2836 | "MIT"
2837 | ],
2838 | "authors": [
2839 | {
2840 | "name": "Fabien Potencier",
2841 | "email": "fabien@symfony.com"
2842 | },
2843 | {
2844 | "name": "Symfony Community",
2845 | "homepage": "https://symfony.com/contributors"
2846 | }
2847 | ],
2848 | "description": "Symfony Translation Component",
2849 | "homepage": "https://symfony.com",
2850 | "time": "2016-08-05 08:37:39"
2851 | },
2852 | {
2853 | "name": "tymon/jwt-auth",
2854 | "version": "dev-master",
2855 | "source": {
2856 | "type": "git",
2857 | "url": "https://github.com/tymondesigns/jwt-auth.git",
2858 | "reference": "c153d85"
2859 | },
2860 | "dist": {
2861 | "type": "zip",
2862 | "url": "https://api.github.com/repos/tymondesigns/jwt-auth/zipball/c153d85",
2863 | "reference": "c153d85",
2864 | "shasum": ""
2865 | },
2866 | "require": {
2867 | "illuminate/http": "~5.0",
2868 | "illuminate/support": "~5.0",
2869 | "namshi/jose": "5.0.*",
2870 | "nesbot/carbon": "~1.0",
2871 | "php": ">=5.4.0"
2872 | },
2873 | "require-dev": {
2874 | "illuminate/auth": "~5.0",
2875 | "illuminate/console": "~5.0",
2876 | "illuminate/database": "~5.0",
2877 | "mockery/mockery": "0.9.*",
2878 | "phpunit/phpunit": "4.*"
2879 | },
2880 | "type": "library",
2881 | "extra": {
2882 | "branch-alias": {
2883 | "dev-develop": "0.5-dev"
2884 | }
2885 | },
2886 | "autoload": {
2887 | "psr-4": {
2888 | "Tymon\\JWTAuth\\": "src"
2889 | }
2890 | },
2891 | "notification-url": "https://packagist.org/downloads/",
2892 | "license": [
2893 | "MIT"
2894 | ],
2895 | "authors": [
2896 | {
2897 | "name": "Sean Tymon",
2898 | "email": "tymon148@gmail.com",
2899 | "homepage": "http://tymondesigns.com",
2900 | "role": "Developer"
2901 | }
2902 | ],
2903 | "description": "JSON Web Token Authentication for Laravel 4 and 5",
2904 | "homepage": "https://github.com/tymondesigns/jwt-auth",
2905 | "keywords": [
2906 | "Authentication",
2907 | "JSON Web Token",
2908 | "auth",
2909 | "jwt",
2910 | "laravel",
2911 | "tymon"
2912 | ],
2913 | "time": "2016-09-05 09:04:33"
2914 | },
2915 | {
2916 | "name": "vlucas/phpdotenv",
2917 | "version": "v2.4.0",
2918 | "source": {
2919 | "type": "git",
2920 | "url": "https://github.com/vlucas/phpdotenv.git",
2921 | "reference": "3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c"
2922 | },
2923 | "dist": {
2924 | "type": "zip",
2925 | "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c",
2926 | "reference": "3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c",
2927 | "shasum": ""
2928 | },
2929 | "require": {
2930 | "php": ">=5.3.9"
2931 | },
2932 | "require-dev": {
2933 | "phpunit/phpunit": "^4.8 || ^5.0"
2934 | },
2935 | "type": "library",
2936 | "extra": {
2937 | "branch-alias": {
2938 | "dev-master": "2.4-dev"
2939 | }
2940 | },
2941 | "autoload": {
2942 | "psr-4": {
2943 | "Dotenv\\": "src/"
2944 | }
2945 | },
2946 | "notification-url": "https://packagist.org/downloads/",
2947 | "license": [
2948 | "BSD-3-Clause-Attribution"
2949 | ],
2950 | "authors": [
2951 | {
2952 | "name": "Vance Lucas",
2953 | "email": "vance@vancelucas.com",
2954 | "homepage": "http://www.vancelucas.com"
2955 | }
2956 | ],
2957 | "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.",
2958 | "keywords": [
2959 | "dotenv",
2960 | "env",
2961 | "environment"
2962 | ],
2963 | "time": "2016-09-01 10:05:43"
2964 | },
2965 | {
2966 | "name": "webmozart/assert",
2967 | "version": "1.1.0",
2968 | "source": {
2969 | "type": "git",
2970 | "url": "https://github.com/webmozart/assert.git",
2971 | "reference": "bb2d123231c095735130cc8f6d31385a44c7b308"
2972 | },
2973 | "dist": {
2974 | "type": "zip",
2975 | "url": "https://api.github.com/repos/webmozart/assert/zipball/bb2d123231c095735130cc8f6d31385a44c7b308",
2976 | "reference": "bb2d123231c095735130cc8f6d31385a44c7b308",
2977 | "shasum": ""
2978 | },
2979 | "require": {
2980 | "php": "^5.3.3|^7.0"
2981 | },
2982 | "require-dev": {
2983 | "phpunit/phpunit": "^4.6",
2984 | "sebastian/version": "^1.0.1"
2985 | },
2986 | "type": "library",
2987 | "extra": {
2988 | "branch-alias": {
2989 | "dev-master": "1.2-dev"
2990 | }
2991 | },
2992 | "autoload": {
2993 | "psr-4": {
2994 | "Webmozart\\Assert\\": "src/"
2995 | }
2996 | },
2997 | "notification-url": "https://packagist.org/downloads/",
2998 | "license": [
2999 | "MIT"
3000 | ],
3001 | "authors": [
3002 | {
3003 | "name": "Bernhard Schussek",
3004 | "email": "bschussek@gmail.com"
3005 | }
3006 | ],
3007 | "description": "Assertions to validate method input/output with nice error messages.",
3008 | "keywords": [
3009 | "assert",
3010 | "check",
3011 | "validate"
3012 | ],
3013 | "time": "2016-08-09 15:02:57"
3014 | }
3015 | ],
3016 | "packages-dev": [
3017 | {
3018 | "name": "doctrine/instantiator",
3019 | "version": "1.0.5",
3020 | "source": {
3021 | "type": "git",
3022 | "url": "https://github.com/doctrine/instantiator.git",
3023 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
3024 | },
3025 | "dist": {
3026 | "type": "zip",
3027 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
3028 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
3029 | "shasum": ""
3030 | },
3031 | "require": {
3032 | "php": ">=5.3,<8.0-DEV"
3033 | },
3034 | "require-dev": {
3035 | "athletic/athletic": "~0.1.8",
3036 | "ext-pdo": "*",
3037 | "ext-phar": "*",
3038 | "phpunit/phpunit": "~4.0",
3039 | "squizlabs/php_codesniffer": "~2.0"
3040 | },
3041 | "type": "library",
3042 | "extra": {
3043 | "branch-alias": {
3044 | "dev-master": "1.0.x-dev"
3045 | }
3046 | },
3047 | "autoload": {
3048 | "psr-4": {
3049 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
3050 | }
3051 | },
3052 | "notification-url": "https://packagist.org/downloads/",
3053 | "license": [
3054 | "MIT"
3055 | ],
3056 | "authors": [
3057 | {
3058 | "name": "Marco Pivetta",
3059 | "email": "ocramius@gmail.com",
3060 | "homepage": "http://ocramius.github.com/"
3061 | }
3062 | ],
3063 | "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
3064 | "homepage": "https://github.com/doctrine/instantiator",
3065 | "keywords": [
3066 | "constructor",
3067 | "instantiate"
3068 | ],
3069 | "time": "2015-06-14 21:17:01"
3070 | },
3071 | {
3072 | "name": "fzaninotto/faker",
3073 | "version": "v1.6.0",
3074 | "source": {
3075 | "type": "git",
3076 | "url": "https://github.com/fzaninotto/Faker.git",
3077 | "reference": "44f9a286a04b80c76a4e5fb7aad8bb539b920123"
3078 | },
3079 | "dist": {
3080 | "type": "zip",
3081 | "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/44f9a286a04b80c76a4e5fb7aad8bb539b920123",
3082 | "reference": "44f9a286a04b80c76a4e5fb7aad8bb539b920123",
3083 | "shasum": ""
3084 | },
3085 | "require": {
3086 | "php": "^5.3.3|^7.0"
3087 | },
3088 | "require-dev": {
3089 | "ext-intl": "*",
3090 | "phpunit/phpunit": "~4.0",
3091 | "squizlabs/php_codesniffer": "~1.5"
3092 | },
3093 | "type": "library",
3094 | "extra": {
3095 | "branch-alias": []
3096 | },
3097 | "autoload": {
3098 | "psr-4": {
3099 | "Faker\\": "src/Faker/"
3100 | }
3101 | },
3102 | "notification-url": "https://packagist.org/downloads/",
3103 | "license": [
3104 | "MIT"
3105 | ],
3106 | "authors": [
3107 | {
3108 | "name": "François Zaninotto"
3109 | }
3110 | ],
3111 | "description": "Faker is a PHP library that generates fake data for you.",
3112 | "keywords": [
3113 | "data",
3114 | "faker",
3115 | "fixtures"
3116 | ],
3117 | "time": "2016-04-29 12:21:54"
3118 | },
3119 | {
3120 | "name": "phpspec/prophecy",
3121 | "version": "v1.6.1",
3122 | "source": {
3123 | "type": "git",
3124 | "url": "https://github.com/phpspec/prophecy.git",
3125 | "reference": "58a8137754bc24b25740d4281399a4a3596058e0"
3126 | },
3127 | "dist": {
3128 | "type": "zip",
3129 | "url": "https://api.github.com/repos/phpspec/prophecy/zipball/58a8137754bc24b25740d4281399a4a3596058e0",
3130 | "reference": "58a8137754bc24b25740d4281399a4a3596058e0",
3131 | "shasum": ""
3132 | },
3133 | "require": {
3134 | "doctrine/instantiator": "^1.0.2",
3135 | "php": "^5.3|^7.0",
3136 | "phpdocumentor/reflection-docblock": "^2.0|^3.0.2",
3137 | "sebastian/comparator": "^1.1",
3138 | "sebastian/recursion-context": "^1.0"
3139 | },
3140 | "require-dev": {
3141 | "phpspec/phpspec": "^2.0"
3142 | },
3143 | "type": "library",
3144 | "extra": {
3145 | "branch-alias": {
3146 | "dev-master": "1.6.x-dev"
3147 | }
3148 | },
3149 | "autoload": {
3150 | "psr-0": {
3151 | "Prophecy\\": "src/"
3152 | }
3153 | },
3154 | "notification-url": "https://packagist.org/downloads/",
3155 | "license": [
3156 | "MIT"
3157 | ],
3158 | "authors": [
3159 | {
3160 | "name": "Konstantin Kudryashov",
3161 | "email": "ever.zet@gmail.com",
3162 | "homepage": "http://everzet.com"
3163 | },
3164 | {
3165 | "name": "Marcello Duarte",
3166 | "email": "marcello.duarte@gmail.com"
3167 | }
3168 | ],
3169 | "description": "Highly opinionated mocking framework for PHP 5.3+",
3170 | "homepage": "https://github.com/phpspec/prophecy",
3171 | "keywords": [
3172 | "Double",
3173 | "Dummy",
3174 | "fake",
3175 | "mock",
3176 | "spy",
3177 | "stub"
3178 | ],
3179 | "time": "2016-06-07 08:13:47"
3180 | },
3181 | {
3182 | "name": "phpunit/php-code-coverage",
3183 | "version": "2.2.4",
3184 | "source": {
3185 | "type": "git",
3186 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
3187 | "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979"
3188 | },
3189 | "dist": {
3190 | "type": "zip",
3191 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979",
3192 | "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979",
3193 | "shasum": ""
3194 | },
3195 | "require": {
3196 | "php": ">=5.3.3",
3197 | "phpunit/php-file-iterator": "~1.3",
3198 | "phpunit/php-text-template": "~1.2",
3199 | "phpunit/php-token-stream": "~1.3",
3200 | "sebastian/environment": "^1.3.2",
3201 | "sebastian/version": "~1.0"
3202 | },
3203 | "require-dev": {
3204 | "ext-xdebug": ">=2.1.4",
3205 | "phpunit/phpunit": "~4"
3206 | },
3207 | "suggest": {
3208 | "ext-dom": "*",
3209 | "ext-xdebug": ">=2.2.1",
3210 | "ext-xmlwriter": "*"
3211 | },
3212 | "type": "library",
3213 | "extra": {
3214 | "branch-alias": {
3215 | "dev-master": "2.2.x-dev"
3216 | }
3217 | },
3218 | "autoload": {
3219 | "classmap": [
3220 | "src/"
3221 | ]
3222 | },
3223 | "notification-url": "https://packagist.org/downloads/",
3224 | "license": [
3225 | "BSD-3-Clause"
3226 | ],
3227 | "authors": [
3228 | {
3229 | "name": "Sebastian Bergmann",
3230 | "email": "sb@sebastian-bergmann.de",
3231 | "role": "lead"
3232 | }
3233 | ],
3234 | "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
3235 | "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
3236 | "keywords": [
3237 | "coverage",
3238 | "testing",
3239 | "xunit"
3240 | ],
3241 | "time": "2015-10-06 15:47:00"
3242 | },
3243 | {
3244 | "name": "phpunit/php-file-iterator",
3245 | "version": "1.4.1",
3246 | "source": {
3247 | "type": "git",
3248 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
3249 | "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0"
3250 | },
3251 | "dist": {
3252 | "type": "zip",
3253 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0",
3254 | "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0",
3255 | "shasum": ""
3256 | },
3257 | "require": {
3258 | "php": ">=5.3.3"
3259 | },
3260 | "type": "library",
3261 | "extra": {
3262 | "branch-alias": {
3263 | "dev-master": "1.4.x-dev"
3264 | }
3265 | },
3266 | "autoload": {
3267 | "classmap": [
3268 | "src/"
3269 | ]
3270 | },
3271 | "notification-url": "https://packagist.org/downloads/",
3272 | "license": [
3273 | "BSD-3-Clause"
3274 | ],
3275 | "authors": [
3276 | {
3277 | "name": "Sebastian Bergmann",
3278 | "email": "sb@sebastian-bergmann.de",
3279 | "role": "lead"
3280 | }
3281 | ],
3282 | "description": "FilterIterator implementation that filters files based on a list of suffixes.",
3283 | "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
3284 | "keywords": [
3285 | "filesystem",
3286 | "iterator"
3287 | ],
3288 | "time": "2015-06-21 13:08:43"
3289 | },
3290 | {
3291 | "name": "phpunit/php-text-template",
3292 | "version": "1.2.1",
3293 | "source": {
3294 | "type": "git",
3295 | "url": "https://github.com/sebastianbergmann/php-text-template.git",
3296 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
3297 | },
3298 | "dist": {
3299 | "type": "zip",
3300 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
3301 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
3302 | "shasum": ""
3303 | },
3304 | "require": {
3305 | "php": ">=5.3.3"
3306 | },
3307 | "type": "library",
3308 | "autoload": {
3309 | "classmap": [
3310 | "src/"
3311 | ]
3312 | },
3313 | "notification-url": "https://packagist.org/downloads/",
3314 | "license": [
3315 | "BSD-3-Clause"
3316 | ],
3317 | "authors": [
3318 | {
3319 | "name": "Sebastian Bergmann",
3320 | "email": "sebastian@phpunit.de",
3321 | "role": "lead"
3322 | }
3323 | ],
3324 | "description": "Simple template engine.",
3325 | "homepage": "https://github.com/sebastianbergmann/php-text-template/",
3326 | "keywords": [
3327 | "template"
3328 | ],
3329 | "time": "2015-06-21 13:50:34"
3330 | },
3331 | {
3332 | "name": "phpunit/php-timer",
3333 | "version": "1.0.8",
3334 | "source": {
3335 | "type": "git",
3336 | "url": "https://github.com/sebastianbergmann/php-timer.git",
3337 | "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260"
3338 | },
3339 | "dist": {
3340 | "type": "zip",
3341 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/38e9124049cf1a164f1e4537caf19c99bf1eb260",
3342 | "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260",
3343 | "shasum": ""
3344 | },
3345 | "require": {
3346 | "php": ">=5.3.3"
3347 | },
3348 | "require-dev": {
3349 | "phpunit/phpunit": "~4|~5"
3350 | },
3351 | "type": "library",
3352 | "autoload": {
3353 | "classmap": [
3354 | "src/"
3355 | ]
3356 | },
3357 | "notification-url": "https://packagist.org/downloads/",
3358 | "license": [
3359 | "BSD-3-Clause"
3360 | ],
3361 | "authors": [
3362 | {
3363 | "name": "Sebastian Bergmann",
3364 | "email": "sb@sebastian-bergmann.de",
3365 | "role": "lead"
3366 | }
3367 | ],
3368 | "description": "Utility class for timing",
3369 | "homepage": "https://github.com/sebastianbergmann/php-timer/",
3370 | "keywords": [
3371 | "timer"
3372 | ],
3373 | "time": "2016-05-12 18:03:57"
3374 | },
3375 | {
3376 | "name": "phpunit/php-token-stream",
3377 | "version": "1.4.8",
3378 | "source": {
3379 | "type": "git",
3380 | "url": "https://github.com/sebastianbergmann/php-token-stream.git",
3381 | "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da"
3382 | },
3383 | "dist": {
3384 | "type": "zip",
3385 | "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da",
3386 | "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da",
3387 | "shasum": ""
3388 | },
3389 | "require": {
3390 | "ext-tokenizer": "*",
3391 | "php": ">=5.3.3"
3392 | },
3393 | "require-dev": {
3394 | "phpunit/phpunit": "~4.2"
3395 | },
3396 | "type": "library",
3397 | "extra": {
3398 | "branch-alias": {
3399 | "dev-master": "1.4-dev"
3400 | }
3401 | },
3402 | "autoload": {
3403 | "classmap": [
3404 | "src/"
3405 | ]
3406 | },
3407 | "notification-url": "https://packagist.org/downloads/",
3408 | "license": [
3409 | "BSD-3-Clause"
3410 | ],
3411 | "authors": [
3412 | {
3413 | "name": "Sebastian Bergmann",
3414 | "email": "sebastian@phpunit.de"
3415 | }
3416 | ],
3417 | "description": "Wrapper around PHP's tokenizer extension.",
3418 | "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
3419 | "keywords": [
3420 | "tokenizer"
3421 | ],
3422 | "time": "2015-09-15 10:49:45"
3423 | },
3424 | {
3425 | "name": "phpunit/phpunit",
3426 | "version": "4.8.27",
3427 | "source": {
3428 | "type": "git",
3429 | "url": "https://github.com/sebastianbergmann/phpunit.git",
3430 | "reference": "c062dddcb68e44b563f66ee319ddae2b5a322a90"
3431 | },
3432 | "dist": {
3433 | "type": "zip",
3434 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c062dddcb68e44b563f66ee319ddae2b5a322a90",
3435 | "reference": "c062dddcb68e44b563f66ee319ddae2b5a322a90",
3436 | "shasum": ""
3437 | },
3438 | "require": {
3439 | "ext-dom": "*",
3440 | "ext-json": "*",
3441 | "ext-pcre": "*",
3442 | "ext-reflection": "*",
3443 | "ext-spl": "*",
3444 | "php": ">=5.3.3",
3445 | "phpspec/prophecy": "^1.3.1",
3446 | "phpunit/php-code-coverage": "~2.1",
3447 | "phpunit/php-file-iterator": "~1.4",
3448 | "phpunit/php-text-template": "~1.2",
3449 | "phpunit/php-timer": "^1.0.6",
3450 | "phpunit/phpunit-mock-objects": "~2.3",
3451 | "sebastian/comparator": "~1.1",
3452 | "sebastian/diff": "~1.2",
3453 | "sebastian/environment": "~1.3",
3454 | "sebastian/exporter": "~1.2",
3455 | "sebastian/global-state": "~1.0",
3456 | "sebastian/version": "~1.0",
3457 | "symfony/yaml": "~2.1|~3.0"
3458 | },
3459 | "suggest": {
3460 | "phpunit/php-invoker": "~1.1"
3461 | },
3462 | "bin": [
3463 | "phpunit"
3464 | ],
3465 | "type": "library",
3466 | "extra": {
3467 | "branch-alias": {
3468 | "dev-master": "4.8.x-dev"
3469 | }
3470 | },
3471 | "autoload": {
3472 | "classmap": [
3473 | "src/"
3474 | ]
3475 | },
3476 | "notification-url": "https://packagist.org/downloads/",
3477 | "license": [
3478 | "BSD-3-Clause"
3479 | ],
3480 | "authors": [
3481 | {
3482 | "name": "Sebastian Bergmann",
3483 | "email": "sebastian@phpunit.de",
3484 | "role": "lead"
3485 | }
3486 | ],
3487 | "description": "The PHP Unit Testing framework.",
3488 | "homepage": "https://phpunit.de/",
3489 | "keywords": [
3490 | "phpunit",
3491 | "testing",
3492 | "xunit"
3493 | ],
3494 | "time": "2016-07-21 06:48:14"
3495 | },
3496 | {
3497 | "name": "phpunit/phpunit-mock-objects",
3498 | "version": "2.3.8",
3499 | "source": {
3500 | "type": "git",
3501 | "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
3502 | "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983"
3503 | },
3504 | "dist": {
3505 | "type": "zip",
3506 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983",
3507 | "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983",
3508 | "shasum": ""
3509 | },
3510 | "require": {
3511 | "doctrine/instantiator": "^1.0.2",
3512 | "php": ">=5.3.3",
3513 | "phpunit/php-text-template": "~1.2",
3514 | "sebastian/exporter": "~1.2"
3515 | },
3516 | "require-dev": {
3517 | "phpunit/phpunit": "~4.4"
3518 | },
3519 | "suggest": {
3520 | "ext-soap": "*"
3521 | },
3522 | "type": "library",
3523 | "extra": {
3524 | "branch-alias": {
3525 | "dev-master": "2.3.x-dev"
3526 | }
3527 | },
3528 | "autoload": {
3529 | "classmap": [
3530 | "src/"
3531 | ]
3532 | },
3533 | "notification-url": "https://packagist.org/downloads/",
3534 | "license": [
3535 | "BSD-3-Clause"
3536 | ],
3537 | "authors": [
3538 | {
3539 | "name": "Sebastian Bergmann",
3540 | "email": "sb@sebastian-bergmann.de",
3541 | "role": "lead"
3542 | }
3543 | ],
3544 | "description": "Mock Object library for PHPUnit",
3545 | "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
3546 | "keywords": [
3547 | "mock",
3548 | "xunit"
3549 | ],
3550 | "time": "2015-10-02 06:51:40"
3551 | },
3552 | {
3553 | "name": "sebastian/comparator",
3554 | "version": "1.2.0",
3555 | "source": {
3556 | "type": "git",
3557 | "url": "https://github.com/sebastianbergmann/comparator.git",
3558 | "reference": "937efb279bd37a375bcadf584dec0726f84dbf22"
3559 | },
3560 | "dist": {
3561 | "type": "zip",
3562 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22",
3563 | "reference": "937efb279bd37a375bcadf584dec0726f84dbf22",
3564 | "shasum": ""
3565 | },
3566 | "require": {
3567 | "php": ">=5.3.3",
3568 | "sebastian/diff": "~1.2",
3569 | "sebastian/exporter": "~1.2"
3570 | },
3571 | "require-dev": {
3572 | "phpunit/phpunit": "~4.4"
3573 | },
3574 | "type": "library",
3575 | "extra": {
3576 | "branch-alias": {
3577 | "dev-master": "1.2.x-dev"
3578 | }
3579 | },
3580 | "autoload": {
3581 | "classmap": [
3582 | "src/"
3583 | ]
3584 | },
3585 | "notification-url": "https://packagist.org/downloads/",
3586 | "license": [
3587 | "BSD-3-Clause"
3588 | ],
3589 | "authors": [
3590 | {
3591 | "name": "Jeff Welch",
3592 | "email": "whatthejeff@gmail.com"
3593 | },
3594 | {
3595 | "name": "Volker Dusch",
3596 | "email": "github@wallbash.com"
3597 | },
3598 | {
3599 | "name": "Bernhard Schussek",
3600 | "email": "bschussek@2bepublished.at"
3601 | },
3602 | {
3603 | "name": "Sebastian Bergmann",
3604 | "email": "sebastian@phpunit.de"
3605 | }
3606 | ],
3607 | "description": "Provides the functionality to compare PHP values for equality",
3608 | "homepage": "http://www.github.com/sebastianbergmann/comparator",
3609 | "keywords": [
3610 | "comparator",
3611 | "compare",
3612 | "equality"
3613 | ],
3614 | "time": "2015-07-26 15:48:44"
3615 | },
3616 | {
3617 | "name": "sebastian/diff",
3618 | "version": "1.4.1",
3619 | "source": {
3620 | "type": "git",
3621 | "url": "https://github.com/sebastianbergmann/diff.git",
3622 | "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e"
3623 | },
3624 | "dist": {
3625 | "type": "zip",
3626 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e",
3627 | "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e",
3628 | "shasum": ""
3629 | },
3630 | "require": {
3631 | "php": ">=5.3.3"
3632 | },
3633 | "require-dev": {
3634 | "phpunit/phpunit": "~4.8"
3635 | },
3636 | "type": "library",
3637 | "extra": {
3638 | "branch-alias": {
3639 | "dev-master": "1.4-dev"
3640 | }
3641 | },
3642 | "autoload": {
3643 | "classmap": [
3644 | "src/"
3645 | ]
3646 | },
3647 | "notification-url": "https://packagist.org/downloads/",
3648 | "license": [
3649 | "BSD-3-Clause"
3650 | ],
3651 | "authors": [
3652 | {
3653 | "name": "Kore Nordmann",
3654 | "email": "mail@kore-nordmann.de"
3655 | },
3656 | {
3657 | "name": "Sebastian Bergmann",
3658 | "email": "sebastian@phpunit.de"
3659 | }
3660 | ],
3661 | "description": "Diff implementation",
3662 | "homepage": "https://github.com/sebastianbergmann/diff",
3663 | "keywords": [
3664 | "diff"
3665 | ],
3666 | "time": "2015-12-08 07:14:41"
3667 | },
3668 | {
3669 | "name": "sebastian/environment",
3670 | "version": "1.3.8",
3671 | "source": {
3672 | "type": "git",
3673 | "url": "https://github.com/sebastianbergmann/environment.git",
3674 | "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea"
3675 | },
3676 | "dist": {
3677 | "type": "zip",
3678 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea",
3679 | "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea",
3680 | "shasum": ""
3681 | },
3682 | "require": {
3683 | "php": "^5.3.3 || ^7.0"
3684 | },
3685 | "require-dev": {
3686 | "phpunit/phpunit": "^4.8 || ^5.0"
3687 | },
3688 | "type": "library",
3689 | "extra": {
3690 | "branch-alias": {
3691 | "dev-master": "1.3.x-dev"
3692 | }
3693 | },
3694 | "autoload": {
3695 | "classmap": [
3696 | "src/"
3697 | ]
3698 | },
3699 | "notification-url": "https://packagist.org/downloads/",
3700 | "license": [
3701 | "BSD-3-Clause"
3702 | ],
3703 | "authors": [
3704 | {
3705 | "name": "Sebastian Bergmann",
3706 | "email": "sebastian@phpunit.de"
3707 | }
3708 | ],
3709 | "description": "Provides functionality to handle HHVM/PHP environments",
3710 | "homepage": "http://www.github.com/sebastianbergmann/environment",
3711 | "keywords": [
3712 | "Xdebug",
3713 | "environment",
3714 | "hhvm"
3715 | ],
3716 | "time": "2016-08-18 05:49:44"
3717 | },
3718 | {
3719 | "name": "sebastian/exporter",
3720 | "version": "1.2.2",
3721 | "source": {
3722 | "type": "git",
3723 | "url": "https://github.com/sebastianbergmann/exporter.git",
3724 | "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4"
3725 | },
3726 | "dist": {
3727 | "type": "zip",
3728 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4",
3729 | "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4",
3730 | "shasum": ""
3731 | },
3732 | "require": {
3733 | "php": ">=5.3.3",
3734 | "sebastian/recursion-context": "~1.0"
3735 | },
3736 | "require-dev": {
3737 | "ext-mbstring": "*",
3738 | "phpunit/phpunit": "~4.4"
3739 | },
3740 | "type": "library",
3741 | "extra": {
3742 | "branch-alias": {
3743 | "dev-master": "1.3.x-dev"
3744 | }
3745 | },
3746 | "autoload": {
3747 | "classmap": [
3748 | "src/"
3749 | ]
3750 | },
3751 | "notification-url": "https://packagist.org/downloads/",
3752 | "license": [
3753 | "BSD-3-Clause"
3754 | ],
3755 | "authors": [
3756 | {
3757 | "name": "Jeff Welch",
3758 | "email": "whatthejeff@gmail.com"
3759 | },
3760 | {
3761 | "name": "Volker Dusch",
3762 | "email": "github@wallbash.com"
3763 | },
3764 | {
3765 | "name": "Bernhard Schussek",
3766 | "email": "bschussek@2bepublished.at"
3767 | },
3768 | {
3769 | "name": "Sebastian Bergmann",
3770 | "email": "sebastian@phpunit.de"
3771 | },
3772 | {
3773 | "name": "Adam Harvey",
3774 | "email": "aharvey@php.net"
3775 | }
3776 | ],
3777 | "description": "Provides the functionality to export PHP variables for visualization",
3778 | "homepage": "http://www.github.com/sebastianbergmann/exporter",
3779 | "keywords": [
3780 | "export",
3781 | "exporter"
3782 | ],
3783 | "time": "2016-06-17 09:04:28"
3784 | },
3785 | {
3786 | "name": "sebastian/global-state",
3787 | "version": "1.1.1",
3788 | "source": {
3789 | "type": "git",
3790 | "url": "https://github.com/sebastianbergmann/global-state.git",
3791 | "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4"
3792 | },
3793 | "dist": {
3794 | "type": "zip",
3795 | "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4",
3796 | "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4",
3797 | "shasum": ""
3798 | },
3799 | "require": {
3800 | "php": ">=5.3.3"
3801 | },
3802 | "require-dev": {
3803 | "phpunit/phpunit": "~4.2"
3804 | },
3805 | "suggest": {
3806 | "ext-uopz": "*"
3807 | },
3808 | "type": "library",
3809 | "extra": {
3810 | "branch-alias": {
3811 | "dev-master": "1.0-dev"
3812 | }
3813 | },
3814 | "autoload": {
3815 | "classmap": [
3816 | "src/"
3817 | ]
3818 | },
3819 | "notification-url": "https://packagist.org/downloads/",
3820 | "license": [
3821 | "BSD-3-Clause"
3822 | ],
3823 | "authors": [
3824 | {
3825 | "name": "Sebastian Bergmann",
3826 | "email": "sebastian@phpunit.de"
3827 | }
3828 | ],
3829 | "description": "Snapshotting of global state",
3830 | "homepage": "http://www.github.com/sebastianbergmann/global-state",
3831 | "keywords": [
3832 | "global state"
3833 | ],
3834 | "time": "2015-10-12 03:26:01"
3835 | },
3836 | {
3837 | "name": "sebastian/recursion-context",
3838 | "version": "1.0.2",
3839 | "source": {
3840 | "type": "git",
3841 | "url": "https://github.com/sebastianbergmann/recursion-context.git",
3842 | "reference": "913401df809e99e4f47b27cdd781f4a258d58791"
3843 | },
3844 | "dist": {
3845 | "type": "zip",
3846 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/913401df809e99e4f47b27cdd781f4a258d58791",
3847 | "reference": "913401df809e99e4f47b27cdd781f4a258d58791",
3848 | "shasum": ""
3849 | },
3850 | "require": {
3851 | "php": ">=5.3.3"
3852 | },
3853 | "require-dev": {
3854 | "phpunit/phpunit": "~4.4"
3855 | },
3856 | "type": "library",
3857 | "extra": {
3858 | "branch-alias": {
3859 | "dev-master": "1.0.x-dev"
3860 | }
3861 | },
3862 | "autoload": {
3863 | "classmap": [
3864 | "src/"
3865 | ]
3866 | },
3867 | "notification-url": "https://packagist.org/downloads/",
3868 | "license": [
3869 | "BSD-3-Clause"
3870 | ],
3871 | "authors": [
3872 | {
3873 | "name": "Jeff Welch",
3874 | "email": "whatthejeff@gmail.com"
3875 | },
3876 | {
3877 | "name": "Sebastian Bergmann",
3878 | "email": "sebastian@phpunit.de"
3879 | },
3880 | {
3881 | "name": "Adam Harvey",
3882 | "email": "aharvey@php.net"
3883 | }
3884 | ],
3885 | "description": "Provides functionality to recursively process PHP variables",
3886 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
3887 | "time": "2015-11-11 19:50:13"
3888 | },
3889 | {
3890 | "name": "sebastian/version",
3891 | "version": "1.0.6",
3892 | "source": {
3893 | "type": "git",
3894 | "url": "https://github.com/sebastianbergmann/version.git",
3895 | "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"
3896 | },
3897 | "dist": {
3898 | "type": "zip",
3899 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
3900 | "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
3901 | "shasum": ""
3902 | },
3903 | "type": "library",
3904 | "autoload": {
3905 | "classmap": [
3906 | "src/"
3907 | ]
3908 | },
3909 | "notification-url": "https://packagist.org/downloads/",
3910 | "license": [
3911 | "BSD-3-Clause"
3912 | ],
3913 | "authors": [
3914 | {
3915 | "name": "Sebastian Bergmann",
3916 | "email": "sebastian@phpunit.de",
3917 | "role": "lead"
3918 | }
3919 | ],
3920 | "description": "Library that helps with managing the version number of Git-hosted PHP projects",
3921 | "homepage": "https://github.com/sebastianbergmann/version",
3922 | "time": "2015-06-21 13:59:46"
3923 | },
3924 | {
3925 | "name": "symfony/yaml",
3926 | "version": "v3.1.4",
3927 | "source": {
3928 | "type": "git",
3929 | "url": "https://github.com/symfony/yaml.git",
3930 | "reference": "f291ed25eb1435bddbe8a96caaef16469c2a092d"
3931 | },
3932 | "dist": {
3933 | "type": "zip",
3934 | "url": "https://api.github.com/repos/symfony/yaml/zipball/f291ed25eb1435bddbe8a96caaef16469c2a092d",
3935 | "reference": "f291ed25eb1435bddbe8a96caaef16469c2a092d",
3936 | "shasum": ""
3937 | },
3938 | "require": {
3939 | "php": ">=5.5.9"
3940 | },
3941 | "type": "library",
3942 | "extra": {
3943 | "branch-alias": {
3944 | "dev-master": "3.1-dev"
3945 | }
3946 | },
3947 | "autoload": {
3948 | "psr-4": {
3949 | "Symfony\\Component\\Yaml\\": ""
3950 | },
3951 | "exclude-from-classmap": [
3952 | "/Tests/"
3953 | ]
3954 | },
3955 | "notification-url": "https://packagist.org/downloads/",
3956 | "license": [
3957 | "MIT"
3958 | ],
3959 | "authors": [
3960 | {
3961 | "name": "Fabien Potencier",
3962 | "email": "fabien@symfony.com"
3963 | },
3964 | {
3965 | "name": "Symfony Community",
3966 | "homepage": "https://symfony.com/contributors"
3967 | }
3968 | ],
3969 | "description": "Symfony Yaml Component",
3970 | "homepage": "https://symfony.com",
3971 | "time": "2016-09-02 02:12:52"
3972 | }
3973 | ],
3974 | "aliases": [],
3975 | "minimum-stability": "stable",
3976 | "stability-flags": {
3977 | "dingo/api": 20,
3978 | "tymon/jwt-auth": 20
3979 | },
3980 | "prefer-stable": false,
3981 | "prefer-lowest": false,
3982 | "platform": {
3983 | "php": ">=5.5.9"
3984 | },
3985 | "platform-dev": []
3986 | }
3987 |
--------------------------------------------------------------------------------
/config/auth.php:
--------------------------------------------------------------------------------
1 | [
17 | 'guard' => 'jwt',
18 | 'passwords' => 'users',
19 | ],
20 |
21 | /*
22 | |--------------------------------------------------------------------------
23 | | Authentication Guards
24 | |--------------------------------------------------------------------------
25 | |
26 | | Next, you may define every authentication guard for your application.
27 | | Of course, a great default configuration has been defined for you
28 | | here which uses session storage and the Eloquent user provider.
29 | |
30 | | All authentication drivers have a user provider. This defines how the
31 | | users are actually retrieved out of your database or other storage
32 | | mechanisms used by this application to persist your user's data.
33 | |
34 | | Supported: "session", "token"
35 | |
36 | */
37 |
38 | 'guards' => [
39 | 'api' => [
40 | 'driver' => 'token',
41 | 'provider' => 'users',
42 | ],
43 | 'jwt' => [
44 | 'driver' => 'jwt',
45 | 'provider' => 'users',
46 | ],
47 | ],
48 |
49 | /*
50 | |--------------------------------------------------------------------------
51 | | User Providers
52 | |--------------------------------------------------------------------------
53 | |
54 | | All authentication drivers have a user provider. This defines how the
55 | | users are actually retrieved out of your database or other storage
56 | | mechanisms used by this application to persist your user's data.
57 | |
58 | | If you have multiple user tables or models you may configure multiple
59 | | sources which represent each model / table. These sources may then
60 | | be assigned to any extra authentication guards you have defined.
61 | |
62 | | Supported: "database", "eloquent"
63 | |
64 | */
65 |
66 | 'providers' => [
67 | 'users' => [
68 | 'driver' => 'eloquent',
69 | 'model' => '\App\Models\ApiSubscriber'
70 | ],
71 |
72 | // 'users' => [
73 | // 'driver' => 'database',
74 | // 'table' => 'users',
75 | // ],
76 | ],
77 |
78 | /*
79 | |--------------------------------------------------------------------------
80 | | Resetting Passwords
81 | |--------------------------------------------------------------------------
82 | |
83 | | Here you may set the options for resetting passwords including the view
84 | | that is your password reset e-mail. You may also set the name of the
85 | | table that maintains all of the reset tokens for your application.
86 | |
87 | | You may specify multiple password reset configurations if you have more
88 | | than one user table or model in the application and you want to have
89 | | separate password reset settings based on the specific user types.
90 | |
91 | | The expire time is the number of minutes that the reset token should be
92 | | considered valid. This security feature keeps tokens short-lived so
93 | | they have less time to be guessed. You may change this as needed.
94 | |
95 | */
96 |
97 | 'passwords' => [
98 | 'users' => [
99 | 'provider' => 'users',
100 | 'email' => 'auth.emails.password',
101 | 'table' => 'password_resets',
102 | 'expire' => 60,
103 | ],
104 | ],
105 |
106 | ];
--------------------------------------------------------------------------------
/config/cors.php:
--------------------------------------------------------------------------------
1 | false,
13 | 'allowedOrigins' => ['*'],
14 | 'allowedHeaders' => ['*'],
15 | 'allowedMethods' => ['GET', 'POST', 'PUT', 'DELETE'],
16 | 'exposedHeaders' => ['Authorization'],
17 | 'maxAge' => 0,
18 | 'hosts' => [],
19 | ];
--------------------------------------------------------------------------------
/config/jwt.php:
--------------------------------------------------------------------------------
1 | env('JWT_SECRET'),
17 |
18 | /*
19 | |--------------------------------------------------------------------------
20 | | JWT time to live
21 | |--------------------------------------------------------------------------
22 | |
23 | | Specify the length of time (in minutes) that the token will be valid for.
24 | | Defaults to 1 hour.
25 | |
26 | | You can also set this to null, to yield a never expiring token.
27 | | Some people may want this behaviour for e.g. a mobile app.
28 | | This is not particularly recommended, so make sure you have appropriate
29 | | systems in place to revoke the token if necessary.
30 | |
31 | */
32 |
33 | 'ttl' => env('JWT_TTL', 60),
34 |
35 | /*
36 | |--------------------------------------------------------------------------
37 | | Refresh time to live
38 | |--------------------------------------------------------------------------
39 | |
40 | | Specify the length of time (in minutes) that the token can be refreshed
41 | | within. I.E. The user can refresh their token within a 2 week window of
42 | | the original token being created until they must re-authenticate.
43 | | Defaults to 2 weeks
44 | |
45 | */
46 |
47 | 'refresh_ttl' => env('JWT_REFRESH_TTL', 20160),
48 |
49 | /*
50 | |--------------------------------------------------------------------------
51 | | JWT hashing algorithm
52 | |--------------------------------------------------------------------------
53 | |
54 | | Specify the hashing algorithm that will be used to sign the token.
55 | |
56 | | See here: https://github.com/namshi/jose/tree/2.2.0/src/Namshi/JOSE/Signer
57 | | for possible values
58 | |
59 | */
60 |
61 | 'algo' => env('JWT_ALGO', 'HS256'),
62 |
63 | /*
64 | |--------------------------------------------------------------------------
65 | | Required Claims
66 | |--------------------------------------------------------------------------
67 | |
68 | | Specify the required claims that must exist in any token.
69 | | A TokenInvalidException will be thrown if any of these claims are not
70 | | present in the payload.
71 | |
72 | */
73 |
74 | 'required_claims' => ['iss', 'iat', 'exp', 'nbf', 'sub', 'jti'],
75 |
76 | /*
77 | |--------------------------------------------------------------------------
78 | | Blacklist Enabled
79 | |--------------------------------------------------------------------------
80 | |
81 | | In order to invalidate tokens, you must have the the blacklist enabled.
82 | | If you do not want or need this functionality, then set this to false.
83 | |
84 | */
85 |
86 | 'blacklist_enabled' => env('JWT_BLACKLIST_ENABLED', true),
87 |
88 | /*
89 | | -------------------------------------------------------------------------
90 | | Blacklist Grace Period
91 | | -------------------------------------------------------------------------
92 | |
93 | | When multiple concurrent requests are made with the same JWT,
94 | | it is possible that some of them fail, due to token regeneration
95 | | on every request.
96 | |
97 | | Set grace period in seconds to prevent parallel request failure.
98 | |
99 | */
100 |
101 | 'blacklist_grace_period' => env('JWT_BLACKLIST_GRACE_PERIOD', 0),
102 |
103 | /*
104 | |--------------------------------------------------------------------------
105 | | Providers
106 | |--------------------------------------------------------------------------
107 | |
108 | | Specify the various providers used throughout the package.
109 | |
110 | */
111 |
112 | 'providers' => [
113 |
114 | 'user' => \App\Models\ApiSubscriber::class,
115 |
116 | /*
117 | |--------------------------------------------------------------------------
118 | | JWT Provider
119 | |--------------------------------------------------------------------------
120 | |
121 | | Specify the provider that is used to create and decode the tokens.
122 | |
123 | */
124 |
125 | 'jwt' => Tymon\JWTAuth\Providers\JWT\Namshi::class,
126 |
127 | /*
128 | |--------------------------------------------------------------------------
129 | | Authentication Provider
130 | |--------------------------------------------------------------------------
131 | |
132 | | Specify the provider that is used to authenticate users.
133 | |
134 | */
135 |
136 | 'auth' => Tymon\JWTAuth\Providers\Auth\Illuminate::class,
137 |
138 | /*
139 | |--------------------------------------------------------------------------
140 | | Storage Provider
141 | |--------------------------------------------------------------------------
142 | |
143 | | Specify the provider that is used to store tokens in the blacklist
144 | |
145 | */
146 |
147 | 'storage' => Tymon\JWTAuth\Providers\Storage\Illuminate::class
148 |
149 | ]
150 |
151 | ];
152 |
--------------------------------------------------------------------------------
/database/factories/ModelFactory.php:
--------------------------------------------------------------------------------
1 | define(App\User::class, function ($faker) {
15 | return [
16 | 'name' => $faker->name,
17 | 'email' => $faker->email,
18 | 'password' => str_random(10),
19 | 'remember_token' => str_random(10),
20 | ];
21 | });
22 |
--------------------------------------------------------------------------------
/database/migrations/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/0plus1/lumendingojwtapi/06f020d44ca8db5711122bd638f4e8347b27f7a1/database/migrations/.gitkeep
--------------------------------------------------------------------------------
/database/migrations/2015_11_30_095335_create_api_subscribers_table.php:
--------------------------------------------------------------------------------
1 | increments('api_subscriber_id');
17 | $table->string('email', 255);
18 | $table->string('password', 255);
19 | $table->timestamps();
20 | $table->softDeletes();
21 |
22 | // unique key
23 | $table->unique('email');
24 |
25 | // indexes
26 | $table->index(['email', 'password']);
27 | });
28 | }
29 |
30 | /**
31 | * Reverse the migrations.
32 | *
33 | * @return void
34 | */
35 | public function down()
36 | {
37 | Schema::drop('api_subscribers');
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/database/seeds/DatabaseSeeder.php:
--------------------------------------------------------------------------------
1 | call('DefaultPopulator');
18 |
19 | Model::reguard();
20 | }
21 | }
22 |
23 | /**
24 | * Class DefaultPopulator
25 | */
26 | class DefaultPopulator extends Seeder
27 | {
28 | public function run()
29 | {
30 | $ApiSubscriber = App\Models\ApiSubscriber::create(
31 | [
32 | 'email' => 'test@user.dev',
33 | 'password' => 'secret',
34 | ]
35 | );
36 |
37 | unset($ApiSubscriber);
38 | return;
39 | }
40 |
41 |
42 | }
--------------------------------------------------------------------------------
/lumendingojwtapi.json.postman_collection:
--------------------------------------------------------------------------------
1 | {
2 | "id": "97176123-789b-4f53-e8d8-32a24dab2f68",
3 | "name": "lumendingojwtapi",
4 | "description": "",
5 | "order": [
6 | "bfb5fdeb-91b7-ec7d-f3cc-cab767b4ff1d",
7 | "ea4b5d15-fd7b-a675-ca02-86a7bd55bd91"
8 | ],
9 | "folders": [],
10 | "timestamp": 1448877693431,
11 | "owner": "37016",
12 | "remoteLink": "",
13 | "public": false,
14 | "requests": [
15 | {
16 | "id": "bfb5fdeb-91b7-ec7d-f3cc-cab767b4ff1d",
17 | "headers": "",
18 | "url": "lumendingojwtapi.local/authenticate",
19 | "preRequestScript": "",
20 | "pathVariables": {},
21 | "method": "POST",
22 | "data": [
23 | {
24 | "key": "email",
25 | "value": "test@user.dev",
26 | "type": "text",
27 | "enabled": true
28 | },
29 | {
30 | "key": "password",
31 | "value": "secret",
32 | "type": "text",
33 | "enabled": true
34 | }
35 | ],
36 | "dataMode": "urlencoded",
37 | "version": 2,
38 | "tests": "",
39 | "currentHelper": "normal",
40 | "helperAttributes": {},
41 | "time": 1448878089915,
42 | "name": "login",
43 | "description": "",
44 | "collectionId": "97176123-789b-4f53-e8d8-32a24dab2f68",
45 | "responses": []
46 | },
47 | {
48 | "id": "ea4b5d15-fd7b-a675-ca02-86a7bd55bd91",
49 | "headers": "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vbHVtZW5kaW5nb2p3dGFwaS5sb2NhbC9hdXRoZW50aWNhdGUiLCJpYXQiOjE0NDg4NzgxNTEsImV4cCI6MTQ0ODg4MTc1MSwibmJmIjoxNDQ4ODc4MTUxLCJqdGkiOiIyMzUzZmMyMmE3ZWE1OTExMjQwZjg4YTJjNjdmOTU0OSIsInN1YiI6MX0.BrMTtG_NflVmIbQDTQNy1zV_AIyyO8IMngFBuq4MRm8\n",
50 | "url": "lumendingojwtapi.local/index",
51 | "preRequestScript": "",
52 | "pathVariables": {},
53 | "method": "GET",
54 | "data": [],
55 | "dataMode": "params",
56 | "version": 2,
57 | "tests": "",
58 | "currentHelper": "normal",
59 | "helperAttributes": {},
60 | "time": 1448878180565,
61 | "name": "index",
62 | "description": "",
63 | "collectionId": "97176123-789b-4f53-e8d8-32a24dab2f68",
64 | "responses": []
65 | }
66 | ]
67 | }
--------------------------------------------------------------------------------
/phpunit.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 | ./tests/
15 |
16 |
17 |
18 |
19 | app/
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/public/.htaccess:
--------------------------------------------------------------------------------
1 |
2 |
3 | Options -MultiViews
4 |
5 |
6 | RewriteEngine On
7 |
8 | # Redirect Trailing Slashes If Not A Folder...
9 | RewriteCond %{REQUEST_FILENAME} !-d
10 | RewriteRule ^(.*)/$ /$1 [L,R=301]
11 |
12 | # Handle Front Controller...
13 | RewriteCond %{REQUEST_FILENAME} !-d
14 | RewriteCond %{REQUEST_FILENAME} !-f
15 | RewriteRule ^ index.php [L]
16 |
17 |
--------------------------------------------------------------------------------
/public/index.php:
--------------------------------------------------------------------------------
1 | run();
29 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | ## Lumen 5.* + Dingo API + JWT Auth + CORS
2 |
3 | Boilerplate of Lumen 5.** with Dingo API using JWT Auth to secure endpoints. CORS complaint.
4 | Facades are [disabled](http://programmingarehard.com/2014/01/11/stop-using-facades.html/), Eloquent is enabled.
5 |
6 | Easy to clone for a new project or just to get over the obstacles of your own implementation.
7 |
8 | #### Install
9 | 1. Create lumendingojwtapi database
10 | 2. php artisan migrate && php artisan db:seed
11 |
12 | #### Versions
13 | * v1.x.x family is based on Lumen 5.1.x
14 | * v2.x.x family is based on Lumen 5.2.x
15 | * v3.x.x family is based on Lumen 5.3.x
16 |
17 | #### Postman collection
18 | Assumes: //lumendingojwtapi.local url.
19 |
--------------------------------------------------------------------------------
/resources/lang/en/validation.php:
--------------------------------------------------------------------------------
1 | 'The :attribute must be accepted.',
17 | 'active_url' => 'The :attribute is not a valid URL.',
18 | 'after' => 'The :attribute must be a date after :date.',
19 | 'alpha' => 'The :attribute may only contain letters.',
20 | 'alpha_dash' => 'The :attribute may only contain letters, numbers, and dashes.',
21 | 'alpha_num' => 'The :attribute may only contain letters and numbers.',
22 | 'array' => 'The :attribute must be an array.',
23 | 'before' => 'The :attribute must be a date before :date.',
24 | 'between' => [
25 | 'numeric' => 'The :attribute must be between :min and :max.',
26 | 'file' => 'The :attribute must be between :min and :max kilobytes.',
27 | 'string' => 'The :attribute must be between :min and :max characters.',
28 | 'array' => 'The :attribute must have between :min and :max items.',
29 | ],
30 | 'boolean' => 'The :attribute field must be true or false.',
31 | 'confirmed' => 'The :attribute confirmation does not match.',
32 | 'date' => 'The :attribute is not a valid date.',
33 | 'date_format' => 'The :attribute does not match the format :format.',
34 | 'different' => 'The :attribute and :other must be different.',
35 | 'digits' => 'The :attribute must be :digits digits.',
36 | 'digits_between' => 'The :attribute must be between :min and :max digits.',
37 | 'email' => 'The :attribute must be a valid email address.',
38 | 'exists' => 'The selected :attribute is invalid.',
39 | 'filled' => 'The :attribute field is required.',
40 | 'image' => 'The :attribute must be an image.',
41 | 'in' => 'The selected :attribute is invalid.',
42 | 'integer' => 'The :attribute must be an integer.',
43 | 'ip' => 'The :attribute must be a valid IP address.',
44 | 'json' => 'The :attribute must be a valid JSON string.',
45 | 'max' => [
46 | 'numeric' => 'The :attribute may not be greater than :max.',
47 | 'file' => 'The :attribute may not be greater than :max kilobytes.',
48 | 'string' => 'The :attribute may not be greater than :max characters.',
49 | 'array' => 'The :attribute may not have more than :max items.',
50 | ],
51 | 'mimes' => 'The :attribute must be a file of type: :values.',
52 | 'min' => [
53 | 'numeric' => 'The :attribute must be at least :min.',
54 | 'file' => 'The :attribute must be at least :min kilobytes.',
55 | 'string' => 'The :attribute must be at least :min characters.',
56 | 'array' => 'The :attribute must have at least :min items.',
57 | ],
58 | 'not_in' => 'The selected :attribute is invalid.',
59 | 'numeric' => 'The :attribute must be a number.',
60 | 'regex' => 'The :attribute format is invalid.',
61 | 'required' => 'The :attribute field is required.',
62 | 'required_if' => 'The :attribute field is required when :other is :value.',
63 | 'required_with' => 'The :attribute field is required when :values is present.',
64 | 'required_with_all' => 'The :attribute field is required when :values is present.',
65 | 'required_without' => 'The :attribute field is required when :values is not present.',
66 | 'required_without_all' => 'The :attribute field is required when none of :values are present.',
67 | 'same' => 'The :attribute and :other must match.',
68 | 'size' => [
69 | 'numeric' => 'The :attribute must be :size.',
70 | 'file' => 'The :attribute must be :size kilobytes.',
71 | 'string' => 'The :attribute must be :size characters.',
72 | 'array' => 'The :attribute must contain :size items.',
73 | ],
74 | 'string' => 'The :attribute must be a string.',
75 | 'timezone' => 'The :attribute must be a valid zone.',
76 | 'unique' => 'The :attribute has already been taken.',
77 | 'url' => 'The :attribute format is invalid.',
78 |
79 | /*
80 | |--------------------------------------------------------------------------
81 | | Custom Validation Language Lines
82 | |--------------------------------------------------------------------------
83 | |
84 | | Here you may specify custom validation messages for attributes using the
85 | | convention "attribute.rule" to name the lines. This makes it quick to
86 | | specify a specific custom language line for a given attribute rule.
87 | |
88 | */
89 |
90 | 'custom' => [
91 | 'attribute-name' => [
92 | 'rule-name' => 'custom-message',
93 | ],
94 | ],
95 |
96 | /*
97 | |--------------------------------------------------------------------------
98 | | Custom Validation Attributes
99 | |--------------------------------------------------------------------------
100 | |
101 | | The following language lines are used to swap attribute place-holders
102 | | with something more reader friendly such as E-Mail Address instead
103 | | of "email". This simply helps us make messages a little cleaner.
104 | |
105 | */
106 |
107 | 'attributes' => [],
108 |
109 | ];
110 |
--------------------------------------------------------------------------------
/resources/views/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/0plus1/lumendingojwtapi/06f020d44ca8db5711122bd638f4e8347b27f7a1/resources/views/.gitkeep
--------------------------------------------------------------------------------
/server.php:
--------------------------------------------------------------------------------
1 | visit('/')
13 | ->see('Lumen.');
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/tests/TestCase.php:
--------------------------------------------------------------------------------
1 |