20210305のlaravelに関する記事は11件です。

久しぶりにLaravel触ろうとしてすっかり忘れてた [Mac]

久しぶりにLaravel触ろうとしてすっかり忘れてたので入力コマンドを一覧にしてみた

※諸事情によりLaravel6系でやります。
Laravelのサポートについてはこちらの方が詳しく説明されています。

目次

  • composerが入っているかの確認
  • composerでlaravelインストール
  • バージョンを指定してプロジェクトを作成
  • laravelの起動を確認
  • MySQLの設定
  • SQLiteの場合
  • laravel日本語化

composerが入っているかの確認

composer
composer -v

開発環境の構築が必要な場合

Homebrewインストール

Homebrew~composer
# Homebrewインストール
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# composerインストールと確認
brew install composer
composer

composerでlaravelインストール

composer-laravel
composer global require "laravel/installer"

バージョンを指定してプロジェクトを作成

composer-laravel
composer create-project laravel/laravel "プロジェクト名" 6.* --prefer-dist

laravelの起動を確認

※ポートは任意。なくても良い

laravel
cd "プロジェクト名"
php artisan serve --port=8080

http://127.0.0.1:8080にアクセス

MySQLの設定

MySQL
mysql.server start
mysql -u root -p
# パスを聞かれるがそのまま[enter]
MySQLデータベース作成、パスワード設定
create database 'データベース名';
show databases;
use 'データベース名';
update mysql.user set password=password('パスワード') where user='root';
flush privileges;
exit;
MySQL再起動
mysql.server stop
mysql.server start

.envファイル変更

.env修正
DB_CONNECTION=mysql
DB_HOST=localhost //修正
DB_PORT=3306
DB_DATABASE='データベース名' //修正
DB_USERNAME=root
DB_PASSWORD='パスワード' //修正

SQLiteの場合

.env修正
DB_CONNECTION=sqlite //変更
// DB_DATABASE='データベース名' //コメントアウト
databaseディレクトリにファイル作成
cd "プロジェクト名"/database
touch database/database.sqlite

laravel日本語化

config/app.phpの修正

app.phpの修正
'timezone' => 'Asia/Tokyo',// タイムゾーン
'locale' => 'ja',          // 第一言語を日本語(ローカライゼーション)
'fallback_locale' => 'en', // 該当言語が見つからない場合の言語
'faker_locale' => 'ja_JP',

ここまでで、laravel初期設定は完了です。

参考

https://qiita.com/park-jh/items/78efe8c3c93cf533aafa
https://qiita.com/S-Masakatsu/items/b231a8a02737aff6a808

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Laravel8でUUIDを使用してみるよ【簡単】

UUIDを使う方法をサクッと書いていきます。

ライブラリインストール

composer require goldspecdigital/laravel-eloquent-uuid:^8.0

マイグレーション

    public function up()
    {
        Schema::create('article_drafts', function (Blueprint $table) {
            $table->id();
            $table->uuid('uuid')->unique();
            //以下は好きなものを書きましょう。
        });
    }

ちなみにUUIDをプライマリキーにする人もいますが、外部キーとして使用することもある場合は、別にUUID用のカラムを作った方が良きです。

リレーれション先でも128ビットの数値をデータとして持っておくのは非効率ですからね。

UUIDの生成(データの保存)

あとは下記のように保存したい時に記述してあげればOK。

use Illuminate\Support\Str;

//省略

'uuid'=>(string) Str::uuid(),

idを隠す

ついでにidは隠しておくと良きです。

class Article extends Model
{
    protected $fillable = [
        'uuid',//お好きなように
    ];

    protected $hidden = [
        'id' //こんな感じ。
    ];
}

これで、idが隠れます。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【Laravel】ミドルウェアについて

今回はLaravelのミドルウェアについて解説していきます。

ミドルウェアとは

リクエストを受け取るとコントローラーの処理の前後に割り込み、独自の処理を追加する仕組みです。

基本はコントローラーですが、フォームに入力された値をチェックするような仕組みを考えた場合、送られてきた値を1つずつチェックすることは可能です。
しかし、一度に10ページ、100ページもあったら全てのページをチェックするのに効率的ではありません。

