Laravelの開発プロジェクトに途中参加したときの手順

どうも、まっきーです。

最近メインで触っているのはLaravel(PHPのフレームワーク)で、初学者向けのプログラミング学習支援なんかもやっています。

そのときよく、

gitからプロジェクトをcloneしたけど、そのあとどうすればいいの?

という質問をされます。

ですので、今回は

  • Laravelプロジェクトを新規で構築したことがある
  • だけど、既存のプロジェクトに途中参加したことがない

人向けに、Laravelの既存プロジェクトに途中参加する手順を書いていきますね。







プロジェクトを新規でつくる場面はあまりない

Laravelに限らずですが、フレームワークの勉強をはじめたときは、プロジェクトを動かせる開発環境の構築から入ります。

そのとき、技術書やサイトでは新規のプロジェクトを作るように指示します。まずは個人で学習するわけですし、プロジェクト作らないと始まらないので当然ですね。

ただ、既存の開発現場であったり、チーム開発するときには新規プロジェクトを自分で作ることはほぼしません。

すでに動いている案件であれば既存のプロジェクトが存在していますし、たとえ新規案件だったとしても誰か代表がプロジェクトを作ってgitでコードを共有することになります。各々がプロジェクトを作る必要はありません。

つまり、既存のプロジェクトを途中から利用する場面の方が圧倒的に多いのです。

ですので、手順をしっかり知っておきましょうね。ってわけです。

Laravelの既存プロジェクトを動かせるようになるまで

まずは、gitからLaravelのプロジェクトをcloneしよう

まずはgitにアップされている、既存のLaravelプロジェクトを自分の環境にcloneしましょう。

$ git clone {Laravelプロジェクト名}

プロジェクトを作成したいディレクトリで上記のコマンドを打てばLaravelプロジェクトがローカルにコピーされます。

gitがそもそもわからんよ!って場合はまず基礎を覚えていきましょう。エンジニアだけにとどまらずスタンダードな知識となりつつありますので。

 

Composerからライブラリをインストールしよう

次に、composer(PHPのパッケージ管理システム)を利用して必要なライブラリ等をインストールしましょう。

まず現段階のLaravelプロジェクトを確認してみてください。新規にプロジェクトを構築したときには存在していた、venderディレクトリが無い状態だと思います。

このvenderディレクトリには通常Laravelのライブラリ群が入っていて、このディレクトリが無いと動きません。ですが、gitで管理する上ではこのvenderディレクトリまでは管理しないのです。そのかわり、composerを使って各々がライブラリ群をインストールをする、というルールになっています。

基本的には以下のように打てばOKです。composerを使って、必要なライブラリ群の最新バージョンを取得してくれます。便利。

$ composer update
composer installとの違いは?

composer updateが必要なライブラリ群をすべて最新で取得するのに対し、composer installはcomposer.jsonやcomposer.lockファイルを参照して、記載されているライブラリや特定バージョンで取得します。

git上でcomposer.jsonファイルやcomposer.lockファイルが管理されている場合は、composer installを使って指定されたライブラリ群や指定されたバージョンで構築しましょう。

 

.envファイルを作成しよう

次にLaravelの環境情報が記載されている.envファイルを作成します。こちらもvenderファイル同様に、git上では管理しないルールです。(.envファイルは環境情報を記載するので、各環境で自分で作ってね。ってことなのだと思います。)

ですが基本的に必要な環境の情報は同じになるので、「.env.sample」というファイルが用意してあります。そのファイルをコピーして自分の環境用の.envファイルを作成します。

$ cp .env.example .env

あとは必要に応じて、DBの接続情報等を変更してあげればOKです。

 

アプリケーションの初期化をしよう

.envファイルが作成されたのを確認したら、アプリケーションの初期化をしましょう。

以下のコマンドを打ってください。

$ php artisan key:generate

.envファイルのAPP_KEYに文字列が追加されていればOKです。

 

データベースを構築しよう

既存のプロジェクトでデータベースを使用している場合、テーブルの作成も各々でする必要があります。

Laravelではmigrateという機能を使って、テーブル定義や初期データの管理ができますのでコマンドのみでテーブル構築や初期データの投入ができます。ほんと便利。

$ php artisan migrate

と打てばテーブルの構築をしてくれます。

この際にエラーが発生してつまづく方が多いようです。多くの場合は.envに記載されているDB関係の定義が誤っていたりするので見直してみましょう。

テーブルの構築が無事にできたら、

$ php artisan db:seed

と打てばSeederに書いた内容で初期データを投入してくれます。

これで準備は完了です。ローカルのURLにアクセスしてみて、無事に動けば完了です!!

 

まとめ

個人の勉強から、チームの開発に入るときはなかなか勝手が違って戸惑うものです。ですが、今の開発現場においてはチーム開発がほとんどだと思うのでチームで作業するときの流れや上記のような手順を知っておくのは必須なスキルになってきます。

僕は、MENTAというサービスでLaravel初学者向けのプログラミング学習支援もしています。

 

そのメンティーさんとのやり取りで気づいた、つまずくポイントなんかはブログにも書いていきます。

また、メンターについて気になる方はお気軽にお問い合わせくださいね。

 

それではまた。