Laravel で HelloWorld

Laravel のインストールが完了してから、HelloWorld を表示するプログラムを作ります。
>Laravel のインストールはこちら
[Laravel 5.6 インストール](https://readouble.com/laravel/5.6/ja/installation.html)
>>Ubuntu 20.10 の場合
sudo apt install php-zip
sudo apt install php-mbstring
composer global require "laravel/installer"
PATH の設定

```bash
export PATH=$HOME/.config/composer/vendor/bin:$PATH
```

完成すると次のような表示がされます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/dbddac28-94e7-113a-23b7-5fa042a24558.png)


参考にしたページ
[HelloWorldの表示](https://www.ritolab.com/entry/48#aj_CCCC)

laravel コマンドがインストールされているかの確認

```text
$ which laravel
/home/uchida/.config/composer/vendor/bin/laravel
```

```text
$ laravel --version
Laravel Installer 5.1.0
```

必要なライブラリーのインストール

```bash
sudo apt install php-curl
sudo apt install php-xml
```

<ol>
<li>プロジェクトの作成</li>

```bash
laravel new helloworld
```

<li>パーミッションの変更</li>

```bash
cd helloworld
chmod -R 0777 storage
chmod -R 0777 bootstrap/cache
```

<li>key の生成</li>

```bash
composer update
php artisan key:generate
```

<li>この段階でサーバーを動かす</li>

```bash
php artisan serve --host 0.0.0.0
```

http://0.0.0.0:8000 にアクセスする
![laravel_feb1501.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/af772198-6c3f-e4a4-5046-73e80ee8b2c1.png)


Laravel のバージョンの確認

```text
$ php artisan --version
Laravel Framework 10.37.3
```

<li>routes/web.php を編集</li>
最後に１行を加える

```php:routes/web.php
（省略）
Route::get('/', function () {
    return view('welcome');
});

Route::get('hello', 'App\Http\Controllers\HelloController@index');
```

<li>コントローラーの作成</li>

```bash
php artisan make:controller HelloController
```

<li>app/Http/Controllers/HelloController.php の編集</li>

```php:app/Http/Controllers/HelloController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class HelloController extends Controller
{
    //
  public function index()
  {
    return view('hello');
  }
}
```

<li>resources/views/hello.blade.php の作成</li>

```php:resources/views/hello.blade.php
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>My First Page</title>
</head>
<body>
  <h2>Hello World!!</h2>
  <p>皆さん、こんにちは</p>
<p>Dec/16/2023</p>
</body>
</html>
```

<li>サーバーを動かします。</li>

```bash
php artisan serve --host 0.0.0.0
```

http://0.0.0.0:8000/hello にアクセスする

もし、何かタイプミスがあると、次のようになります。
![laravel_jun0401.png](https://qiita-image-store.s3.amazonaws.com/0/179446/24bb3f93-4be2-5391-d926-8d0da66d3f65.png)

タイプミスを修正すれば、冒頭の画面が表示されます。

</ol>

## 確認した環境

```text
$ uname -a
Linux shimizu 6.5.0-14-generic #14-Ubuntu SMP PREEMPT_DYNAMIC Tue Nov 14 14:59:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

$ php --version
PHP 8.2.10-2ubuntu1 (cli) (built: Sep  5 2023 14:37:47) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.10-2ubuntu1, Copyright (c), by Zend Technologies
    
$ php artisan --version
Laravel Framework 10.37.3
```

## もう少し複雑なサンプルです。
>[Laravel でデータの受け渡し](https://qiita.com/ekzemplaro/items/482ea99e3548029eaf18)
[Laravel で MariaDB のデータを表示](https://qiita.com/ekzemplaro/items/55a71c651102b7f1a2dc)

## 参考
Composer のインストール方法

```bash
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
sudo php composer-setup.php --install-dir=/usr/bin  --filename=composer;
```

バージョンの確認

```text
$ composer --version
Composer version 2.6.2 2023-09-03 14:09:15
```

## 参考ページ
[composer self-update で Command "self-update" is not defined. と表示される場合](https://qiita.com/mugimugi/items/149446c39005c039a391)