Installing the Html and Form Builder package back into Laravel 5

Here’s how to get the Form and Html Builder package back when using Laravel 5.

composer require illuminate/html

Then, in /config/app.php add the following to the providers and aliases arrays:

'providers' => [
	...
 
	'Illuminate\Html\HtmlServiceProvider',
],
 
'aliases' => [
 
	...
 
	'Form'=> 'Illuminate\Html\FormFacade', 
	'HTML'=> 'Illuminate\Html\HtmlFacade',
],

 

Disable Registration in Laravel 5

A new Laravel 5 installation comes with user registration out of the box. If you don’t want to use this feature, here is a clean way to disable it. Open up app\Http\Controllers\Auth\AuthController.php and add the following methods:

public function getRegister()
{
    return redirect('auth/login'); // Or wherever
}

public function postRegister()
{

}

These will override the parent methods in the AuthenticatesAndRegistersUsers trait.

Using Laravel 5 Auth Middleware

To restrict pages in your app to authentication status, add the middleware to the controller’s constructor.

To restrict a page to guests only (not signed in):

public function __construct()
{
    $this->middleware('guest');
}

For signed in users:

public function __construct()
{
    $this->middleware('auth');
}

If you want to make exceptions for certain methods, just pass those parameters in as an array for the second argument.

$this->middleware('auth', ['except' => 'show']);

 

Laravel Project Setup

First, get composer if you don’t already have it (Windows): https://getcomposer.org/Composer-Setup.exe

I like to use the composer installer (as opposed to the Laravel Installer). Open command prompt and move into www directory (or wherever you want your project to live).

composer create-project laravel/laravel name-of-project

 

This will create the directory “name-of-project” and place all the laravel files inside at the same time.

Create a database. Use utf8_unicode_ci for the collation.

Next, open up the .env file located at the project root and edit the settings for your project. If using Git, go ahead and edit the .gitignore to add your IDE specific files and any other files you want to ignore. (Tip for Phpstorm users: the .idea folder is not visible within the directory tree inside the IDE. You only see it if you view the files from outside Phpstorm.)

Run

php artisan migrate

to migrate the included migrations.

Laravel on Bluehost Shared Hosting

Project Code

Create new directory at root called “laravel” and put entire project minus the public folder there. Create a new .env file and call it .env.production. Change the values inside that file to reflect the production environment. Upload that file to the production server and rename it to .env.

Public Code: Subdomain

Do this if you want to put the public folder into a subdomain (like for testing). Create your subdomain through cPanel and your directory structure will be /public_html/subdomain. Clear out the “subdomain” folder.

In the public folder, create a new file and call it bluehost.index.php or whatever – just so you know it’s the index file only for the live site. Copy the contents of index.php into it.

Then, change

`require __DIR__.'/../bootstrap/autoload.php';`

to

`require __DIR__.'/../../laravel/bootstrap/autoload.php';`

Change

`$app = require_once __DIR__.'/../bootstrap/app.php';`

to

`$app = require_once __DIR__.'/../../laravel/bootstrap/app.php';

// set the public path to this directory
// so that public_path() still works
$app->bind('path.public', function() {
    return __DIR__;
});`

Now upload the contents of your public folder to the subdomain directory. Rename bluehost.index.php to index.php.