Start your Laravel webapp
This guide is going to help you start developing your Laravel applications at SourceLair and make the most out of SourceLair's capabilities.
This guide assumes that you already have a SourceLair account.
Laravel is a PHP framework so first of all you need to create a new PHP project. When you create a PHP project, SourceLair launches an Apache web server to serve applications from the root directory of the project. In order to start coding your Laravel app you need to install Laravel and configure your server in SourceLair.
Delete default files
Laravel starts with its own skeleton, so it's better to delete the default files that come with the PHP project type in SourceLair. To delete everything except
.git directory run the following command in your terminal:
$ rm -r !(.git) 2>/dev/null
Install a Laravel application
Composer is pre-installed into your server and so you can use its commands from your fully featured terminal.
composer create-project command is one of the ways you can bootstrap a new project based on the laravel/laravel standard application skeleton. The command below sets it up in a directory named my_laravel using the latest version of the framework.
$ composer create-project laravel/laravel --prefer-dist my_laravel
After downloading all the required dependencies and running a few hooks, Composer will have set up a fully functional project in the directory you specified (
my_laravel in our case). Since the Git repository is already initialized in the root directory, we'll have to move the contents of the new Laravel project one level up with the following command:
$ shopt -s dotglob && mv my_laravel/* . && shopt -u dotglob
and remove the existing folder:
$ rmdir my_laravel
Configure server command
By default, your Apache server runs the
apache2ctl -DFOREGROUND command serving the content of the root directory (
/mnt/project) of your project. In laravel's basic skeleton, application's document root is the
/public subdirectory so you need to create a
Procfile.dev that configures the correct document root:
$ echo "web: ln -s /mnt/project/public /var/www/app && apache2ctl -DFOREGROUND" > Procfile.dev
After creating the
Procfile.dev you need to restart your server - using the
Server: Restart server Command Palette command - so that your server will run following the
Procfile.dev file .
Preview your application
SourceLair provides you with a Public URL in order to help you test and showcase your work. There are 2 ways to see the public URL of your project:
- Click on the eye icon in the sidebar
- Open the Command Palette (Ctrl/Cmd + Shift + P) and use the
Server: Open Public URLcommand.
The recommended way to deploy your application to production is via Heroku. SourceLair's integration with Heroku toolbelt makes things pretty simple as you can deploy your app without even leaving from SourceLair.
Before you start setting up our deployment workflow, check out that you have:
- a heroku account
- committed your last changes
Create a Procfile
At the setup step you have already created a
Procfile.dev file to customise your server commands during development. Now you need to create a
Procfile file that will give the appropriate instructions to Heroku about our server commands in production.
$ echo web: vendor/bin/heroku-php-apache2 public/ > Procfile
After creating the
Procfile don't forget to commit this new file.
Set up Heroku workflow
SourceLair terminal is integrated with Heroku toolbelt thus you are able to use all Heroku commands via SourceLair. Initially, you need to login to Heroku filling in your Heroku credentials
$ heroku login
Then, you need to create a new Heroku application that you can push to.
$ heroku create
Heroku supports a variety of languages, and attempts to detect which one your code is written in when you deploy. This happens in a particular order, and because the Laravel code also contains a package.json file, Heroku will assume your application is written in Node.js unless you explicitly declare it as a PHP application:
$ heroku buildpacks:set heroku/php
Laravel uses an application encryption key to encrypt user sessions and other information. Its value will be read from the APP_KEY environment variable. The easiest way to generate a valid key is using the
php artisan key:generate --show command and adding the printed key to the
heroku config:set command, so in one command:
$ heroku config:set APP_KEY=$(php artisan --no-ansi key:generate --show)
Everything should be set up, so you need deploy your app from SourceLair to Heroku. To do so use the Command Palette command
Now every time you want to push something new to production, all you have to do is commit your changes and deploy to Heroku.
Extras - Tips to code faster
SourceLair provides you with some great features in order to help you develop faster your website being focused on the creative part of programming.
When you write your PHP, HTML or CSS files, SourceLair's editor automatically place your cursor at the correct indentation level so that you don't have to worry about it. Although, when you break down your format you can select the number of lines you want to "auto-format" and press Shift + Tab.
Command Palette is a free text search tool which helps you use most of SourceLair's features really fast. You can open it by pressing Ctrl/Cmd + Shift + P.
Quickopen is a fast and time saving way to navigate through your filesystem in order to find and open any file you want using your keyboard.
You can open the Quickopen prompt using its shortcut Ctrl/Cmd + Shift + O.
Find in files
Find in files is a simple and easy way to search for something in your entire project at once, with quick file navigation from the results.
You can trigger the Find in files prompt using its shortcut Ctrl/Cmd + Shift + F.