そこでLaravelではコントローラーとは別に指定のアドレスにリクエストが送られてきたら、自動的に何らかの処理を行うという仕組みを用意しています。

image.png

リクエストがアクションに届く前と後に割り込んで処理を実行します。

ミドルウェアの作成

ミドルウェアの作成は、「artisan make:middleware ミドルウェア名」で作成できます。

php artisan make:middleware HelloMiddleware
HelloMiddleware.php
<?php

namespace App\Http\Middleware;

use Closure;

class HelloMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        return $next($request);
    }
}

namespace App\Http\Middleware;は「app」の「Http」フォルダ内にある「Middleware」フォルダの中にスクリプトファイルは置かれています。namaspaceを利用しないと正しくクラスは利用できません。

handleメソッドについて

以下の部分についてです。
第一引数の$requestはリクエストの情報を管理するRequestインスタンスが渡されます。$nextは、Closureクラスのインスタンスです。ここで渡された$nextははクロージャ(関数名を指定せずに関数を作成できるようにするもの)になっており、これを呼び出して実行することでミドルウェアからアプリケーションへと送られるリクエストを作成できます。

public function handle($request, Closure $next)
    {
        return $next($request);
    }

HelloMiddlewareを修正

HelloMiddleware.php
<?php

namespace App\Http\Middleware;

use Closure;

class HelloMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
     $data = [
          ['name'=>'taro','mail'=>'taro@yamada'],
          ['name'=>'hanaco','mail'=>'hanaco@yamada'],
          ['name'=>'hideto','mail'=>'hideto@yamada'],
      ];
        $request->merge(['data'=>$data]);
        return $next($request);
    }
}

$request->merge(配列);

このmergeは、フォームの送信などで送られる値(inputの値)に新たな値を追加するものです。コントローラー側では$request->dataでこの値を取り出すことができます。

Kernel.phpを開き、$routeMiddlewareに代入している変数内に以下の文を追記します。

'hello' => \App\Http\Middleware\HelloMiddleware::class,

これでHelloMiddlewareが登録され、利用可能になります。

ミドルウェアの実行

これを使用するには利用するミドルウェアを呼び出す処理の追記が必要になります。
これはルーティングに記載するのが一般的です。

web.phpに以下を追記します。

web.php
//use App\Http\Middleware\HelloMiddleware;

Route::get('hello', 'HelloController@index')->middleware(HelloMiddleware::class);

ミドルウェアを利用する場合は、Route::getの後にメソッドチェーンを使って、Middlewareメソッドを追加します。引数には、利用するミドルウェアクラスを指定します。

また、以下のように連続して記述することもできます。

Route::get('hello', 'HelloController@index')->middleware(HelloMiddleware::class)>middleware(HelloMiddleware::class);

そしてHelloControllerアクションをとhello/index.blade.phpを以下のように編集します。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class HelloController extends Controller
{
   public function index(Request $request){
       return view('hello.index',['data'=>$request->data]);
   }
}
@section('content')
<p>これが本文のコンテンツです。</p>
@foreach($data as $item)
<tr><th>{{$item['name']}}</th><td>{{$item['mail']}}</td></tr>
@endforeach
@endsection
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Laravel 入門 初期設定

Laravelの使い方をチュートリアル形式でまとめています。
バージョンは6.8です。

解説をしながらCRUD機能を実装していきます。

Laravelのインストール

ここではcomposerというPHPのパッケージ管理システムを使用します。
以下を実行することでインストールと同時にプロジェクトを作成できます。

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

--prefer-distバージョン管理を含めないでプロジェクト作成
–prefer-sourceバージョン管理を含めてプロジェクト作成

cd sample-project

上記で作業していきます。
以下コマンドを実行して、http://127.0.0.1:8000にアクセスすると以下の画面が表示されます。
スクリーンショット 2021-03-05 21.24.55.png

php artisan serve

Laravelプロジェクトの構成について

