Laravel | POPWEB https://blog.popweb.dev Developer, Blogger, Illustrator in Tokyo. Sat, 27 Nov 2021 08:45:03 +0000 ja hourly 1 https://wordpress.org/?v=6.7.6 https://storage.googleapis.com/gcs.pop-web.net/2021/01/favicon.ico Laravel | POPWEB https://blog.popweb.dev 32 32 【Laravel】中間テーブルのカラムに対して検索をかけたい時【whereHas】 https://blog.popweb.dev/programming/laravel/%e3%80%90laravel%e3%80%91%e4%b8%ad%e9%96%93%e3%83%86%e3%83%bc%e3%83%96%e3%83%ab%e3%81%ae%e3%82%ab%e3%83%a9%e3%83%a0%e3%81%ab%e5%af%be%e3%81%97%e3%81%a6%e6%a4%9c%e7%b4%a2%e3%82%92%e3%81%8b%e3%81%91/ https://blog.popweb.dev/programming/laravel/%e3%80%90laravel%e3%80%91%e4%b8%ad%e9%96%93%e3%83%86%e3%83%bc%e3%83%96%e3%83%ab%e3%81%ae%e3%82%ab%e3%83%a9%e3%83%a0%e3%81%ab%e5%af%be%e3%81%97%e3%81%a6%e6%a4%9c%e7%b4%a2%e3%82%92%e3%81%8b%e3%81%91/#respond Wed, 17 Mar 2021 01:10:12 +0000 https://blog.popweb.dev/?p=1677 タイトル通りだが、まずはやりたいことの説明 目次 やりたいこと状況解決方法 やりたいこと リレーション先の中間テーブルのカラムの値に対して検索をかけたい。 状況 menus、stores、menu_store(中間テーブ […]

The post 【Laravel】中間テーブルのカラムに対して検索をかけたい時【whereHas】 first appeared on POPWEB.]]>
タイトル通りだが、まずはやりたいことの説明

やりたいこと

リレーション先の中間テーブルのカラムの値に対して検索をかけたい。

状況

menus、stores、menu_store(中間テーブル)とうテーブルを作成しており、

モデルは以下のような感じで中間テーブルを置いてリレーションしている。

class Menu extends Model
{    
    public function stores()
    {
      return $this->belongsToMany('App\Store','menu_store','menu_id','store_id')->withTimestamps();
    }
}
class Store extends Model
{    
    public function menus()
    {
      return $this->belongsToMany('App\Menu');
    }
}

解決方法

whereHasを使う。

以下だと、中間テーブルであるmenu_storeのstore_idでwhereInで条件を絞りたい時の場合。

$storeId = [1,2,3]
$query = Menu::query();
$query->whereHas('stores', function($q) use($storeId)  {
    $q->whereIn('menu_store.store_id', $storeId);
});

コールバック関数の中でリレーション先である中間テーブルの検索条件を指定してあげれば良い。

中間テーブルのカラムではなく、中間テーブルを介して結合しているテーブル(storesテーブル)のカラムで検索することも可能。

その場合も同様でコールバック関数の中の詳細条件を変更すれば良い。

$q->whereIn('store.store_id', $storeId)

The post 【Laravel】中間テーブルのカラムに対して検索をかけたい時【whereHas】 first appeared on POPWEB.]]>
https://blog.popweb.dev/programming/laravel/%e3%80%90laravel%e3%80%91%e4%b8%ad%e9%96%93%e3%83%86%e3%83%bc%e3%83%96%e3%83%ab%e3%81%ae%e3%82%ab%e3%83%a9%e3%83%a0%e3%81%ab%e5%af%be%e3%81%97%e3%81%a6%e6%a4%9c%e7%b4%a2%e3%82%92%e3%81%8b%e3%81%91/feed/ 0
LaravelでスクレイピングしてHerokuで定期実行する方法 https://blog.popweb.dev/programming/laravel/laravel%e3%81%a7%e3%82%b9%e3%82%af%e3%83%ac%e3%82%a4%e3%83%94%e3%83%b3%e3%82%b0%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/ https://blog.popweb.dev/programming/laravel/laravel%e3%81%a7%e3%82%b9%e3%82%af%e3%83%ac%e3%82%a4%e3%83%94%e3%83%b3%e3%82%b0%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/#respond Fri, 22 Jan 2021 04:38:07 +0000 https://blog.popweb.dev/?p=1472 まず、LaravelでWebスクレイピングするため、ライブラリである「FriendsOfPHP/Goutte」をインストールする。 LaravelのバージョンはLaravel6.20。 目次 インストール実装contro […]

