shpasser / gae-support
Google App Engine Support for Laravel apps.
Installs: 8 767
Dependents: 0
Suggesters: 0
Security: 0
Stars: 15
Watchers: 5
Forks: 0
Open Issues: 0
Requires
- php: >=5.4.0
- illuminate/support: 4.2.*
Requires (Dev)
- illuminate/console: 4.2.*
- phpunit/phpunit: ~4.4
README
Google App Engine(GAE) Support package for Laravel 4.
Currently supported features:
- Generation of general configuration files,
- Mail service provider,
- Queue service provider.
For Laravel 5 see https://github.com/shpasser/GaeSupportL5.
For Lumen see https://github.com/shpasser/GaeSupportLumen.
Installation
Pull in the package via Composer.
"require": { "shpasser/gae-support": "~1.0" }
Then include the service provider within app/config/app.php
.
'providers' => [ 'Shpasser\GaeSupport\GaeSupportServiceProvider' ];
Usage
Generate the GAE related files / entries.
php artisan gae:setup --config your-app-id
The default GCS bucket is configured unless a custom bucket id is defined using
the --bucket
option.
php artisan gae:setup --config --bucket="your-bucket-id" your-app-id
The mail driver configuration file can be found at app/config/production/mail.php
,
it is one of many configuration files generated by the artisan command. There is
no need in any kind of custom configuration. All the outgoing mail messages are sent
with sender address of an administrator of the application, i.e. admin@your-app-id.appspotmail.com
.
The sender
, to
, cc
, bcc
, replyTo
, subject
, body
and attachment
parts of email message are supported.
Queues
The generated queue configuration file app/config/production/queue.php
should contain:
return array( 'default' => 'gae', /* |-------------------------------------------------------------------------- | GAE Queue Connection |-------------------------------------------------------------------------- | */ 'connections' => array( 'gae' => array( 'driver' => 'gae', 'queue' => 'default', 'url' => '/tasks', 'encrypt' => true, ), ), );
The 'default' queue and encryption are used by default.
In order to use the queue your app/routes.php
file should contain the following route:
Route::post('tasks', array('as' => 'tasks', function() { return Queue::marshal(); }));
This route will be used by the GAE queue to push the jobs. Please notice that the route and the GAE Queue Connection 'url' parameter point to the same URL. For more information on the matter please see http://laravel.com/docs/4.2/queues#push-queues.
Deploy
Download and install GAE SDK for PHP and deploy your app.