shpasser/gae-support

Google App Engine Support for Laravel apps.

1.0.8 2014-12-20 20:58 UTC

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

Mail

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.