The post LaravelでスクレイピングしてHerokuで定期実行する方法 first appeared on POPWEB.]]>
まず、LaravelでWebスクレイピングするため、ライブラリである「FriendsOfPHP/Goutte」をインストールする。

LaravelのバージョンはLaravel6.20。

インストール

$ composer require fabpot/goutte

以前のLaravelのバージョンではconfigファイルを設定する必要があるが、Laravel5.5以降はAutoDiscoveryがあるのでそのまま使える。

実装

まず、controllerを作成する。

$ php artisan make:controller ScrapingController

controllerに処理を書く

今回は漫画書籍ランキングからタイトルだけ取得してみる。

<?php

namespace App\Http\Controllers;

use Goutte\Client;

class ScrapingController extends Controller
{
    public function scraping()
    {
        $client = new Client();
        $crawler = $client->request('GET', 'https://www.amazon.co.jp/gp/bestsellers/digital-text/2430812051/ref=pd_zg_hrsr_digital-text');
        $titles = $crawler->filter('li.zg-item-immersion')->each(function ($li) {
            $title = $li->filter('div.p13n-sc-truncate-desktop-type2')->text();
            return $title;
        });
        return view('scraping', compact('titles'));
    }
}

基本的には、use Goutte\Client;してnew Client();でインスタンスを作ると色々メソッドが使えるようになる。

使い方は、FriendsOfPHP/GoutteDomCrawlerが参考になると思う。

viewを作る

次に取得したタイトルを表示するviewをつくる。

@extends('layouts.app')

@section('content')
    <ol class="container">
        @foreach($titles as $title)
            <li>{{ $title }}</li>
        @endforeach
    </ol>
@endsection

ルーティングの設定

Route::get('/scraping', 'ScrapingController@scraping')->name('scraping');

表示の確認

ブラウザで表示確認してみる。

定期実行のやり方

定期実行されるには、まずコマンドラインで実行させるためコマンドクラスを作成する。

$ php artisan make:command ScrapingCommand

コマンドクラスに処理を書く

app/Console/Commands/ScrapeCommand.phpが作成されているので、これを編集。

<?php

namespace App\Console\Commands;

// useでGoutte\Clientをインポート
use Goutte\Client;
use Illuminate\Console\Command;

class ScrapingCommand extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    // コマンド名を変更
    protected $signature = 'command:ScrapingCommand';

    /**
     * The console command description.
     *
     * @var string
     */
    // コマンドの説明を変更
    protected $description = 'スクレイピングコマンド';

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {
        // スクレイピング処理を書く
        $client = new Client();
        $crawler = $client->request('GET', 'https://www.amazon.co.jp/gp/bestsellers/digital-text/2430812051/ref=pd_zg_hrsr_digital-text');
        $titles = $crawler->filter('li.zg-item-immersion')->each(function ($li) {
            $title = $li->filter('div.p13n-sc-truncate-desktop-type2')->text();
            return $title;
        });
        dd($titles);
    }
}

コマンドを実行してみる

$ php artisan command:ScrapingCommand

コマンド実行後、コマンドラインから取得が確認できたらOK。

データベース保存

データベースに保存する処理を追加。

モデルとマイグレーションファイルを作成しておく。

$ php artisan make:model Item -m

作成されたマイグレーションファイルを編集

<?php

//...

    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('items', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('title');
            $table->timestamps();
        });
    }

    //...
}

マイグレーションを実行しておく。

$ php artisan migrate

データベース保存

コマンドクラスにデータベース保存処理を追記。

<?php

namespace App\Console\Commands;

use App\Item;
use Goutte\Client;
use Illuminate\Console\Command;

