とほほのLaravel入門

目次

Laravelとは

インストール

CentOS 7 に Laravel 7.3 をインストールする手順を示します。

Shell
必要なパッケージと PHP 7.2 をインストールする
# yum install -y zip unzip
# yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
# yum install -y --enablerepo=remi,remi-php72 php php-bcmath php-json php-mbstring php-pdo php-xml php-zip

Composer をインストールする
# curl -sS https://getcomposer.org/installer | php
# mv ./composer.phar /usr/local/bin/composer

Composer を用いて Laravel インストーラをインストールする
# composer global require laravel/installer
# echo export PATH=$PATH:~/.composer/vendor/bin/ >> ~/.bashrc
# source ~/.bashrc
# laravel --version
Laravel Installer 3.0.1

プロジェクトを作成する

Laravelインストーラを用いて blog という名前のプロジェクトを作成します。

Shell
# cd /opt
# laravel new blog
# cd blog

簡易サーバを起動する

簡易サーバを起動します。簡易サーバは試験用のものですので、本番では使用しないようにしてください。

Shell
# php artisan serve --host=0.0.0.0 --port=80

ブラウザから http://サーバアドレス/ にアクセスして、「Laravel」と表示されれば成功です。

Apacheから起動する

Apache をインストールします。

Shell
# yum install -y httpd

コンフィグファイル /etc/httpd/conf.d/laravel.conf を作成します。

/etc/httpd/conf.d/laravel.conf
<VirtualHost "*:80">
    DocumentRoot /opt/blog/public
    ServerName www.example.com
    <Directory "/opt/blog/public">
        AllowOverride All
        Options All
        Require all granted
    </Directory>
</VirtualHost>

./storage, ./bootstrap/cache ディレクトリのパーミッションを変更します。

Shell
# chown -R apache:apache ./storage ./bootstrap/cache

httpd を起動します。

Shell
# systemctl enable httpd
# systemctl start httpd

ブラウザから http://サーバアドレス/ にアクセスして、「Laravel」と表示されれば成功です。

ルーティングを設定する

./routes/web.php にルーティング情報を追記します。

./routes/web.php
<?php
use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    return view('welcome');
});
Route::get('/hello', function () {
    return 'Hello world!';
});

http://~/hello にアクセスして、"Hello world!" と表示されれば成功です。

引数を使用するには下記の様にしてください。

./routes/web.php
Route::get('/hello/{name}', function ($name) {
    return 'Hello ' . $name . '!';
});

http://~/hello/Yamada にアクセスして、"Hello Yamada!" と表示されれば成功です。

ビューを利用する

ビューファイル ./resources/view/hello.blade.php を作成します。

./soureces/view/hello.blade.php
<!doctype html>
<html>
  <head>
    <title>TEST</title>
  </head>
  <body>
    <h1>Hello {{ $name }}!</h1>
  </body>
</html>

./routes/web.php を下記の様に修正します。

./routes/web.php
Route::get('/hello/{name}', function ($name) {
    return view('hello', ['name' => $name]);
});

http://~/hello/Yamada にアクセスして、"Hello Yamada!" と表示されれば成功です。