Changing Laravel’s default public directory

Sometimes on the servers I work on I need to change the “public” directory to “content.” To do this I create my own “Application.php” class, extending Laravel’s Application class and override the publicPath method.

Next, I update bootstrap/app.php and create the $app instance using my Application class.

I don’t use server.php but, if you did, you’d need to update the following lines in your public directory’s index file too:

How to Reset Visual Studio Code on Windows

After configuring Visual Studio Code to death I though I’d get a clean start. Turns out, that isn’t as straight forward as I’d hoped. After some Googling and poking around. Here’s a list of things I did. Note, “~/” represents your Window’s user account home folder. I also renamed folders instead of deleting them just in case I wanted to check some of my old extensions or settings. That step is up to you.

Here we go:

  • Close Visual Studio Code
  • In your user account director, rename ~/.vscode to something else (this is where are extensions are stored)
  • Open up ~/AppData/Roaming and rename “Code” to something else (this is where your settings are stored)
  • Reopen Visual Studio Code

The result is Visual Studio Code is completely reset. It also made me appreciate all my customizations looking at a vanilla install.

Configuring PHPStorm to run PHPUnit Tests with Homestead

I use PHPStorm to run my local server with the Homestead virtual machine on Vagrant. In the past all my testing was command line but I thought, “Wouldn’t it be great to use PHPStorm’s testing features?” So, after much Googling and failing here’s a video on how to run tests on a remove server, even Homestead, using PHPStorm’s tools.

The steps:

  • Configure Server in “Deployment” settings
  • Setup your project’s CLI Interpreter to use this Server
  • Setup PHPUnit in PHPStorm to run tests through the CLI configuration and use your phpunit.xml file for config.

Creating an on page Delete Link for a Laravel record in jQuery

*My code snippets plugin seems to be crapping out. Apologies for the formatting. Will try to fix soon.

When creating CRUD pages we’ll eventually need to create delete links for records. In Laravel these links need to fire a post request to an endpoint with two fields:

  • _method which is DELETE
  • _token which has the csrf token

Here’s bit of jQuery code I put together for a recent project to help with this. Once in place, you’ll only need to create a delete link and give it the data-delete attribute with the value of the URL endpoint. Here’s how to use it:

and here is the Javascript to make it all work:

PHP Basics: str_replace

PHP’s str_replace function can by used to find/replace characters in a given string. Check out the video for more. You can learn more about str_replace on php.net.

I’ve decided to do some videos cover very basic PHP functions. While this isn’t useful for seasoned developers, I once was new to all this stuff and completely confused by everything I read. With that in mind, I hope this series of videos helps those of us that are just starting out.