class ScrapingCommand extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    // コマンド名
    protected $signature = 'command:ScrapingCommand';

    /**
     * The console command description.
     *
     * @var string
     */
    // コマンドの説明
    protected $description = 'スクレイピングコマンド';

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {
        // スクレイピング処理を書く
        $client = new Client();
        $crawler = $client->request('GET', 'https://www.amazon.co.jp/gp/bestsellers/digital-text/2430812051/ref=pd_zg_hrsr_digital-text');
        $titles = $crawler->filter('li.zg-item-immersion')->each(function ($li) {
            $title = $li->filter('div.p13n-sc-truncate-desktop-type2')->text();
            return $title;
        });
        //データベース保存
        foreach ($titles as $title)
        {
            $item = new Item;
            $item->title = $title;
            $item->save();
        }
    }
}

Herokuに定期実行を設定

Herokuにアプリをデプロイしておく。

次に、HerokuSchedulerアドオンをアプリに追加。

$ heroku addons:create scheduler:standard

HerokuSchedulerのダッシュボードを開く。

$ heroku addons:open scheduler

Add Jobをクリックして、ジョブを登録する。

「Schedule」で実行時刻を選択し、「Run Command」に作成したコマンドクラスを実行するコマンドを入力しておく。

これで、定期的にスクレイピングしてデータを取得できるようになる。

The post LaravelでスクレイピングしてHerokuで定期実行する方法 first appeared on POPWEB.]]>
https://blog.popweb.dev/programming/laravel/laravel%e3%81%a7%e3%82%b9%e3%82%af%e3%83%ac%e3%82%a4%e3%83%94%e3%83%b3%e3%82%b0%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/feed/ 0
Laravelで1ページ内に複数のpaginateを分けてページング方法 https://blog.popweb.dev/programming/laravel/laravel-multiple-paginate/ https://blog.popweb.dev/programming/laravel/laravel-multiple-paginate/#respond Mon, 16 Mar 2020 16:48:00 +0000 https://blog.pop-web.net/?p=809 Laravelでpaginateを1つのページで複数設置すると、ページングするに際にすべてが同時にページングされてしまう。 以下のようにすると、paginateの第3引数に設定したパラメータでそれぞれでリクエストがなされ […]

The post Laravelで1ページ内に複数のpaginateを分けてページング方法 first appeared on POPWEB.]]>
Laravelでpaginateを1つのページで複数設置すると、ページングするに際にすべてが同時にページングされてしまう。

以下のようにすると、paginateの第3引数に設定したパラメータでそれぞれでリクエストがなされる。

public function show(Request $request)
{
    $tags = Tag::paginate(10, ['*'], 'tags');
    $comments = Comments::paginate(10, ['*'], 'comments');

    return view('show.index', compact('tags','comments'));
}

/show?page=2だったものが、/show?tags=2/show?comments=2とで分けられて同時にページングがされなくなる。

ページングする際に、どちらのパラメータも残しつつページングを行いたい場合は、

以下のようにappendsを使うとよい。

public function show(Request $request)
{
    $tags = Tag::paginate(10, ['*'], 'tags')->appends(["comments" => $request->input('comments')]);
    $comments = Comments::paginate(10, ['*'], 'comments')->appends(["tags" => $request->input('tags')]);

    return view('show.index', compact('tags','comments'));
}

これで両方でページングを行なっても、/show?tags=2&comments=2となりそれぞれのページング状態が保持される。

The post Laravelで1ページ内に複数のpaginateを分けてページング方法 first appeared on POPWEB.]]>
https://blog.popweb.dev/programming/laravel/laravel-multiple-paginate/feed/ 0
MacにComposerをインストール手順 https://blog.popweb.dev/programming/laravel/mac-composer/ https://blog.popweb.dev/programming/laravel/mac-composer/#respond Tue, 01 Oct 2019 14:02:45 +0000 https://blog.pop-web.net/?p=586 MacOSにComposerをインストールする手順を説明する。 OpenSSLがないと、composerコマンドでライブラリダウンロードをするとエラーを起こすので手動でOpenSSLをインストールする。 OpenSSLを […]

The post MacにComposerをインストール手順 first appeared on POPWEB.]]>
MacOSにComposerをインストールする手順を説明する。