─── sample-project
    ├── app       ・・・アプリケーションのプログラム部分がまとめられている。
    ├── bootstrap ・・・アプリケーション実行時に最初に行われる処理のまとめ。
    ├── config    ・・・設定関係のファイルがまとめられている。
    ├── database  ・・・MigrationファイルなどDB関連
    ├── public    ・・・公開フォルダです。Webサーバーなどのドキュメントルートがあり、javaScriptやCSS、画像など外部にそのまま公開されるファイルはここにまとめられています。
    ├── resources ・・・ビューや言語変換用ファイルなど
    ├── routes    ・・・ルーティング用ファイルです。
    ├── storage   ・・・フレームワークが使用するファイルの保存場所です。ログファイルなどはここに保存されます。
    ├── tests     ・・・テストコード
    └── vendor    ・・・Composerでインストールしたライブラリがまとめられています。 
    ├── .env       ・・・動作環境に関する情報。こっちはGithubに後悔しない用です。
    ├── .env.example ・・・動作環境に関する情報。こっちはGithubに公開用です。
    ├── artisan    ・・・artisanコマンドについて書かれています。
    ├── composer.json  ・・・composerの利用に関するものです。
    ├── composer.json  ・・・composerの利用に関するものです。
    ├── phpunit.xml ・・・PHPUnitに関するもの
    ├── server.php    ・・・サーバー起動時に利用されているプログラム。
    ├── webpack.mix.js  ・・・webpackというjavascriptパッケージツールで使うものです。
    ├── yarn.lock  ・・yarnというパッケージマネージャが使うファイルです。

route:listで確認。

これでルーティングの確認ができます。

php artisan route:list
+--------+----------+----------+------+---------+--------------+
| Domain | Method   | URI      | Name | Action  | Middleware   |
+--------+----------+----------+------+---------+--------------+
|        | GET|HEAD | /        |      | Closure | web          |
|        | GET|HEAD | api/user |      | Closure | api,auth:api |
+--------+----------+----------+------+---------+--------------+

ルート情報の基本

<?php 
Route::get('/',function(){
  return view('welcome');
});

Route::get(アドレス,関数など);
第一引数に割り当てるアドレスを、第二引数にはそれによって呼び出される処理を用意します。

データベース接続設定

以下は自分の環境に合わせて調整して下さい。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=apple
DB_USERNAME=apple
DB_PASSWORD=secret

上記の場合は、ローカルにMySQLをインストールし、appleというデータベースを作成、appleというユーザーをsecretというパスワードで作成すればOKです。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

[Laravel]リレーション先のデータもファクトリでまとめて作成

概要

テストを実装している時に一対一、または一対多のテーブルの情報があり、リレーション先のデータごとまとめてFactoryで作成したい時の方法をメモします。

例えば特定のUserと紐づいたPostを作成したいときなどに使えます。

ここではファクトリでのテストデータ作成方法には触れません。

環境

Laravel v8.12

実装

一対多テーブル
User→一
Post→多

Userからアクセス

Test.php
$user = User::factory()->has(Post::factory())->create();

Postの数を指定することもできます。

Test.php
$user = User::factory()->has(Post::factory()->count(3))->create();

Postからアクセス

$posts = Post::factory()->count(3)
    ->for(User::factory()->state([
        'name' => 'hogehoge',
    ]))

参考文献

公式

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

開発環境のLaravelアプリケーションにphp-graph-sdkを使用してFacebookログイン機能を組み込む時に詰まったこと

LaravelでFacebookログインボタンを設置して、AccessTokenを取得する処理を書きたい

とりあえず以下のライブラリを使うことに。

Dockerfileとdocker-compose.ymlを使用して開発環境を作成。http://localhost:3000/facebook/loginでボタンを表示するようにしました。
以下にコードを記しますが、Facebookのドキュメントのまんまです。

Controllers/FacebookController.phpの一部

//ログインボタンを表示する処理

public function login()
{
  $fb = new Facebook\Facebook([
    'app_id' => '{app-id}',
    'app_secret' => '{app-secret}',
    'default_graph_version' => 'v2.10',
  ]);

  $helper = $fb->getRedirectLoginHelper();

  $permissions = ['email']; // Optional permissions

  //callback先はhttp://localhost:3000/facebook/callbackに
  $loginUrl = $helper->getLoginUrl('http://localhost:3000/facebook/callback', $permissions);

  echo '<a href="' . $loginUrl . '">Log in with Facebook!</a>';
}
//callback先でAccessTokenを表示する処理

