📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

 
(同じ利用者による、間の13版が非表示)
27行目: 27行目:
Composerをインストールする。<br>
Composerをインストールする。<br>
composer.pharファイルが生成される。<br>
composer.pharファイルが生成される。<br>
  php composer-setup.php --install-dir=<Composerのインストールディレクトリ>
  php composer-setup.php --install-dir=<Composerのインストールディレクトリ> --filename=composer
<br>
<br>
composer.pharファイルのシンボリックリンクを作成する。<br>
composerファイルのバージョンを確認する。<br>
  ln -s composer.phar composer
  composer -V
<br>
<br>
.profileファイル等に、Composerのインストールディレクトリを環境変数<code>PATH</code>に追加する。<br>
.profileファイル等に、Composerのインストールディレクトリを環境変数<code>PATH</code>に追加する。<br>
60行目: 60行目:
  # 例2: メジャーバージョンとマイナーバージョンを指定する場合
  # 例2: メジャーバージョンとマイナーバージョンを指定する場合
  composer create-project laravel/laravel --prefer-dist <Laravelを使用するプロジェクト名> "8.6"
  composer create-project laravel/laravel --prefer-dist <Laravelを使用するプロジェクト名> "8.6"
<br>
<code>composer create-project laravel/laravel <プロジェクト名></code>コマンドにおいて、laravel/laravelの部分は、<ベンダー (開発元) の名前>/<パッケージ名> の形式である。<br>
<br>
例えば、laravel/laravelは<u>Laravelという組織が提供する、Laravelプロジェクトの基本テンプレート</u>という意味になる。<br>
<br>
これは、Laravelの公式スターターキット (プロジェクトテンプレート) を指す。<br>
GitHubでは、https://github.com/laravel/laravel として公開されている。<br>
<br>
Laravelの基本的なプロジェクト構造、設定ファイル、必要なディレクトリ等が含まれている。<br>
<br>
Composerでの扱いにおいては、Composerのパッケージリポジトリ (Packagist) に登録されているパッケージを指定する形式である。<br>
<code>composer create-project</code>コマンドは、このパッケージをテンプレートとして使用して新しいプロジェクトを作成する。<br>
<br>
これは、他のフレームワークやライブラリでも同様の命名規則が使用されている。<br>
* symfony/symfony
* guzzlehttp/guzzle
<br><br>
== VSCode / VSCodiumの拡張 ==
* PHP Extension Pack
* PHP Intelephense
*: コード補完や定義元へのコードジャンプ、クラスインポート等を行う。
*: VSCode標準のPHP言語機能は無効化する必要がある。
*:# [拡張機能]へ移動する。
*:# 検索バーに<u>@builtin php</u>と入力する。
*:# [無効にする]ボタンを選択する。
* PHP import checker
*: 使用していないクラスのインポートをハイライトする。
* PHP DocBlocker
*: メソッドの定義後のPHPDocの作成をサポートする。
*: PHPDocとは、関数やメソッドの上にアノテーションと呼ばれる@から始まる特殊な記法で引数や戻り値の型を補足するものである。
*: 使用方法は、<u>/**</u>と入力した後に[Enter]キーを押下する。
*: タイプヒンティングや戻り値の型指定が存在する場合は、自動で読み取る。
* Laravel Extension Pack
*: Laravel用のオートコンプリート機能を追加してくれる拡張機能である。
*: 主に、ルート名およびパラメータ、ビュー、変数、コンフィグ、バリデーションルールの補完を行う。
* Laravel Intelephense
* Laravel goto Controller
*: Route等で指定しているコントローラーのファイル名を選択することにより、そのコントローラファイルを開く。
* Laravel Blade Spacer
*: Bladeファイルにコードを記述する場合、以下に示すタグに自動でスペースを挿入する。
*:* <nowiki>{{ }}</nowiki>
*:* <nowiki>{!! !!}</nowiki>
*:* <nowiki>{{– –}}</nowiki>
<br><br>
<br><br>


87行目: 131行目:
<u>※注意</u><br>
<u>※注意</u><br>
<u>Laravelのプロジェクトディレクトリにあるpublicディレクトリがドキュメントルートであるため、このディレクトリをアクセスするように設定する。</u><br>
<u>Laravelのプロジェクトディレクトリにあるpublicディレクトリがドキュメントルートであるため、このディレクトリをアクセスするように設定する。</u><br>
<br>
Laravelでは、全てのリクエストをindex.phpにルーティングする。<br>
<br>
NginXでLaravelを使用する場合、<code>location /</code>ディレクティブに<code>try_files</code>ディレクティブが含まれている必要がある。<br>
これにより、Laravelのルーティングが正しく機能する。<br>
<br>
# リクエストは、まず、rootディレクティブに指定されたディレクトリの同名ファイルを探す。
# 見つからない場合は、index.phpにフォールバックして、Laravelのルーティングが処理する。
<br>
  # NginXの場合
  # NginXの場合
  sudo vi /etc/nginx/vhosts.d/vhost-laravel01.conf
  sudo vi /etc/nginx/vhosts.d/vhost-laravel01.conf
# Apache2の場合
sudo vi /etc/apache2/vhosts.d/vhost-laravel01.conf
<br>
<br>
  <syntaxhighlight lang="nginx">
  <syntaxhighlight lang="nginx">
116行目: 166行目:
   
   
     location / {
     location / {
         root   /home/<ユーザ名>/htdocs/laravel01/public;
         root       /home/<ユーザ名>/htdocs/laravel01/public;
         index index.php index.html index.htm;
         index       index.php index.html index.htm;
        try_files  $uri $uri/ /index.php?$query_string;
     }
     }
   
   
127行目: 178行目:
         fastcgi_pass  unix:/var/run/php-fpm/php-fpm.sock;
         fastcgi_pass  unix:/var/run/php-fpm/php-fpm.sock;
         #fastcgi_pass  127.0.0.1:9000;
         #fastcgi_pass  127.0.0.1:9000;
        #proxy_pass  http://127.0.0.1;
   
   
         fastcgi_index  index.php;
         fastcgi_index  index.php;
         include        fastcgi_params;
         include        fastcgi_params;
   
   
         fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
         fastcgi_param  SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        # proxy_pass  http://127.0.0.1;
     }
     }
   
   
    # mp3ファイルを設定する場合
     location /mp3 {
     location /mp3 {
         # sendfile関数の使用の有効化 / 無効化
         # sendfile関数の使用の有効化 / 無効化
147行目: 197行目:
  }
  }
  </syntaxhighlight>  
  </syntaxhighlight>  
<br>
# Apache2の場合
sudo vi /etc/apache2/vhosts.d/vhost-laravel01.conf
<br>
<br>
  <syntaxhighlight lang="apache">
  <syntaxhighlight lang="apache">
330行目: 383行目:
Webブラウザから、設定したルートドキュメントにアクセスする。<br>
Webブラウザから、設定したルートドキュメントにアクセスする。<br>
Laravelが正常に動作している場合、ページの中央にLaravelのロゴが表示されるデモページが表示される。<br>
Laravelが正常に動作している場合、ページの中央にLaravelのロゴが表示されるデモページが表示される。<br>
<br>
==== Webサーバを構築していない場合 ====
Webサーバを構築していない場合、PHPの組み込み開発サーバを使用することができる。<br>
<br>
<code>--host</code>オプションで指定できるIPアドレスは、127.0.0.1〜127.255.255.254までとなる。<br>
この範囲のIPアドレスは、ローカルループバックアドレスと呼ばれており、ホスト自身で起動しているサービスにアクセスする際に利用することができる。<br>
<br>
また、<code>--host</code>オプションにおいて、<code>0.0.0.0</code>を指定する場合、他のデバイスからLaravelアプリケーションにアクセスすることができる。<br>
これは、例えば、複数人で開発している時に他のメンバーにアプリケーションの作成状況を確認してもらう場合等に利用する。<br>
php artisan serve
            --host <IPアドレス  未指定の場合は、127.0.0.1>  # オプション
            --port <ポート番号  未指定の場合は、8000>      # オプション
<br>
<br>
==== 仮想ホストを構築していない場合 ====
==== 仮想ホストを構築していない場合 ====
349行目: 414行目:
*: <br>
*: <br>
* MCrypt PHP拡張モジュールは動作可能かどうか確認する。
* MCrypt PHP拡張モジュールは動作可能かどうか確認する。
<br>
== エラー関連 ==
==== swiftmailer/swiftmailerライブラリ ====
以下に示すような警告が出力される場合がある。<br>
Package swiftmailer/swiftmailer is abandoned, you should avoid using it. Use symfony/mailer instead.
<br>
この時、swiftmailer/swiftmailerライブラリを削除して、symfony/mailerライブラリをインストールする。<br>
<br>
<u>※注意</u><br>
<u>Laravel 8では、swiftmailer/swiftmailerライブラリを削除することができないことに注意する。</u><br>
composer remove --dev swiftmailer/swiftmailer
composer require --dev symfony/mailer
<br>
シーディング実行して、ライブラリが壊れてないかどうかを確認する。<br>
php artisan db:seed
<br>
==== fzaninotto/fakerライブラリ ====
以下に示すような警告が出力される場合がある。<br>
Package fzaninotto/faker is abandoned, you should avoid using it. No replacement was suggested
<br>
fzaninotto/fakerライブラリはリポジトリが変更されており、現在は、fakerphp/fakerである。<br>
<br>
この時、fzaninotto/fakerライブラリを削除して、fakerphp/fakerライブラリをインストールする。<br>
composer remove --dev fzaninotto/faker
composer require --dev fakerphp/faker
<br>
シーディング実行して、ライブラリが壊れてないかどうかを確認する。<br>
php artisan db:seed
<br>
==== phpunit/phpunitライブラリ ====
以下に示すような警告が出力される場合がある。<br>
Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested.
<br>
この時、phpunit/phpunitライブラリをアップデートする。<br>
composer remove --dev phpunit/phpunit
composer require --dev phpunit/phpunit
<br>
もし、アップデートエラーが出力される場合は、依存パッケージも含めてアップデートする。<br>
composer require --dev --with-all-dependencies phpunit/phpunit
./vendor/bin/phpunit --version
<br>
ライブラリが壊れてないかどうかを確認する。<br>
php artisan test
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:Web]]
[[カテゴリ:Web]]