OpenSSLがないと、composerコマンドでライブラリダウンロードをするとエラーを起こすので手動でOpenSSLをインストールする。

OpenSSLをインストールするには、Homebrewが必要なのでインストールする。

Homebrewのインストール

OpenSSLをインストールするために、Homebrewが必要。

以下コマンドで、Homebrewをインストール

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

OpenSSLをインストール

brew install openssl

Composerをインストール

Download Composerにあるコマンドをそのまま実行する。

アップデートでコマンドの内容が変わることがあるので、直接公式ページに行きコマンドをコピペして実行する。

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

パスを通す

sudo mv composer.phar /usr/local/bin/composer

バージョンを確認

composer --version

バージョンが確認できたらOK!

The post MacにComposerをインストール手順 first appeared on POPWEB.]]>
https://blog.popweb.dev/programming/laravel/mac-composer/feed/ 0
Laravelのやっておいた方がいい初期設定 https://blog.popweb.dev/programming/laravel/laravel-initial-setting/ https://blog.popweb.dev/programming/laravel/laravel-initial-setting/#respond Fri, 28 Jun 2019 06:20:28 +0000 https://blog.pop-web.net/?p=293 Laravelをインストール後の、やってほい方がいい初期設定 タイムゾーンを日本時間に エラーメッセージを日本語化 目次 タイムゾーンを日本時間にエラーメッセージを日本語化resources/lang/ja/valida […]

The post Laravelのやっておいた方がいい初期設定 first appeared on POPWEB.]]>
Laravelをインストール後の、やってほい方がいい初期設定

  • タイムゾーンを日本時間に
  • エラーメッセージを日本語化

タイムゾーンを日本時間に

「/config/app.php」を編集します。

'timezone' => 'UTC',
↓
'timezone' => 'Asia/Tokyo',

エラーメッセージを日本語化

「/config/app.php」を編集します。

'locale' => 'en',
↓
'locale' => 'ja',

resources/lang/ja/validation.php作成

エラーメッセージの日本語ファイルはデフォルトで設置されていないので、手動で設定していきます。

Laravel 5.1 日本語バリデーションメッセージファイル
Laravel 5.1 日本語バリデーションメッセージファイル. GitHub Gist: instantly share code, notes, and snippets.

上記、URLから「validation.php」をダウンロードしてきます。

「resources/lang/ja/validation.php」という感じで設置します。

キャッシュをクリア

$ php artisan config:clear
または
$ php artisan config:cache