public function callback()
{
  $fb = new Facebook\Facebook([
    'app_id' => '{app-id}',
    'app_secret' => '{app-secret}',
    'default_graph_version' => 'v2.10',
  ]);

  $helper = $fb->getRedirectLoginHelper();

  try {
    //後々ここでエラー発生!!!!!!!!!
    $accessToken = $helper->getAccessToken();
  } catch(Facebook\Exception\ResponseException $e) {
    echo 'Graph returned an error: ' . $e->getMessage();
    exit;
  } catch(Facebook\Exception\SDKException $e) {
    echo 'Facebook SDK returned an error: ' . $e->getMessage();
    exit;
  }

  $oAuth2Client = $fb->getOAuth2Client();
  $tokenMetadata = $oAuth2Client->debugToken($accessToken);
  $tokenMetadata->validateAppId($config['app_id']);
  $tokenMetadata->validateExpiration();

  if (! $accessToken->isLongLived()) {
    try {
      $accessToken = $oAuth2Client->getLongLivedAccessToken($accessToken);
    } catch (Facebook\Exception\SDKException $e) {
      echo "<p>Error getting long-lived access token: " . $e->getMessage() . "</p>\n\n";
      exit;
    }

    echo '<h3>AccessToken</h3>';
    var_dump($accessToken->getValue());
  }
}

意気揚々とログインを実行するとエラーが発生...

エラー内容はこちらです。

Graph returned an error:
Please make sure your redirect_uri is identical to the one you used in the OAuth dialog request

Googleログインなどでもよくある、APIの管理画面でリダイレクトURLを設定忘れだと思い管理画面へアクセス。

ドキュメント読むとなんとFacebookログインのリダイレクト先はhttps必須とのこと..

2018年10月6日から、すべてのアプリでHTTPSの使用が必須になります。

しかし!!
管理画面を見てみると以下の記述がありました!
http://localhost のリダイレクトは開発モードでのみ自動的に許可され、ここに追加する必要はありません」
スクリーンショット 2021-03-03 18.54.56.png

開発モードの場合はhttp://localhost からもログインできる!

Facebookはリダイレクト先のhttps強制。
しかし、localhostは別とのこと。良かった!!

開発モードについてはこちらを参照。

ざっくりまとめると以下のようなことが書かれている。

アプリのモードは、誰がアプリを使用できるかを決定します。
開発モードのアプリは、アプリ上の役割を持つアプリユーザー、またはアプリを主張しているビジネスの役割を持つアプリユーザーのみが使用できます。

ってことは自分のアプリ開発モードになっていない説..?

調べたところ..
自分のはビジネスアプリとして作成したてのアプリだったので確かに開発モードになっていました。
厳密に言うと、ビジネスアプリで作成したアプリには開発モードという概念は無いそうですが、一般に公開をしていない限り開発モードと同じらしい。

新しく作成されたアプリはすべて開発モードでスタートし、アプリの開発が完了するまでライブモードに切り替えないでください。
ビジネスアプリにはアプリモードがなく、同じ機能を提供するアクセスレベルに依存していることに注意してください。

ということはなぜリダイレクトエラー出るの??解決法

エラーが出ている箇所は上記のFacebookController.phpのcallback()内の以下の一文でした。
$accessToken = $helper->getAccessToken();

結論ですが、以下のようにcallback先のURLを明示的に渡してあげると解決しました。

