現在、kagoya の vps に django を設定して画像も保存できるカード型データベースを動かしています。
ちょっとしたことをデータベースに記録しておくと、キーワードでの検索も簡単ですし、画像も保存できるのでとても重宝しています。
kagoya の vps は 24 円/日で月々の上限が 660 円と格安で、しかも課金は 1 日ごとなのでいつでもやめることができます。
660 円/月なので高くはないのですが、あと1年ちょっとで年金生活になるので、できれば xserver に移したいと思っていました。
ところが、xserver では django の設定がとても大変なようです。
そこで、laravel ならどうなんだろうかと考えました。
ネットに xserver に laravel を設定する記事があって、そのとおりにしたら簡単に設定できたので、おそらくアプリをローカルで作成してデプロイすれば、laravel によるカード型データベースが動くのではないかと思います。
laravel は簡単?
サーバーサイドのスクリプトとして php はとても入りやすいと思いますが、私は最近 dicom ファイルを扱うようになって python の方をよく使うようになりました。
tornado、flask、django といろいろ試してみましたが、djangoはとても難解です。
しかし、あれこれやっているうちにそれなりに動くようにはなってきました。
laravel は 1 年ほど前に少しかじったのですが、とても難解な感じがしてやめてしまいました。
でも、ネットによると django に比べて laravel の方が簡単とのこと、えーっそうですかね?
簡単とは思えませんが。
でも、xserver で動かすには laravel しかないと思うので、もう一度 laravel に挑戦してみます。
composer のインストール
まずは、composer をインストールします。
環境は linux mint 21 です。
sudo apt install composer
プロジェクトの作成
ホームディレクトリに hello というプロジェクトを作成します。
composer create-project laravel/laravel hello
起動します。
cd ~/hello
php artisan serve
アドレスバーに「http://127.0.0.1:8000/」と入力すると、
なるほど、ここまでは簡単。
hello world
routing によって呼び出されるプログラムを選り分けていると思いますが、routing の情報は routes/web.php にあるようです。
routes/web.php を以下のように書き換えます。
routes/web.php
<?php
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('welcome');
});
Route::get('/hello', function () {
return view('hello');
});
view(django の template?)は resources/views の中にあります。
その中に hello.blade.php を新規作成します。
resources/views/hello.blade.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Hello</title>
</head>
<body>
<div class="card bg-primary text-white mb-3" style="width: 24rem;">
<div class="card-body">
<h1 class="card-title">hello world by blade</h1>
</div>
</div>
</body>
</html>
アドレスバーに「http://127.0.0.1:8000/hello」と入力すると、
仕組みがよくわかりませんが、こんな感じでしょうか?