とほほのLaravel入門
目次
Laravelとは
- PHP で記述された Webフレームワークの一つです。
- PHPフレームワークでは CakePHP と Symfony が争っていた時代がありましたが、最近は Laravel 一強の感があります。
- Ruby の Ruby on Rails、Python の Django、PHP の Laravel で三大フレームワークとも呼ばれます。
- マイクロソフト .NET の開発に関わっていた Taylor Otwell 氏が開発。
- PHPのライブラリ管理システム Composer を利用。
- Symfony のライブラリをいくつか使用しています。
- ライセンスは MIT License。
- 通常のリリース版は、バグフィックスが半年、セキュリティバグフィックスが1年間。
- LTS(Long Time Support)版は、バグフィックスが2年間、セキュリティバグフィックスが3年間予定されています。
- 現在(2020年3月)時点の最新版は 7.3.0。LTS(Long Time Support)版は 6.x が最新です。
- Laravel を少し軽量化した Lumen というマイクロフレームワークも公開されています。
インストール
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!" と表示されれば成功です。
リンク
- Laravel Official Site: https://laravel.com/
- API Reference: https://laravel.com/api/7.x/
Copyright (C) 2020 杜甫々
初版:2020年3月29日 最終更新:2020年3月29日
https://www.tohoho-web.com/ex/laravel.html