/config/*.phpを編集した後に反映されない場合は、「php artisan config:cache」をしていてキャッシュを読み込んでいるのが原因。

なので、上の2つのどちらかのコマンドを実行する必要がある。

使い分けとしては、開発環境ではphp artisan config:clearしておいて、本藩環境ではphp artisan config:cacheとするこが推奨されている。

The post Laravelのやっておいた方がいい初期設定 first appeared on POPWEB.]]>
https://blog.popweb.dev/programming/laravel/laravel-initial-setting/feed/ 0
Eloquentモデルでtimestampがないテーブルに保存・更新でエラーが出たときの対処 https://blog.popweb.dev/programming/laravel/eloquent-timestamp-error/ https://blog.popweb.dev/programming/laravel/eloquent-timestamp-error/#respond Wed, 19 Jun 2019 10:04:54 +0000 https://blog.pop-web.net/?p=188 日付情報が必要がなくタイムスタンプを作ってないテーブルへデータを更新・保存しようとすると、以下のようなエラーが出た。 「updated_atカラムがない」と言っている。 対処法 タイムスタンプを無効にするため、Model […]

The post Eloquentモデルでtimestampがないテーブルに保存・更新でエラーが出たときの対処 first appeared on POPWEB.]]>
日付情報が必要がなくタイムスタンプを作ってないテーブルへデータを更新・保存しようとすると、以下のようなエラーが出た。

Column not found: 1054 Unknown column ‘updated_at’ in ‘field list’

「updated_atカラムがない」と言っている。

対処法

タイムスタンプを無効にするため、Modelクラスに以下のように記述をする。

public $timestamps = false;
The post Eloquentモデルでtimestampがないテーブルに保存・更新でエラーが出たときの対処 first appeared on POPWEB.]]>
https://blog.popweb.dev/programming/laravel/eloquent-timestamp-error/feed/ 0
Laravel リレーション先の値がなくて、Trying to get property of non-objectがでちゃった https://blog.popweb.dev/programming/laravel/laravel-relation-erroe/ https://blog.popweb.dev/programming/laravel/laravel-relation-erroe/#respond Mon, 10 Jun 2019 06:41:19 +0000 https://blog.pop-web.net/?p=190 DBのメインテーブルからサブテーブルへリレーションさせて、メインテーブル側から値を取得しようとしたらエラー「Trying to get property ‘time’ of non-object」 […]

The post Laravel リレーション先の値がなくて、Trying to get property of non-objectがでちゃった first appeared on POPWEB.]]>
DBのメインテーブルからサブテーブルへリレーションさせて、メインテーブル側から値を取得しようとしたらエラー「Trying to get property ‘time’ of non-object」が出た。

コントロール側での値の呼び出し方はこんな感じ。

function getTime(){
    $time = $this->hasOne('App\Time')->first()->time;
}

そして、view側ではforeashでまわす。

@foreach($item->getTime() as $yobi => $time)
<dl class="col-sm">
    <dt>{{$yobi}}</dt>
    <dd>{{$time}}</dd>
</dl>
@endforeach

原因は、リレーション先の値(time)が全て無いため。

foreachで回す場合、メインテーブルとサブテーブルでリレーションは同じだけ用意しないとエラーが出る。

でも、サブテーブルの情報が全てそろってないことがほとんど。

なので、ない場合はNullで返すか、値を呼び出さないようにすればよい。

解決方法は2パターン

解決方法は2つある。

  • ヘルパー関数「optional()」を使う
  • if文でNullでないことを確認する

ヘルパー関数「optional()」を使う

ヘルパー関数「optional()」は、リレーション先の値がない場合Nullで返してくれる関数。

$time = optional($this->hasOne('App\Time')->first())->time;

if文でNullでないことを確認する

こっちの方がよくあるパターン。単純にNullでなかったら、値を返すというもの。

$time = $this->hasOne('App\Time')->first()->time;
if($time != null){
    return $time;
}

これら2つのどっちかで、non-objectエラーは回避できる。

The post Laravel リレーション先の値がなくて、Trying to get property of non-objectがでちゃった first appeared on POPWEB.]]>
https://blog.popweb.dev/programming/laravel/laravel-relation-erroe/feed/ 0
Laravelでルート以外のページが404(Not Found)になっちゃった時の対処 https://blog.popweb.dev/programming/laravel/laravel-404-not-found/ https://blog.popweb.dev/programming/laravel/laravel-404-not-found/#respond Fri, 07 Jun 2019 00:57:17 +0000 https://blog.pop-web.net/?p=182 Laravelで、トップページは表示できるけど他のページに飛ぶとなぜか404になっちゃう時に確認すべきことのメモ。 httpd.confを確認する ドキュメントルートのディレクティブ内の「AllowOverride」が「 […]

The post Laravelでルート以外のページが404(Not Found)になっちゃった時の対処 first appeared on POPWEB.]]>
Laravelで、トップページは表示できるけど他のページに飛ぶとなぜか404になっちゃう時に確認すべきことのメモ。

httpd.confを確認する

ドキュメントルートのディレクティブ内の「AllowOverride」が「None」になってたら、「All」に変更しておく。

<Directory "/var/www/html">
AllowOverride All
</Directory>

AllowOverride Noneになっていると、 .htaccessが無効になるので、Allにして有効に。

The post Laravelでルート以外のページが404(Not Found)になっちゃった時の対処 first appeared on POPWEB.]]>
https://blog.popweb.dev/programming/laravel/laravel-404-not-found/feed/ 0
Laravelでログイン機能の作り方手順【XAMPP】 https://blog.popweb.dev/programming/laravel/laravel-login/ https://blog.popweb.dev/programming/laravel/laravel-login/#respond Wed, 05 Jun 2019 00:55:54 +0000 https://blog.pop-web.net/?p=165 Laravelの認証機能をつかって、よくあるログイン機能を作っていきます。 目次 Laravelインストールデータベースの設定データベースの作成MySQLにログインします。データベース作成マイグレーションを実行する認証機 […]

The post Laravelでログイン機能の作り方手順【XAMPP】 first appeared on POPWEB.]]>
Laravelの認証機能をつかって、よくあるログイン機能を作っていきます。

Laravelインストール

適当なプロジェクト名でLaravelをインストールします。

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

データベースの設定

データベースは、MySQLを使用します。

.envファイルを開いて以下ののように、データベース名、ユーザー名、パスワードを設定ます。

DB_DATABASE=login_db
DB_USERNAME=root
DB_PASSWORD=

データベースの作成

データベースの設定で記述したデータベース名でデータベースを作成します。

MySQLにログインします。

>mysql -u root

mysqlコマンドが使えない場合は、Pathを追加する必要があります。
XAMPPでMySQLコマンドを使えるようにする方法【Windows10】

データベース作成

mysql> create database login_db;

作成されたか確認しておきます。

mysql> show databases;

できたら一旦、MySQLを終了しておきます。

mysql> exit;

マイグレーションを実行する

>php artisan migrate
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table

認証機能を作るartisanコマンドを実行する

>php artisan make:auth
Authentication scaffolding generated successfully.

これでなんと、認証機能に最低限必要なファイルは生成されていまうんです。

以下の3つの機能が実装されています。

  • ログイン
  • 登録
  • パスワードリセット

ブラウザで確認します。

「/home」へアクセスしてください。

こんな感じで、ログインフォームやら、登録機能やらができあがっています。

動作確認

「登録」や「ログイン」、「パスワードリセット」を実際に動作するか確認しておきます。

The post Laravelでログイン機能の作り方手順【XAMPP】 first appeared on POPWEB.]]>
https://blog.popweb.dev/programming/laravel/laravel-login/feed/ 0
共有するLaravelプロジェクトをgit cloneしてきた後の設定手順 https://blog.popweb.dev/programming/laravel/laravel-project-git-clone/ https://blog.popweb.dev/programming/laravel/laravel-project-git-clone/#respond Tue, 28 May 2019 13:47:39 +0000 https://blog.pop-web.net/?p=150 Laravelのチーム開発で、途中から参加する場合、リモートリポジトリからプロジェクトデータをgit cloneすることはよくあります。 Laravelは、元から「.gitignore」ファイルが存在している為、gitリ […]

The post 共有するLaravelプロジェクトをgit cloneしてきた後の設定手順 first appeared on POPWEB.]]>
Laravelのチーム開発で、途中から参加する場合、リモートリポジトリからプロジェクトデータをgit cloneすることはよくあります。

Laravelは、元から「.gitignore」ファイルが存在している為、gitリポジトリからデータを落としてきても不完全なわけです。

よくあるのが、「vendor」ディレクトリや「.env」ファイルがなくて動かないよってやつです。

git cloneでプロジェクトを落としてくる

まず、はじめに開発するLaravelプロジェクトをgit cloneします。

git clone [gitリモートリポジトリのURL]

composerでライブラリを入れる

ライブラリ群をインストールします。

「composer.lock」ファイルを読み込みに行かせるために、以下のコマンドを入力。

composer install

これで、「vendor」ディレクトリができて中に、ライブラリ群が入っている状態になります。

.envファイルの作成

設定ファイルである「.env」ファイルを作成します。

すでに、ある「.env.example」ファイルをリネームして作成します。

cp .env.example .env

アプリケーションキーの設定

「.env」ファイルの中の、APP_KEY値がデフォルトままなので、以下のコマンドで値をセットします。

php artisan key:generate

この設定で、ユーザーセッションや他の暗号化済みデーターは安全に守られるようになります。

これで、Laravelプロジェクトをブラウザで確認してちゃんと表示できているか確認します。

別途、ドキュメントルートの設定が必要な場合がありますので、その場合も各自設定しておきましょう。

The post 共有するLaravelプロジェクトをgit cloneしてきた後の設定手順 first appeared on POPWEB.]]>
https://blog.popweb.dev/programming/laravel/laravel-project-git-clone/feed/ 0