Using Laravel Valet for local PHP development
This week I’ve been developing PHP and Twig at my internship at vBridge, since we’re using a big pile of sourcecode, Docker doesn’t perform as well. To fix this Bramus told me about a tool called Valet. So I went on the search to configure and install Valet.
Installing Valet
Installing Valet is actually really easy. They have incredible documentation (as usual with Laravel).
You can simply install it by using composer global require laravel/valet
if you’ve installed Homebrew, PHP and Composer, else you should install those first (but also that is very easy). Once that’s done, simply run valet install
and Valet will install and start.
Now that valet is installed and started you’ll be able to ping any .test
domain and it’ll answer from localhost
or 172.0.0.1
.
Valet also starts when you boot your computer and will run as a background process with only 7mb of RAM!
Also, Valet is MacOS only
Valet Link
So installing is easy, so mapping a domain shouldn’t be hard right! just cd into the directory you want to run as a site and run valet link
and the name of the directory will be used as domain. For insance:
cd laravelsite
valet link
Now when you open your browser and go to laravelsite.test
. It will magically appear on the screen! awesome right!
You can also name a link by running valet link <name>
. For instance:
cd laravelsite
valet link newsite
Now it’s available at newsite.test
It’s amazing!
Valet use
So, imagine that you’re developing a website on your local machine with the newest version of PHP, but the server you’ll be deploying to uses a much older PHP version. You don’t want to put in the work to install a new old version right? Valet got you covered!
Just run valet use php@version
and valet will use that version. If you don’t have the version installed locally, it will install it for you.
But ofcourse, sphp is a valid choice too.
Valet Secure
Tired of the stupid browser notification that localhost isn’t secured? Me too. Valet also has a nifty solution. Run valet secure <name>
x and it will install a certificate for you.
It’s insane how easy this all is!
valet-env.php
Ofcourse if you’re a somewhat more demanding user. It can be interesting to use and create custom environment variables.
Valet has support for a file called valet-env.php
and will use it to configure and use environment variables
For instance:
<?php
return [
'newsite' => [
'APP_ENV' => 'dev',
],
];
Now when you’ll open newsite.test
in your browser, it’ll have the dev environment!
Read the post about environment variable from Bramus here
Read the full documentation here!