ホームページ制作/SEO対策なら株式会社サイバーブレーンへ

 03-5961-5681 平日10:00~19:00

 2019-03-15

Laravel5.5 最小の最小の最速理解(初心者向け)

PHPは使えてもLaravelなどのフレームワークとなるとさっぱり良くわからない方へ向けて、とりあえずLaravelをいじれるようになるまでの最速の方法をご案内します。

1.Laravelのインストールは誰かにやってもらう

いきなり変なことを言いますが、Laravelなどのフレームワークをいじったことがない方はcomposerも使ったことがない人が多いようで、Laravelをインストールしようとした途端に、ここで時間を費やし、インストールを断念する方もいるかもしれません。

なので、近くの誰かにとにかくインストールまではしてもらってください!!近くに誰もいない方は、検索しまくってどうにかインストールしてください。

2.ドキュメントルートを変更

レンタルサーバなどではデフォルトでpublic_htmlやwwwなどが用意されており、ここにindex.phpをアップロードすると、それがトップページになったりしますが、このpublic_htmlやwwwをドキュメントルートと言います。

Laravelを使う場合には、このドキュメントルートをLaravel用に変更する必要がありますが、Laravelをインストールしたディレクトリによってパスが異なります。

多くの場合、Laravelインストールのコマンドは下記のようになると思います。

composer create-project laravel/laravel --prefer-dist project

インストールコマンドの最後「project」がLaravelのインストールディレクトリになりますので、ドキュメントルートは下記となります。

/home/user/project/public
※/home/userディレクトリにLaravelをインストールした場合
※public_htmlではないので要注意

レンタルサーバの場合には管理画面などからドキュメントルートを変更できると思いますが、不明な場合にはレンタルサーバのサポートを活用してください!!

ドキュメントルート変更後、ブラウザでアクセスすると下記のようなWelcomeページが表示されれば準備完了です!!

3.HP公開までに作成や更新が最低限必要なファイルは3つだけ

スバリこの3つです。

/home/user/project/routes/web.php
/home/user/project/resources/views/□□.blade.php
/home/user/project/app/Http/Controllers/◯◯Controller.php
/home/user/project/routes/web.php

このファイルを開くと、下記のようなものがあると思います。

Route::get('/', function () {
    return view('welcome');
});

感の鋭い方は気づくと思いますが、これは先程表示させたWelcomeページの記述です。試しに以下のように「'/'」を「'/test'」にした記述を追加してアップロードし、ブラウザで「/test」にアクセスすると同じページが表示されると思います。

Route::get('/', function () {
    return view('welcome');
});
Route::get('/test', function () {
    return view('welcome');
});
/home/user/project/resources/views/□□.blade.php

感の鋭い方はまた気づくと思いますが、このviewsディレクトリの中には「welcome.blade.php」があり、□□の文字が下記に対応しております。

Route::get('/', function () {
    return view('□□');//もともとwelcome
});

ということは、「/test」という独自のページを作成したい場合には、「test.blade.php」を同階層に作成し、先程いじったweb.php内を下記のようにすれば、これでもう1ページ作成完了です。

Route::get('/', function () {
    return view('welcome');
});
Route::get('/test', function () {
    return view('test');//testに変更
});
/home/user/project/app/Http/Controllers/◯◯Controller.php

HP公開までに必要なファイルは3つと言っておきながら、実は上記2つでも簡単なHPであればできてしまいますが、PHPによる動的処理やDBの利用を考えると「コントローラー」を作成して、ページごとに処理を分けた方が良いでしょう。コントローラーを作成しないとweb.phpや□□.blade.phpに処理を記述することになり、Laravelで開発する理由がなくなります。

というわけで/home/user/project/app/Http/Controllers/を覗いてみると、◯◯Controller.phpは存在しないので、自分で作る必要があります。ここでは、先程作った「/test」のアクセスをコントローラーを介して処理するように変更してみたいと思います。まずは「TestController.php」を作成したいのですが、コントローラーの作成はコマンドで行った方が良いため、ここもまたインストールに次ぐつまずきポイントになっています。先にコマンドを書くと、

php artisan make:controller TestController

こうなりますが、コマンドを打つにはSSHでサーバに接続し、カレントディレクトリを移動する必要がありますが、あまり深く考える必要はなく、ターミナルで下記のように実行しましょう。

※Macの方はターミナルで、Windowsの方はどうにかSSHが利用できるようにしてください!!

ssh user@ホスト名
password:パスワード

ログインできたら下記コマンドでカレントディレクトリを移動します。

cd /home/user/project/

続いてlsコマンドで「artisan」という文字列が表示されるのを確認します。

これで準備完了ですので、思い切って下記コマンドでコントローラーを作成しましょう。

php artisan make:controller TestController

すると、下記ファイルが作成されるはずです。

/home/user/project/app/Http/Controllers/TestController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class TestController extends Controller
{
    //
}

これを、下記に変更します。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class TestController extends Controller
{
	//このメソッドを追加
	public function test(Request $request) {

		return view('test', [
			'request' => $request,
		]);
	}
}

そして、web.phpを下記に変更

Route::get('/', function () {
    return view('welcome');
});

//Route::get('/test', function () {
//    return view('welcome');
//});

Route::get('test','TestController@test');

ブラウザで「/test」にアクセスすると同じページが表示されると思いますが、今回はコントローラーを通しての表示になります。「/test」のページなので「Test」や「test」という文字列が使われていますが、「/access」というページを作成したい場合には、同じように「Access」や「access」にして作成すれば、初めはわかりやすいと思います。

今回の説明は、最小の最小の最速理解だったので、余計な説明は削りましたが、はじめの一歩としてはこれで良いと思います。本当はDBの説明もしたかったのですが、長くなりましたので別の機会にします。

~この記事の著者~

サイト制作に関するご相談はこちら

 03-5961-5681 平日10:00~19:00

メールフォーム

あなたが
サイトに
求める要素
あなたがサイトに求める0要素