$accessToken = $helper->getAccessToken(url(/facebook/callback)');
  or
$accessToken = $helper->getAccessToken(http://localhost:3000/facebook/callback);

なぜこの方法で解決できた??

ライブラリ内のgetAccessToken()を覗いてみます。こちらの行に関数が書かれています。

getAccessToken()の引数はnullを渡しても、ログインボタンに埋め込まれているURLからリダイレクトして、現在地のURLをよしなに取得してくれるはず。

//ログインボタンの所はこう書きました
$loginUrl = $helper->getLoginUrl('http://localhost:3000/facebook/callback', $permissions);
echo '<a href="' . $loginUrl . '">Log in with Facebook!</a>';
//ライブラリの中身抜粋 (現在地からURLを取得してくれる処理)
$redirectUrl = $redirectUrl ?: $this->urlDetectionHandler->getCurrentUrl();
$redirectUrl = FacebookUrlManipulator::removeParamsFromUrl($redirectUrl, ['code', 'enforce_https', 'state']);
echo $redirectUrl

この関数を手元で実行してみると....
以下が返ってきました。ポート番号の:3000が消えてる...これだとredirectUrlが確かに一致していません。

http://localhost/facebook/callback

理想は以下のURLを返したい

理想:http://localhost:3000/facebook/callback

さらに探っていくと原因が分かりました。
ポート番号を取得する処理はこんな感じで書かれていました。

$port = isset($_SERVER["HTTP_X_FORWARDED_PORT"]) ? $_SERVER["HTTP_X_FORWARDED_PORT"] : '';

これを実行すると、''が返ってきました。
$_SERVER["HTTP_X_FORWARDED_PORT"]に値が入っていないようです。

HTTP_X_FORWARDED_PORTがよく分かっていないですが、、調べてみると

If you are serving from behind a proxy server, you will almost certainly save time by looking at what these $_SERVER variables do on your machine behind the proxy.

日本語訳: プロキシサーバの後ろからサービスを提供している場合、これらの $_SERVER 変数がプロキシの後ろのマシンで何をしているかを見れば、ほぼ確実に時間を節約することができます。

X-Forwarded-Port リクエストヘッダーは、ロードバランサーへの接続にクライアントが使用した送信先ポートを識別するために役立つそうです。

なるほど、今回はDockerを使っています。ポート番号3000をブラウザのURLの入力欄に入力すると、nginxの80番にポートフォワードするようにしています。プロキシサーバーは使用していないので、$_SERVER["HTTP_X_FORWARDED_PORT"]に値が入っていないのですね。おそらく。

$port = isset($_SERVER["HTTP_X_FORWARDED_PORT"]) ? $_SERVER["HTTP_X_FORWARDED_PORT"] : $_SERVER["HTTP_HOST"];

こう書くと"localhost:3000"を返してくれますが..
どうするのがベストなのだろう??

ということでプロキシサーバーを使用せずに、このライブラリを使用したFacebookログイン機能で詰まるかもしれません。

そんな場合は以下のように書いてみてください!

$accessToken = $helper->getAccessToken(url(/facebook/callback)');
   or
$accessToken = $helper->getAccessToken(http://localhost:3000/facebook/callback);

以上です。
コメントや指摘等お待ちしております。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Laravel はじめました [1. 環境構築]

Java エンジニアですが仕事で使うので Laravel を勉強してみました。

要件

  • PHP 5.6
  • Laravel 3
  • MySQL 5.7
  • Apache 2.4

開発環境

  • macOS Big Sur
  • VSCode

ローカル環境構築

  • mac に php 5.6 をインストール

    $ brew install php@5.6
    
    • 上記でいけると思ったら、Homebrew で php 5.6 のサポートは切れているとのこと
    • サードパーティ製のリポジトリからインストールした

      $ brew tap exolnet/homebrew-deprecated
      $ brew install php@5.6
      
  • VSCode に 以下プラグインを追加

    • Laravel Artisan
    • Laravel Brade Snippets
    • Laravel goto view
    • Laravel Snippets
    • PHP Debug
    • PHP IntelliSense
  • ローカル PC に PHP をインストールするつもりはない

リモート環境構築

どうせなら docker 上で動かそうと思い、 github をウロウロしました。
かなり素晴らしいリポジトリを発見したので、 fork させていただきました。

  • sosobl/env-laravel

  • 構成

    • app
      • php と apache が稼働するコンテナ
    • db
      • MySQL が稼働するコンテナ
      • 一応コンテナを落としても中身は残るようにしてある
  • 使い方

    • 初回 (Laravel プロジェクトを作成する)

      $ git clone git@github.com:sosobl/env-laravel.git
      $ cd env-laravel
      $ make create-project # Install the latest Laravel project
      $ make install-recommend-packages # Not required
      
    • 2 回目以降 (docker コンテナだけ起動する)

      $ git clone git@github.com:sosobl/env-laravel.git
      $ cd env-laravel
      $ git clone git@github.com:laravel/laravel.git docker-laravel/backend # Clone any project to the backend directory
      $ make init
      
  • 説明は割愛します

    • 一応自分なりに理解できるまでソースは読みました
    • が、説明を記述するほどの余力は残りませんでした
    • fork 元よりステップ数は減っているので、お暇があれば読んでみてくだちい

改善点

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

LaravelのMySQLデータベースをXAMPPからDockerに切り替え

自分はこのやり方でできたという記録用です。私はXAMPPを使っていましたが、Dockerに切り替えたいと思います。
既にアプリの中身は完成している状態から始めます。

プロジェクトのターミナルでDocker imageをダウンロード

docker pull mysql

mysqlサーバーを立てる

docker run --name mysql-server -e MYSQL_ROOT_PASSWORD="admin" -d -p 53306:3306 mysql

mysqlへログイン

mysql -uroot -padmin -h 127.0.0.1 -P 53306

XAMPPで作成していたデータベースをDockerのmysqlでも作成します。
新しいデータベースをXAMPPのものと同じように作り変えます。

php artisan migrate:fresh

エラー

SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client (SQL: SHOW FULL TABLES WHERE table_type = 'BASE TABLE')

認証方式を変えます。

SELECT user, host, plugin FROM mysql.user;

//私の結果
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| root             | %         | caching_sha2_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | caching_sha2_password |
+------------------+-----------+-----------------------+

私の場合rootの二つを変えました。

alter user 'root'@'%' identified with mysql_native_password by 'pass';
alter user 'root'@'localhost' identified with mysql_native_password by 'pass';

envファイルを書き換えます。

DB_CONNECTION=mysql
DB_HOST=localhost  //変更
DB_PORT=53306    //変更
DB_DATABASE=database_name  //自分が新しく作ったデータベース名
DB_USERNAME=root
DB_PASSWORD=pass  //先程のパスワード

ここまでできたらマイグレーションします。

php artisan migrate:fresh

php artisan serveと打つとデータベースにデータが入っていない状態で立ち上がると思います。シーダーファイルの中身を入れます。

php artisan db:seed

これでデータベースの移行が完了しました。

参考
https://tyablog.net/2017/06/10/docker-setup-mysql/
https://symfoware.blog.fc2.com/blog-entry-2160.html

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Laravel セットアップ中つまづいたことメモ

エラー1. No application encryption key has been specified.

これはencryption keyを設定しないと出るエラーです。
が、 php artisan key:generateでキーを生成しても出続けるエラーに困惑しました

解決方法

configのキャッシュが効いているのが原因でした。

$ php artisan config:clear

でキャッシュをクリアすると無事このエラーが解消されました。
参照:エラー"No application encryption key has been specified."が出るとき

エラー2. The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths.

エラー文を読む限り、サポートされている記号でないですよ!と怒られているよう。

色々調べてみると、どうやらbootstrapフォルダのパーミッションの問題らしい。
ls -l で調べてみると drwxr-xr-xとなっていたので、

$ chmod 775 bootstrap

でパーミッションを変更。

そしてkeyをgenerateしてキャッシュをクリアすれば無事表示されました。

$ php artisan key:generate
$ php artisan config:clear

スクリーンショット 2021-03-05 15.26.34.png

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【Laravel】Seedデータファイルを作るコマンド

php artisan make:seeder UserTableSeeder

USerTableSeeder.phpファイルをつくることができる。

<?php

use Illuminate\Database\Seeder;

class USerTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        //
    }
}

コマンドで作られたファイルの中身はこのような記述になっている.

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Laravelについての認識

Laravelのインストール場所

今まではPC本体にLaravelをインストールするものだと考えていましたが、Laravelinstallerを用いて作成したプロジェクト自体にLaravelが存在するらしい。

つまりWord等のソフトウェアとしてインストールするわけではない。

Laravelを利用する = Laravelinstallerを用いてLaravelの組み込まれたプロジェクトを作る

Laravelinstaller ≒ Laravel

的な感じ?

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む