Laravelを使ってみる

PHPのフレームワーク「Laravel」を使ってみます。

Composerのインストール

Composerの公式サイトからダウンロードします。

started-with-laravel01

ダウンロードページへ遷移すると、Composer-Setup.exeと書かれたリンクがあるのでクリックしてダウンロードします。

ダウンロードしたファイルを実行してインストールを行ってください。
インストール完了後、コマンド プロンプトを起動します。
composerと入力して、Composerの情報が表示されたらOKです。

started-with-laravel02

 

プロジェクトの作成

Laravelをローカルにインストールしてみます。
コマンドプロンプトを開いて、作業ディレクトリに移動します。

cd 作業ディレクトリのパス

プロジェクトを作成(Laravelをインストール)します。
プロジェクトを作成するには以下のコマンドを使います。

composer create-project laravel/laravel プロジェクト名 --prefer-dist

今回は作業ディレクトリ内にlaravel_testというディレクトリを作成して、その中にLaravelをインストールされるようにします。

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

これでLaravelのインストールが完了しました。
作成したプロジェクトへ移動します。

cd 作業ディレクトリのパス\laravel_test

サーバを起動します。

php artisan serve

以下のようなURLが表示されるので、ブラウザでアクセスします。

started-with-laravel03

ページの表示が確認できればOKです。

started-with-laravel04

 

ルーティングとビュー

インストールしたLaravelのディレクトリを確認すると色々なファイルが入っています。
今回はその中でもよく使うroutes.php、viewsディレクトリ、Controllersディレクトリを見てみます。

まずはroutes.phpを見てみます。
routes.phpは特定のURLにアクセスしたときに何の処理を行うかを指定するファイルで、/app/Http/ 以下にあります。
routes.phpを開くと、以下のような記述があると思います。

started-with-laravel05

これは、ルートにアクセスしたときにwelcomeというviewのファイルを表示するという意味になります。

welcomeは/resources/ 以下のviewsディレクトリ内にあります。
viewsディレクトリは、表示用のテンプレートファイルを格納しておくディレクトリです。

viewsディレクトリ内のwelcome.blade.phpを開くと、以下のような記述になっています。

started-with-laravel06

試しに以下のように文言を変更してみます。

<div class="container">
	<div class="content">
		<div class="title">Laravel 5 test</div>
	</div>
</div>

ブラウザをリロードすると、文言が反映されました。

started-with-laravel07

 

ページの作成

新しくページを作成してみます。
routes.phpに下記を追加します。

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

これで/helloworldにアクセスしたときに、helloworldというviewファイルを表示するようになりました。

viewsディレクトリにhelloworld.blade.phpというファイルを作成します。

<!DOCTYPE HTML>
<html lang="ja">
<head>
	<meta charset="UTF-8">
	<title>Hello World</title>
</head>
<body>
	<h1>Hello World</h1>
</body>
</html>

ブラウザで/helloworldにアクセスすると、追加したページの表示が確認できました。

started-with-laravel08

 

コントローラー

先ほど作成したページにコントローラーを使ってみます。
コントローラーはアクセス時の処理などを記述するファイルで、/app/Http/Controllers 以下に格納します。

先ほど追加したroutes.phpの記述を以下に変更します。

Route::get('/helloworld', 'HelloworldController@hello');

先ほどはroutes.phpファイル内でviewファイルをreturnしていましたが、HelloworldControllerというコントローラーを呼ぶように変更しました。

/app/Http/Controllers 以下にHelloworldController.phpを作成します。

<?php
namespace App\Http\Controllers;
 
class HelloworldController extends Controller
{
    public function hello()
    {
        $str = 'Laravel';
        return view('helloworld', ['lang' => $str]);
    }
}

コントローラー内で変数を定義して、view内でlangという変数が使えるようにしています。

helloworld.blade.phpを一部書き換えます。

<h1>Hello World in <?php echo $lang; ?></h1>

ブラウザで確認すると、変更が反映されていることが確認できました。

started-with-laravel09

xxx.blade.phpのようなファイル名の場合、以下のように{{変数名}}という形でも出力できます。

<h1>Hello World in {{$lang}}</h1>

 

【参考サイト】

 

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年11月
 12
3456789
10111213141516
17181920212223
24252627282930