/laravel

Laravel template for Platform.sh.

Primary LanguagePHP

Laravel for Platform.sh

Deploy on Platform.sh

This template provides a basic Laravel skeleton. It comes pre-configured to use a MariaDB database and Redis for caching and sessions using a Laravel-specific bridge library that runs during Composer autoload. The public files symlink is also replaced with a custom web path definition so it is unnecessary. It is intended for you to use as a starting point and modify for your own needs.

Laravel is an opinionated, integrated rapid-application-development framework for PHP.

Features

  • PHP 7.4
  • MariaDB 10.4
  • Redis 5.0
  • Automatic TLS certificates
  • Composer-based build

Customizations

The following changes have been made relative to a plain Laravel project. If using this project as a reference for your own existing project, replicate the changes below to your project.

  • The .platform.app.yaml, .platform/services.yaml, and .platform/routes.yaml files have been added. These provide Platform.sh-specific configuration and are present in all projects on Platform.sh. You may customize them as you see fit.
  • An additional Composer library, platformsh/laravel-bridge, has been added. It automatically maps Platform.sh's environment variables to Laravel's environment variables where possible. It leverages the platformsh/config-reader library.
  • The Laravel Bridge library also automatically configures Laravel to use Redis for both caching and session storage. That may be disabled by removing or changing the name of the rediscache and redissession relationships in .platform.app.yaml.
  • Laravel normally wants you to create a symlink for the public storage directory, using the artisan storage:link command. That is not necessary and will not work on Platform.sh due to the read-only file system. Instead, a dedicated web path mapping is included for the /storage path that has the same effect.

References