gitに記録しながらlaravel8.xプロジェクト作成の記録 (4)
の続きです。
github で issue作成
(1) 「Issue」をクリック
(2) 「New Issue」を押下
(3) タイトルと本文を入力して、「Submit new issue」を押下
(4) 作成したissueには、#から始まる番号が付与される。
githubでブランチの作成
(1) ブランチをクリックする
(2) ブランチ名を入力して、「Create branch:ブランチ名」をクリック
Visual Studio Codeでブランチを変更
(1) フェッチを実行
フェッチを実行することで、githubで作成したブランチが読み込まれる
(2) ブランチを変更
check out ...を押下
作成したブランチを選択
ソース管理のメッセージの表示が新しいブランチ名になっていたら、ローカルブランチが変更されている
続きはこちら。
gitに記録しながらlaravel8.xプロジェクト作成の記録 (3)
の続き
SQLiteのデータベースファイルを作成
カレントディレクトリをlaravelフォルダに移動
cd /Applications/MAMP/MyApp/laravel
sqliteファイルを作成
touch database/database.sqlite
envファイル修正
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD=
を以下のように修正
DB_CONNECTION=sqlite #DB_HOST=127.0.0.1 #DB_PORT=3306 DB_DATABASE=/Applications/MAMP/MyApp/laravel/database/database.sqlite #DB_USERNAME=root #DB_PASSWORD=
※ #
はコメント行を表します。
ドキュメント
https://laravel.com/docs/8.x/database#sqlite-configuration
https://readouble.com/laravel/8.x/ja/database.html#sqlite-configuration
migrateを実行
migrateを実行すると、
php artisan migrate
結果
Migration table created successfully. Migrating: 2014_10_12_000000_create_users_table Migrated: 2014_10_12_000000_create_users_table (4.96ms) Migrating: 2014_10_12_100000_create_password_resets_table Migrated: 2014_10_12_100000_create_password_resets_table (4.79ms) Migrating: 2019_08_19_000000_create_failed_jobs_table Migrated: 2019_08_19_000000_create_failed_jobs_table (2.81ms)
ドキュメント
https://laravel.com/docs/8.x/migrations#running-migrations
https://readouble.com/laravel/8.x/ja/migrations.html#running-migrations
続きはこちら。
gitに記録しながらlaravel8.xプロジェクト作成の記録 (2)
本エントリは、以下リンクの続きです。
- 1. routes/web.php を修正
- 2.「welcome.blade.php 」を「top.blade.php」に変更
- 3. resources/views/top.blade.php を修正
- 今回修正したソース
- 続きはこちら
今回はlaravelアプリに対してトップページにアクセスした際に表示されるページを作成
このページには、トップページへのリンクが表示されますが、特に意味はありません。 あくまでNamed Routesを利用したリンクの書き方を説明するためだけに記述してます。
1. routes/web.php を修正
<?php //~~省略~~ Route::get('/', function () { return view('top'); })->name('top');
Routeファザードと呼ばれるもので、実態は、Routerクラスです。
Routerクラスの、getメソッドを呼び出すことで、ルーティング(どのURLにアクセスした時に、何をするのか)を登録しています。
この場合、ルート(/) のURL http://localhost:8888/MyApp/
にアクセスした場合に、第2引数の関数が実行されます。
ポイントは、nameメソッドを実行しているところです。
これは、「Named Routes(公式ドキュメント:英語)」と呼ばれるもので、リンク作成の際に少し便利になるため、私はよく利用します。
view('top')は、ヘルパー関数で、 「resources/views/top.blade.php」のbladeファイルを表しています。
ヘルパー関数とは?
ヘルパー関数は、laravelを利用する上で、よく使うものをグローバルな(どこからでもアクセスできる)関数としてまとめたものです。
ドキュメント、APIドキュメント
メモ
- Route::get()の戻り値は、Routeクラス(Illuminate/Routing/Route.php)
- Routeクラスには、nameメソッドが存在
- nameメソッドはメソッドチェーンという技術が利用されている
- laravelにはヘルパー関数と呼ばれるよく使う機能はヘルパが存在する
2.「welcome.blade.php 」を「top.blade.php」に変更
「welcome.blade.php」 のファイル名を、「top.blade.php」に変更します。
今回、view('top')という指定を行ったので、laravelはviewファイルを探しに行く時に「resources/views/」にある「top.blade.php」を探しに行きます。
変更しない場合のエラー内容
ファイル名を存在しない場合は、以下のようなエラーになります。
英語 | 日本語 |
---|---|
View [top] not found. | ビュー[トップ]が見つかりません。 |
3. resources/views/top.blade.php を修正
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>トップページ</title> </head> <body> <h1>トップページ</h1> <ul> <li><a href="{{route("top")}}">トップページ</a></li> </ul> </body> </html>
routeというヘルパー関数を利用して、Named Routesで登録したルート名を利用してリンクを構築しています。
ドキュメント、APIドキュメント
今回修正したソース
続きはこちら
gitに記録しながらlaravel8.xプロジェクト作成の記録 (1)
- 1. githubのプロジェクト作成
- 2. githubにファイル追加
- 2. - (1)「/Applications/MAMP」に、「MyApp」というディレクトリを作成
- 2. - (2) カレントディレクトリを「/Applications/MAMP/MyApp」に移動
- 2. - (3) README.mdファイルを作成、内容は「# MyApp」
- 2. - (4) カレントディレクトリをgit の管理対象にする
- 2. - (5) README.mdをステージング
- 2. - (6) commit実行、コミットコメントは「first commit」
- 2. - (7) ブランチ名を「main」に変更
- 2. - (8) リモートリポジトリを追加
- 2. - (9) push実行と同時に、push先をリモートリポジトリとして認識させる
- 2. - (10) git にpushされた。
- 3. laravelプロジェクト作成
- 4. gitにコミット
- 5. ブラウザから表示できるようにする
- 続きはこちら。
Mac Bookで構築
ミドルウェアはMAMPで構成
1. githubのプロジェクト作成
作成すると次の画面に遷移します。
2. githubにファイル追加
2. - (1)「/Applications/MAMP」に、「MyApp」というディレクトリを作成
mkdir /Applications/MAMP/MyApp
2. - (2) カレントディレクトリを「/Applications/MAMP/MyApp」に移動
cd /Applications/MAMP/MyApp
2. - (3) README.mdファイルを作成、内容は「# MyApp」
echo "# MyApp" >> README.md
2. - (4) カレントディレクトリをgit の管理対象にする
git init
結果
Initialized empty Git repository in /Applications/MAMP/MyApp/.git/
2. - (5) README.mdをステージング
git add README.md
2. - (6) commit実行、コミットコメントは「first commit」
git commit -m "first commit"
結果
[master (root-commit) 2363764] first commit 1 file changed, 1 insertion(+) create mode 100644 README.md
2. - (7) ブランチ名を「main」に変更
git branch -M main
2. - (8) リモートリポジトリを追加
git remote add origin https://github.com/mitsugeek/MyApp.git
2. - (9) push実行と同時に、push先をリモートリポジトリとして認識させる
git push -u origin main
結果
Enumerating objects: 3, done. Counting objects: 100% (3/3), done. Writing objects: 100% (3/3), 216 bytes | 216.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0) To https://github.com/mitsugeek/MyApp.git * [new branch] main -> main Branch 'main' set up to track remote branch 'main' from 'origin'.
2. - (10) git にpushされた。
3. laravelプロジェクト作成
composer create-project laravel/laravel laravel
4. gitにコミット
4. - (1) 全てのフィアルをステージング
git add .
4. - (2) コミット(コミットコメントは、「laravel install」
git commit -m "laravel install"
4. - (3) push実行
git push
結果
5. ブラウザから表示できるようにする
5. - (1) シンボリックリンクを追加
http://localhost:8888/MyApp/
にアクセスがあった場合に、/Applications/MAMP/MyApp/laravel/public
を表示するようにシンボリックリンクを貼る。
ln -s /Applications/MAMP/MyApp/laravel/public /Applications/MAMP/htdocs/MyApp
5. - (2) ブラウザから表示してみる
http://localhost:8888/MyApp/
にアクセスする。
続きはこちら。
laravelのドキュメント読むところMUST
以下エントリを書いたけども、もう少し細かく、MUSTな箇所を抜き出しておいた方がよさそう。
ということで、もう少し細かくリンクをまとめました。
ここは抑えといた方が良い内容です。
- ルーティングについて読んでおくべき事柄
- コントローラについて読んでおくべき事柄
- リクエストについて読んでおくべき事柄
- レスポンスについて読んでおくべき事柄
- ビューについて読んでおくべき事柄
- URL生成について読んでおくべき事柄
- Bladeテンプレートについて読んでおくべき事柄
ルーティングについて読んでおくべき事柄
Basic Routing(基本的なルーティング)
ルーティングはどのURLにアクセスしたら何をするか。を司るところです。
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/routing#basic-routing |
日本語 | https://readouble.com/laravel/8.x/ja/routing.html#basic-routing |
Route Parameters(ルートパラメータ)
ルーティングのURLには「/blog/entry/139」のように、
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/routing#route-parameters |
日本語 | https://readouble.com/laravel/8.x/ja/routing.html#route-parameters |
Named Routes (名前付きルート)
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/routing#named-routes |
日本語 | https://readouble.com/laravel/8.x/ja/routing.html#named-routes |
コントローラについて読んでおくべき事柄
Basic Controllers (基本のコントローラ)
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/controllers#basic-controllers |
日本語 | https://readouble.com/laravel/8.x/ja/controllers.html#basic-controllers |
リクエストについて読んでおくべき事柄
Accessing The Request(リクエストへのアクセス)
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/requests#accessing-the-request |
日本語 | https://readouble.com/laravel/8.x/ja/requests.html#accessing-the-request |
Retrieving Input (入力の取得)
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/requests#retrieving-input |
日本語 | https://readouble.com/laravel/8.x/ja/requests.html#retrieving-input |
Retrieving Uploaded Files (アップロード済みファイルの取得)
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/requests#retrieving-uploaded-files |
日本語 | https://readouble.com/laravel/8.x/ja/requests.html#retrieving-uploaded-files |
レスポンスについて読んでおくべき事柄
Redirecting To Named Routes (名前付きルートへのリダイレクト)
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/responses#redirecting-named-routes |
日本語 | https://readouble.com/laravel/8.x/ja/responses.html#redirecting-named-routes |
File Downloads (Fileダウンロード)
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/responses#file-downloads |
日本語 | https://readouble.com/laravel/8.x/ja/responses.html#file-downloads |
ビューについて読んでおくべき事柄
Introduction(イントロダクション)
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/views#introduction |
日本語 | https://readouble.com/laravel/8.x/ja/views.html#introduction |
Nested View Directories(ネストしたビューディレクトリ)
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/views#nested-view-directories |
日本語 | https://readouble.com/laravel/8.x/ja/views.html#nested-view-directories |
URL生成について読んでおくべき事柄
URLs For Named Routes (名前付きルートのURL)
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/urls#urls-for-named-routes |
日本語 | https://readouble.com/laravel/8.x/ja/urls.html#urls-for-named-routes |
Bladeテンプレートについて読んでおくべき事柄
Displaying Data (データの表示)
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/blade#displaying-data |
日本語 | https://readouble.com/laravel/8.x/ja/blade.html#displaying-data |
HTML Entity Encoding (HTMLエンティティエンコーディング)
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/blade#html-entity-encoding |
日本語 | https://readouble.com/laravel/8.x/ja/blade.html#html-entity-encoding |
laravel8 のドキュメントの読んでく順 付録:日英対応表
Laravelのドキュメントを読むときは、本家、日本語訳を参考にして調べるほうが得策。
Laravelの情報はネット上にたくさんあるけども、バージョンによって、記述方法が変わってくるので、 公式なドキュメントを読むほうが得策。
ただ、英語が苦手な場合は、日本語ドキュメントから読むことでもよいと思うが、 英語のドキュメントが一番新しく公式のものなので、日本語ドキュメントを読むときは、英語の公式ドキュメントも読んでおいたほうが良い。
最初に読むところ
最初に読むべきドキュメントは、The Basics(基礎)のところ。
自分は、ルーティング→コントローラー→ビューの流れでソースを追いかけるので、 その流れでドキュメントを読むとよいかもしれない。
Laravelはバックエンドでビューはいらないよ。という人は、 ルーティング→コントローラ→リクエスト→レスポンスの順で読むべきか。
The Basics(基礎)を順番に読んでいってもいいんだけど、個人的にはこの読み方でしっくりこなかった。 本当はもっと分解して小さなサイクル回しながら読むほうが良さそう。
- シンプルなリクエスト・レスポンス
- 入力を受け取るリクエスト・レスポンス
- バリデーションを入れた場合のリクエスト・レスポンス
のように用途に合わせて、どこを読めばよいかがまとまっているととっつきやすいかもしれない。
The Basics
ルーティング
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/routing |
日本語 | https://readouble.com/laravel/8.x/ja/routing.html |
コントローラ
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/controllers |
日本語 | https://readouble.com/laravel/8.x/ja/controllers.html |
ビュー
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/views |
日本語 | https://readouble.com/laravel/8.x/ja/views.html |
Bladeテンプレート
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/blade |
日本語 | https://readouble.com/laravel/8.x/ja/blade.html |
リクエスト
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/requests |
日本語 | https://readouble.com/laravel/8.x/ja/requests.html |
レスポンス
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/responses |
日本語 | https://readouble.com/laravel/8.x/ja/responses.html |
バリデーション
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/validation |
日本語 | https://readouble.com/laravel/8.x/ja/validation.html |
ログ
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/logging |
日本語 | https://readouble.com/laravel/8.x/ja/logging.html |
セッション
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/session |
日本語 | https://readouble.com/laravel/8.x/ja/session.html |
URL生成
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/urls |
日本語 | https://readouble.com/laravel/8.x/ja/urls.html |
ミドルウェア
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/middleware |
日本語 | https://readouble.com/laravel/8.x/ja/middleware.html |
CSRF(cross-site request forgeries) 攻撃に対応する
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/csrf |
日本語 | https://readouble.com/laravel/8.x/ja/csrf.html |
エラーのハンドルを握る
言語 | URL |
---|---|
英語 | https://laravel.com/docs/8.x/errors |
日本語 | https://readouble.com/laravel/8.x/ja/errors.html |
PHPで文字列から数字が見つかった時点で2つに分ける。住所を分割したい。
ヤマトビジネスメンバーズのB2クラウドの仕様上16文字以内という仕様があるため、以下のような文字数だと分割する必要がある。
大阪府大阪市此花区伝法4-3-1大和ハウス1099号室
なので、正規表現でやってみる。
<?php $a = "大阪府大阪市此花区伝法4-3-1大和ハウス1099号室"; preg_match('/^[^0-9]*/', $a, $matches, PREG_OFFSET_CAPTURE); $address1 = $matches[0][0]; $address2 = str_replace($address1, "", $a); var_dump($address1); var_dump($address2); var_dump($a);
結果
string(33) "大阪府大阪市此花区伝法" string(30) "4-3-1大和ハウス1099号室" string(63) "大阪府大阪市此花区伝法4-3-1大和ハウス1099号室"
感想
一番良いのは、住所のデータベース作って分割することなんだろうけど。工数かかりすぎるのでやめ。
佐川急便、郵便局、クロネコヤマトで各社微妙に住所のレイアウトが違う。
こういうところを調整する為のワーキンググループってあるのかな。
文字数にはいろんな意味があるので、一概には決めれないだろうけど。
laravelをインストールしてからやること(メモ)
前提
項目 | 内容 |
---|---|
OS | wsl上のubuntu ※windows |
ubuntuのユーザ | username |
apache2のグループ | www-data |
ドキュメントルート | /var/www/html |
laravelのインストール先 | /var/www/laravelproject |
laravelのアクセスURL | http://localhost/laravelproject/ |
シンボリックリンクを作成
ln -s /var/www/laravelproject/public /var/www/html/laravelproject
権限変更
sudo chown -R username:www-data /var/www/laravelproject/storage/logs sudo chmod -R 775 /var/www/laravelproject/storage/logs sudo chown -R username:www-data /var/www/laravelproject/storage/framework/sessions sudo chmod -R 775 /var/www/JOOY/storage/framework/sessions sudo chown -R username:www-data /var/www/laravelproject/storage/framework/views sudo chmod -R 775 /var/www/JOOY/storage/framework/views sudo chown -R mitsugi:www-data /var/www/laravelproject/storage/framework/cache sudo chmod -R 775 /var/www/laravelproject/storage/framework/cache sudo chown -R mitsugi:www-data /var/www/laravelproject/bootstrap/cache sudo chmod -R 775 /var/www/laravelproject/bootstrap/cache sudo chown -R username:www-data /var/www/laravelproject/database/ sudo chmod -R 775 /var/www/laravelproject/database/
.envファイル作成
cp /var/www/laravelproject/.env.example /var/www/laravelproject/.env
key:generate
php artisan key:generate
.envファイル修正
APP_URL項目を修正(※最後に/をつけないのはミソ)
APP_URL=http://localhost/laravelproject
結果
pdf-lib.jsというライブラリを利用すると、日本語フォントを埋め込んだPDFをブラウザ上で生成できる
2014年にjsPDFとかFileSaver.jsとか使って、ブラウザでPDF出力みたいなことしてたんですが、 その時は、日本語フォントの埋め込みができなかったので、canvasに日本語の文字書いて無理くりimageをPDFに出力するということをやってました。
で、6年たった今どれくらい技術は発達してるのか?と思い。 調べてみました。
あるじゃないですか。フォント埋め込みできるjsのpdf生成ライブラリ
pdf-lib.js
サンプルソース
const { PDFDocument, rgb } = PDFLib // ボタン押下時の処理 async function createPdf() { // PDFドキュメント生成 const pdfDoc = await PDFDocument.create(); // フォント埋込のおまじない pdfDoc.registerFontkit(fontkit); //読み込みフォントのURL const url = './font/DotGothic16-Regular.ttf'; //フォントを読み込んでバイト配列で保持 const fontBytes = await fetch(url).then((res) => res.arrayBuffer()); //フォント埋め込み const font = await pdfDoc.embedFont(fontBytes); //PDFに1ページ追加 const page = pdfDoc.addPage(); //印字 page.drawText('勇者は頑張ってjavascriptでpdfを印刷し...',{x: 0,y: 800, size: 30,font: font,color: rgb(0,0,0)}); page.drawText('勇者は頑張ってjavascriptでpdfを印刷し...',{x: 0,y: 770, size: 20,font: font,color: rgb(0,0,0)}); page.drawText('勇者は頑張ってjavascriptでpdfを印刷し...',{x: 0,y: 750, size: 10,font: font,color: rgb(0,0,0)}); page.drawText('勇者は頑張ってjavascriptでpdfを印刷し...',{x: 0,y: 740, size: 8,font: font,color: rgb(0,0,0)}); //PDFのバイト配列取得 const pdfBytes = await pdfDoc.save(); //バイト配列をダウンロードさせる download(pdfBytes, "勇者は.pdf", "application/pdf"); }
サンプル
PDFのサイズは?
フォント自体のサイズは、4.12 MBなんですが、生成されたPDF自体は、1.75 MBでした。
ちなみに、ipag.ttfでやってみると、フォントのサイズが5.94 MBで、生成された4.13 MBとなりました。
感想
ファイルサイズが大きい印象です。
Laravel-dompdfだと、画像含んでも1MByteいかないので、埋め込みフォントのところがボトルネックになるのかな。
ただ、サーバレスでPDFが生成できるのは、メリットが大きいですね。
laravel version 8.5.9 installしたときにインストールされるライブラリを調査
インストールコマンド
composer create-project laravel/laravel --prefer-dist ProjectName
インストール時のログ
ログを見る
username@servername:/var/www$ composer create-project laravel/laravel --prefer-dist ProjectName Creating a "laravel/laravel" project at "./ProjectName" Installing laravel/laravel (v8.5.9) - Installing laravel/laravel (v8.5.9): Extracting archive Created project in /var/www/ProjectName > @php -r "file_exists('.env') || copy('.env.example', '.env');" Loading composer repositories with package information Updating dependencies Lock file operations: 105 installs, 0 updates, 0 removals - Locking asm89/stack-cors (v2.0.2) - Locking brick/math (0.9.2) - Locking dnoegel/php-xdg-base-dir (v0.1.1) - Locking doctrine/inflector (2.0.3) - Locking doctrine/instantiator (1.4.0) - Locking doctrine/lexer (1.2.1) - Locking dragonmantank/cron-expression (v3.1.0) - Locking egulias/email-validator (2.1.25) - Locking facade/flare-client-php (1.3.7) - Locking facade/ignition (2.5.11) - Locking facade/ignition-contracts (1.0.2) - Locking fakerphp/faker (v1.13.0) - Locking fideloper/proxy (4.4.1) - Locking filp/whoops (2.9.2) - Locking fruitcake/laravel-cors (v2.0.3) - Locking graham-campbell/result-type (v1.0.1) - Locking guzzlehttp/guzzle (7.2.0) - Locking guzzlehttp/promises (1.4.0) - Locking guzzlehttp/psr7 (1.7.0) - Locking hamcrest/hamcrest-php (v2.0.1) - Locking laravel/framework (v8.27.0) - Locking laravel/sail (v1.3.1) - Locking laravel/tinker (v2.6.0) - Locking league/commonmark (1.5.7) - Locking league/flysystem (1.1.3) - Locking league/mime-type-detection (1.7.0) - Locking mockery/mockery (1.4.2) - Locking monolog/monolog (2.2.0) - Locking myclabs/deep-copy (1.10.2) - Locking nesbot/carbon (2.45.1) - Locking nikic/php-parser (v4.10.4) - Locking nunomaduro/collision (v5.3.0) - Locking opis/closure (3.6.1) - Locking phar-io/manifest (2.0.1) - Locking phar-io/version (3.0.4) - Locking phpdocumentor/reflection-common (2.2.0) - Locking phpdocumentor/reflection-docblock (5.2.2) - Locking phpdocumentor/type-resolver (1.4.0) - Locking phpoption/phpoption (1.7.5) - Locking phpspec/prophecy (1.12.2) - Locking phpunit/php-code-coverage (9.2.5) - Locking phpunit/php-file-iterator (3.0.5) - Locking phpunit/php-invoker (3.1.1) - Locking phpunit/php-text-template (2.0.4) - Locking phpunit/php-timer (5.0.3) - Locking phpunit/phpunit (9.5.2) - Locking psr/container (1.0.0) - Locking psr/event-dispatcher (1.0.0) - Locking psr/http-client (1.0.1) - Locking psr/http-message (1.0.1) - Locking psr/log (1.1.3) - Locking psr/simple-cache (1.0.1) - Locking psy/psysh (v0.10.6) - Locking ralouphie/getallheaders (3.0.3) - Locking ramsey/collection (1.1.3) - Locking ramsey/uuid (4.1.1) - Locking sebastian/cli-parser (1.0.1) - Locking sebastian/code-unit (1.0.8) - Locking sebastian/code-unit-reverse-lookup (2.0.3) - Locking sebastian/comparator (4.0.6) - Locking sebastian/complexity (2.0.2) - Locking sebastian/diff (4.0.4) - Locking sebastian/environment (5.1.3) - Locking sebastian/exporter (4.0.3) - Locking sebastian/global-state (5.0.2) - Locking sebastian/lines-of-code (1.0.3) - Locking sebastian/object-enumerator (4.0.4) - Locking sebastian/object-reflector (2.0.4) - Locking sebastian/recursion-context (4.0.4) - Locking sebastian/resource-operations (3.0.3) - Locking sebastian/type (2.3.1) - Locking sebastian/version (3.0.2) - Locking swiftmailer/swiftmailer (v6.2.5) - Locking symfony/console (v5.2.3) - Locking symfony/css-selector (v5.2.3) - Locking symfony/deprecation-contracts (v2.2.0) - Locking symfony/error-handler (v5.2.3) - Locking symfony/event-dispatcher (v5.2.3) - Locking symfony/event-dispatcher-contracts (v2.2.0) - Locking symfony/finder (v5.2.3) - Locking symfony/http-client-contracts (v2.3.1) - Locking symfony/http-foundation (v5.2.3) - Locking symfony/http-kernel (v5.2.3) - Locking symfony/mime (v5.2.3) - Locking symfony/polyfill-ctype (v1.22.0) - Locking symfony/polyfill-iconv (v1.22.0) - Locking symfony/polyfill-intl-grapheme (v1.22.0) - Locking symfony/polyfill-intl-idn (v1.22.0) - Locking symfony/polyfill-intl-normalizer (v1.22.0) - Locking symfony/polyfill-mbstring (v1.22.0) - Locking symfony/polyfill-php72 (v1.22.0) - Locking symfony/polyfill-php73 (v1.22.0) - Locking symfony/polyfill-php80 (v1.22.0) - Locking symfony/process (v5.2.3) - Locking symfony/routing (v5.2.3) - Locking symfony/service-contracts (v2.2.0) - Locking symfony/string (v5.2.3) - Locking symfony/translation (v5.2.3) - Locking symfony/translation-contracts (v2.3.0) - Locking symfony/var-dumper (v5.2.3) - Locking theseer/tokenizer (1.2.0) - Locking tijsverkoyen/css-to-inline-styles (2.2.3) - Locking vlucas/phpdotenv (v5.3.0) - Locking voku/portable-ascii (1.5.6) - Locking webmozart/assert (1.9.1) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 105 installs, 0 updates, 0 removals - Downloading nesbot/carbon (2.45.1) - Downloading laravel/framework (v8.27.0) - Downloading facade/ignition (2.5.11) - Downloading laravel/sail (v1.3.1) - Installing doctrine/inflector (2.0.3): Extracting archive - Installing doctrine/lexer (1.2.1): Extracting archive - Installing symfony/polyfill-ctype (v1.22.0): Extracting archive - Installing webmozart/assert (1.9.1): Extracting archive - Installing dragonmantank/cron-expression (v3.1.0): Extracting archive - Installing symfony/polyfill-php80 (v1.22.0): Extracting archive - Installing symfony/polyfill-mbstring (v1.22.0): Extracting archive - Installing symfony/var-dumper (v5.2.3): Extracting archive - Installing symfony/polyfill-intl-normalizer (v1.22.0): Extracting archive - Installing symfony/polyfill-intl-grapheme (v1.22.0): Extracting archive - Installing symfony/string (v5.2.3): Extracting archive - Installing psr/container (1.0.0): Extracting archive - Installing symfony/service-contracts (v2.2.0): Extracting archive - Installing symfony/polyfill-php73 (v1.22.0): Extracting archive - Installing symfony/console (v5.2.3): Extracting archive - Installing psr/log (1.1.3): Extracting archive - Installing monolog/monolog (2.2.0): Extracting archive - Installing voku/portable-ascii (1.5.6): Extracting archive - Installing phpoption/phpoption (1.7.5): Extracting archive - Installing graham-campbell/result-type (v1.0.1): Extracting archive - Installing vlucas/phpdotenv (v5.3.0): Extracting archive - Installing symfony/css-selector (v5.2.3): Extracting archive - Installing tijsverkoyen/css-to-inline-styles (2.2.3): Extracting archive - Installing symfony/deprecation-contracts (v2.2.0): Extracting archive - Installing symfony/routing (v5.2.3): Extracting archive - Installing symfony/process (v5.2.3): Extracting archive - Installing symfony/polyfill-php72 (v1.22.0): Extracting archive - Installing symfony/polyfill-intl-idn (v1.22.0): Extracting archive - Installing symfony/mime (v5.2.3): Extracting archive - Installing symfony/http-foundation (v5.2.3): Extracting archive - Installing symfony/http-client-contracts (v2.3.1): Extracting archive - Installing psr/event-dispatcher (1.0.0): Extracting archive - Installing symfony/event-dispatcher-contracts (v2.2.0): Extracting archive - Installing symfony/event-dispatcher (v5.2.3): Extracting archive - Installing symfony/error-handler (v5.2.3): Extracting archive - Installing symfony/http-kernel (v5.2.3): Extracting archive - Installing symfony/finder (v5.2.3): Extracting archive - Installing symfony/polyfill-iconv (v1.22.0): Extracting archive - Installing egulias/email-validator (2.1.25): Extracting archive - Installing swiftmailer/swiftmailer (v6.2.5): Extracting archive - Installing ramsey/collection (1.1.3): Extracting archive - Installing brick/math (0.9.2): Extracting archive - Installing ramsey/uuid (4.1.1): Extracting archive - Installing psr/simple-cache (1.0.1): Extracting archive - Installing opis/closure (3.6.1): Extracting archive - Installing symfony/translation-contracts (v2.3.0): Extracting archive - Installing symfony/translation (v5.2.3): Extracting archive - Installing nesbot/carbon (2.45.1): Extracting archive - Installing league/mime-type-detection (1.7.0): Extracting archive - Installing league/flysystem (1.1.3): Extracting archive - Installing league/commonmark (1.5.7): Extracting archive - Installing laravel/framework (v8.27.0): Extracting archive - Installing filp/whoops (2.9.2): Extracting archive - Installing facade/ignition-contracts (1.0.2): Extracting archive - Installing facade/flare-client-php (1.3.7): Extracting archive - Installing facade/ignition (2.5.11): Extracting archive - Installing fakerphp/faker (v1.13.0): Extracting archive - Installing fideloper/proxy (4.4.1): Extracting archive - Installing asm89/stack-cors (v2.0.2): Extracting archive - Installing fruitcake/laravel-cors (v2.0.3): Extracting archive - Installing psr/http-message (1.0.1): Extracting archive - Installing psr/http-client (1.0.1): Extracting archive - Installing ralouphie/getallheaders (3.0.3): Extracting archive - Installing guzzlehttp/psr7 (1.7.0): Extracting archive - Installing guzzlehttp/promises (1.4.0): Extracting archive - Installing guzzlehttp/guzzle (7.2.0): Extracting archive - Installing laravel/sail (v1.3.1): Extracting archive - Installing nikic/php-parser (v4.10.4): Extracting archive - Installing dnoegel/php-xdg-base-dir (v0.1.1): Extracting archive - Installing psy/psysh (v0.10.6): Extracting archive - Installing laravel/tinker (v2.6.0): Extracting archive - Installing hamcrest/hamcrest-php (v2.0.1): Extracting archive - Installing mockery/mockery (1.4.2): Extracting archive - Installing nunomaduro/collision (v5.3.0): Extracting archive - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive - Installing phpdocumentor/type-resolver (1.4.0): Extracting archive - Installing phpdocumentor/reflection-docblock (5.2.2): Extracting archive - Installing sebastian/version (3.0.2): Extracting archive - Installing sebastian/type (2.3.1): Extracting archive - Installing sebastian/resource-operations (3.0.3): Extracting archive - Installing sebastian/recursion-context (4.0.4): Extracting archive - Installing sebastian/object-reflector (2.0.4): Extracting archive - Installing sebastian/object-enumerator (4.0.4): Extracting archive - Installing sebastian/global-state (5.0.2): Extracting archive - Installing sebastian/exporter (4.0.3): Extracting archive - Installing sebastian/environment (5.1.3): Extracting archive - Installing sebastian/diff (4.0.4): Extracting archive - Installing sebastian/comparator (4.0.6): Extracting archive - Installing sebastian/code-unit (1.0.8): Extracting archive - Installing sebastian/cli-parser (1.0.1): Extracting archive - Installing phpunit/php-timer (5.0.3): Extracting archive - Installing phpunit/php-text-template (2.0.4): Extracting archive - Installing phpunit/php-invoker (3.1.1): Extracting archive - Installing phpunit/php-file-iterator (3.0.5): Extracting archive - Installing theseer/tokenizer (1.2.0): Extracting archive - Installing sebastian/lines-of-code (1.0.3): Extracting archive - Installing sebastian/complexity (2.0.2): Extracting archive - Installing sebastian/code-unit-reverse-lookup (2.0.3): Extracting archive - Installing phpunit/php-code-coverage (9.2.5): Extracting archive - Installing doctrine/instantiator (1.4.0): Extracting archive - Installing phpspec/prophecy (1.12.2): Extracting archive - Installing phar-io/version (3.0.4): Extracting archive - Installing phar-io/manifest (2.0.1): Extracting archive - Installing myclabs/deep-copy (1.10.2): Extracting archive - Installing phpunit/phpunit (9.5.2): Extracting archive 75 package suggestions were added by new dependencies, use `composer suggest` to see details. Generating optimized autoload files > Illuminate\Foundation\ComposerScripts::postAutoloadDump > @php artisan package:discover --ansi Discovered Package: facade/ignition Discovered Package: fideloper/proxy Discovered Package: fruitcake/laravel-cors Discovered Package: laravel/sail Discovered Package: laravel/tinker Discovered Package: nesbot/carbon Discovered Package: nunomaduro/collision Package manifest generated successfully. 74 packages you are using are looking for funding. Use the `composer fund` command to find out more! > @php artisan key:generate --ansi Application key set successfully.
インストールされたライブラリを調査
package | 内容 | host |
---|---|---|
asm89/stack-cors (v2.0.2) | アプリケーションを使用してhttp- {foundation、kernel}のクロスオリジンリソース共有を可能にするライブラリとミドルウェア。オリジン間リソース共有のためのW3C勧告の実装を試み ます。 | github |
brick/math (0.9.2) | 任意精度の数値を処理するPHPライブラリ。 | github |
dnoegel/php-xdg-base-dir (v0.1.1) | PHP用のXDGベースディレクトリ仕様の実装 | github |
doctrine/inflector (2.0.3) | Doctrine Inflectorは、大文字/小文字および単数形/複数形の単語に関して文字列操作を実行できる小さなライブラリです。 | github |
doctrine/instantiator (1.4.0) | このライブラリは、PHPクラスをインスタンス化するときにコンストラクターの使用を回避する方法を提供します。 | github |
doctrine/lexer (1.2.1) | トップダウンの再帰下降パーサーで使用できるレクサーのベースライブラリ。 | github |
dragonmantank/cron-expression (v3.1.0) | PHP cron式パーサーは、CRON式を解析し、実行が予定されているかどうかを判断し、式の次の実行日を計算し、式の前の実行日を計算できます。n個の一致する日付をスキップすることにより、はるか未来または過去の日付を計算できます。 | github |
egulias/email-validator (2.1.25) | 複数のRFCに対して電子メールを検証するためのライブラリ。 | github |
facade/flare-client-php (1.3.7) | PHPエラーをFlareに送信する | github |
facade/ignition (2.5.11) | Ignitionは、Laravel5.5以降で実行されているLaravelアプリケーション用の美しくカスタマイズ可能なエラーページです。 | github |
facade/ignition-contracts (1.0.2) | IgnitionとFlareでソリューションを表示するために使用されるインターフェイス | github |
fakerphp/faker (v1.13.0) | Fakerは、偽のデータを生成するPHPライブラリ | github |
fideloper/proxy (4.4.1) | 信頼できるプロキシを設定すると、リバースプロキシの背後にある場合に、正しいURL生成、リダイレクト、セッション処理、およびLaravelへのログインが可能になります。 | github |
filp/whoops (2.9.2) | whoopsは、PHPのエラーハンドラフレームワークです。 | github |
fruitcake/laravel-cors (v2.0.3) | Laravelにhttps://github.com/asm89/stack-corsを実装します | github |
graham-campbell/result-type (v1.0.1) | 結果タイプの実装 | github |
guzzlehttp/guzzle (7.2.0) | GuzzleはPHPHTTPクライアントであり、HTTPリクエストの送信を簡単にし、Webサービスとの統合を簡単にします。 | github |
guzzlehttp/promises (1.4.0) | スタックサイズを一定に保ちながら、「無限の」Promiseチェーンを可能にする、Promiseチェーンと解決を繰り返し処理するPromises / A +実装。 | github |
guzzlehttp/psr7 (1.7.0) | 完全なPSR-7 メッセージの実装、いくつかのストリームデコレータ、およびクエリ文字列の解析などの便利な機能が含まれています。 | github |
hamcrest/hamcrest-php (v2.0.1) | Hamcrestは、もともとJava用に作成されたマッチングライブラリですが、その後、他の多くの言語に移植されました。hamcrest-phpはHamcrestの公式PHPポートであり、基本的にHamcrest用の元のJava APIの直訳に従いますが、いくつかの例外がありますが、ほとんどがPHP言語の壁にまで及びます。 | github |
laravel/framework (v8.27.0) | Laravelは、表現力豊かでエレガントな構文を備えたWebアプリケーションフレームワークです。 | github |
laravel/sail (v1.3.1) | Sailは、macOS、Windows(WSL2)、およびLinuxと互換性のあるLaravelのDockerを利用したローカル開発エクスペリエンスを提供します。Dockerを除いて、Sailを使用する前にローカルコンピューターにソフトウェアやライブラリをインストールする必要はありません。SailのシンプルなCLIは、Dockerの経験がなくてもLaravelアプリケーションの構築を開始できることを意味します。 | github |
laravel/tinker (v2.6.0) | Laravel Tinkerは、Laravelフレームワークの強力なREPLです。 | github |
league/commonmark (1.5.7) | 高度に拡張可能なPHP Markdownのパーサ | github |
league/flysystem (1.1.3) | PHP用のファイルストレージライブラリです。これは、多くのタイプのファイルシステムと対話するための1つのインターフェースを提供します。Flysystemを使用すると、ベンダーロックインから保護されるだけでなく、どのストレージが適切であるかについて一貫したエクスペリエンスを得ることができます。 | github |
league/mime-type-detection (1.7.0) | このパッケージは、finfoベースの実装を備えた汎用のmimeタイプの検出インターフェイスを提供します 。 | github |
mockery/mockery (1.4.2) | Mockeryは、PHPUnit、PHPSpec、またはその他のテストフレームワークを使用した単体テストで使用するためのシンプルでありながら柔軟なPHPモックオブジェクトフレームワークです。 | github |
monolog/monolog (2.2.0) | Monologは、ログをファイル、ソケット、受信ボックス、データベース、およびさまざまなWebサービスに送信します。以下のハンドラーの完全なリストを参照してください。特別なハンドラーを使用すると、高度なロギング戦略を構築できます。 | github |
myclabs/deep-copy (1.10.2) | DeepCopyは、オブジェクトのディープコピー(クローン)を作成するのに役立ちます。これは、関連グラフのサイクルを処理するように設計されています。 | github |
nesbot/carbon (2.45.1) | DateTimeの国際的なPHP拡張。 | github |
nikic/php-parser (v4.10.4) | これは、PHPで記述されたPHP5.2からPHP8.0のパーサーです。その目的は、静的コードの分析と操作を簡素化することです。 | github |
nunomaduro/collision (v5.3.0) | コマンドラインからアプリを操作するときに美しいエラーレポートを提供するように設計されたパッケージです。 | github |
opis/closure (3.6.1) | すべてのクロージャーをシリアル化できるラッパーを提供することにより、クロージャーのシリアル化に関するPHPの制限を克服することを目的としたライブラリです。 | github |
phar-io/manifest (2.0.1) | PHPアーカイブ(PHAR)からphar.ioマニフェスト情報を読み取るためのコンポーネント。 | github |
phar-io/version (3.0.4) | バージョン情報と制約を処理するためのライブラリ | github |
phpdocumentor/reflection-common (2.2.0) | 一般的なリフレクションクラス | github |
phpdocumentor/reflection-docblock (5.2.2) | PHPDoc標準と100%互換性のあるDocBlockパーサーを提供します。このコンポーネントを使用すると、ライブラリはDocBlockを介して注釈のサポートを提供したり、DocBlockに埋め込まれている情報を取得したりできます。 | github |
phpdocumentor/type-resolver (1.4.0) | 部分的なクラス名を解決しながら、指定された式の一連の値オブジェクトを返し、部分的な構造要素名を完全修飾構造要素名に解決した後、FQSENオブジェクトを返します。 | github |
phpoption/phpoption (1.7.5) | PHPのオプションタイプを実装しています。 | github |
phpspec/prophecy (1.12.2) | PHPオブジェクトモックフレームワーク | github |
phpunit/php-code-coverage (9.2.5) | PHPコードカバレッジ情報の収集、処理、およびレンダリング機能を提供します。 | github |
phpunit/php-file-iterator (3.0.5) | サフィックスのリストに基づいてファイルをフィルタリングするFilterIteratorの実装。 | github |
phpunit/php-invoker (3.1.1) | タイムアウトで呼び出し可能オブジェクトを呼び出す | github |
phpunit/php-text-template (2.0.4) | シンプルなテンプレートエンジン。 | github |
phpunit/php-timer (5.0.3) | タイミングのユーティリティクラス | github |
phpunit/phpunit (9.5.2) | PHPユニットテストフレームワーク。 | github |
psr/container (1.0.0) | 共通コンテナインターフェース(PHP FIG PSR-11) | github |
psr/event-dispatcher (1.0.0) | イベント処理用の標準インターフェース。 | github |
psr/http-client (1.0.1) | HTTPクライアントの共通インターフェース | github |
psr/http-message (1.0.1) | HTTPメッセージの共通インターフェース | github |
psr/log (1.1.3) | ライブラリをログに記録するための共通インターフェイス | github |
psr/simple-cache (1.0.1) | 単純なキャッシュのための共通インターフェース | github |
psy/psysh (v0.10.6) | 最新のPHP用のインタラクティブシェル。 | github |
ralouphie/getallheaders (3.0.3) | これはの単純なポリフィルです | github |
ramsey/collection (1.1.3) | コレクションを表現および操作するためのPHP7.2以降のライブラリ。 | github |
ramsey/uuid (4.1.1) | ユニバーサル一意識別子(UUID)を生成および操作するためのPHPライブラリ。 | github |
sebastian/cli-parser (1.0.1) | CLIオプションを解析するためのライブラリ | github |
sebastian/code-unit (1.0.8) | PHPコードユニットを表す値オブジェクトのコレクション | github |
sebastian/code-unit-reverse-lookup (2.0.3) | コード行が属する関数またはメソッドを検索します | github |
sebastian/comparator (4.0.6) | PHP値が等しいかどうかを比較する機能を提供します | github |
sebastian/complexity (2.0.2) | PHPコードユニットの複雑さを計算するためのライブラリ | github |
sebastian/diff (4.0.4) | 差分の実装 | github |
sebastian/environment (5.1.3) | HHVM / PHP環境を処理する機能を提供します | github |
sebastian/exporter (4.0.3) | 視覚化のためにPHP変数をエクスポートする機能を提供します | github |
sebastian/global-state (5.0.2) | グローバル状態のスナップショット | github |
sebastian/lines-of-code (1.0.3) | PHPソースコードのコード行をカウントするためのライブラリ | github |
sebastian/object-enumerator (4.0.4) | 配列構造とオブジェクトグラフをトラバースして、参照されているすべてのオブジェクトを列挙します | github |
sebastian/object-reflector (2.0.4) | 継承された属性と非公開の属性を含むオブジェクト属性の反映を許可します | github |
sebastian/recursion-context (4.0.4) | PHP変数を再帰的に処理する機能を提供します | github |
sebastian/resource-operations (3.0.3) | リソースを操作するPHP組み込み関数のリストを提供します | github |
sebastian/type (2.3.1) | PHP型システムの型を表す値オブジェクトのコレクション | github |
sebastian/version (3.0.2) | GitがホストするPHPプロジェクトのバージョン番号の管理に役立つライブラリ | github |
swiftmailer/swiftmailer (v6.2.5) | PHP用のコンポーネントベースのメーリングソリューション | github |
symfony/console (v5.2.3) | コンソールコンポーネントを使用すると、美しくテスト可能なコマンドラインインターフェイスを簡単に作成できます。 | github |
symfony/css-selector (v5.2.3) | CSSセレクターをXPath式に変換します | github |
symfony/deprecation-contracts (v2.2.0) | 非推奨通知をトリガーするための一般的な関数と規則 | github |
symfony/error-handler (v5.2.3) | エラーを管理し、PHPコードのデバッグを容易にするツールを提供します | github |
symfony/event-dispatcher (v5.2.3) | イベントをディスパッチしてリッスンすることにより、アプリケーションコンポーネントが相互に通信できるようにするツールを提供します | github |
symfony/event-dispatcher-contracts (v2.2.0) | イベントのディスパッチに関連する一般的な抽象化 | github |
symfony/finder (v5.2.3) | 直感的な流暢なインターフェースを介してファイルとディレクトリを検索します | github |
symfony/http-client-contracts (v2.3.1) | HTTPクライアントに関連する一般的な抽象化 | github |
symfony/http-foundation (v5.2.3) | HTTP仕様のオブジェクト指向レイヤーを定義します | github |
symfony/http-kernel (v5.2.3) | リクエストをレスポンスに変換するための構造化されたプロセスを提供します | github |
symfony/polyfill-ctype (v1.22.0) | ctype_*、ctype拡張子なしでphpバージョンを実行するユーザーに関数を提供します。 | github |
symfony/polyfill-iconv (v1.22.0) | php.net / iconv関数のネイティブPHP実装を提供し ます | github |
symfony/polyfill-intl-grapheme (v1.22.0) | Intl拡張機能からの Grapheme関数の部分的なネイティブPHP実装を提供します 。 | github |
symfony/polyfill-intl-idn (v1.22.0) | Intl拡張子なしでphpバージョンを実行するユーザーに提供idn_to_asciiおよびidn_to_utf8機能します。 | github |
symfony/polyfill-intl-normalizer (v1.22.0) | Normalizer、Intl拡張機能によって提供されるクラスのフォールバック実装を 提供 | github |
symfony/polyfill-mbstring (v1.22.0) | Mbstring拡張機能の部分的なネイティブPHP実装を提供 | github |
symfony/polyfill-php72 (v1.22.0) | PHP7.2コアに追加された関数を提供します。 | github |
symfony/polyfill-php73 (v1.22.0) | PHP7.3コアに追加された関数を提供します。 | github |
symfony/polyfill-php80 (v1.22.0) | PHP8.0コアに追加された機能を提供します。 | github |
symfony/process (v5.2.3) | プロセスコンポーネントは、サブプロセスでコマンドを実行します。 | github |
symfony/routing (v5.2.3) | ルーティングコンポーネントは、HTTP要求を一連の構成変数にマップします。 | github |
symfony/service-contracts (v2.2.0) | ライティングサービスに関連する一般的な抽象化 | github |
symfony/string (v5.2.3) | 文字列にオブジェクト指向APIを提供し、バイト、UTF-8コードポイント、および書記素クラスターを統一された方法で処理します。 | github |
symfony/translation (v5.2.3) | 翻訳コンポーネントは、アプリケーションを国際化するためのツールを提供します。 | github |
symfony/translation-contracts (v2.3.0) | Symfonyコンポーネントから抽出された抽象化のセット。 | github |
symfony/var-dumper (v5.2.3) | 任意のPHP変数をウォークスルーするためのメカニズムを提供します。のdump()代わりに使用できるより優れた関数を提供します | github |
theseer/tokenizer (1.2.0) | トークン化されたPHPソースコードをXMLに変換するための小さなライブラリ。 | github |
tijsverkoyen/css-to-inline-styles (2.2.3) | PHP CssToInlineStylesは、HTMLをインラインスタイルのHTMLに変換するクラスです。 | github |
vlucas/phpdotenv (v5.3.0) | 環境変数をから.envにgetenv()、$ENVそして$SERVER自動的にロードします。 | github |
voku/portable-ascii (1.5.6) | これはPHP(PHP 7+)で記述されており、サーバー上で「mbstring」、「iconv」、またはその他の追加のエンコーディングphp-extensionなしで機能します。 | github |
webmozart/assert (1.9.1) | この拡張機能の主な範囲は、Webmozart\Assert検証後にphpstanがオブジェクトのタイプを検出できるようにすることです。 | github |
気になったキーワード
Tidelift
オープンソースソフトウェアを継続的に保守してもらうためのマネタイズの仕組み
顧客→Tidelift→オープンソースソフトウェアのメンテナーの流れで報酬が支払われる
REPL
REPL (Read-Eval-Print Loop) とは、入力・評価・出力のループのこと。 インタプリタにおいて、ユーザーとインタプリタが対話的にコード片を実行できるもの。
FQSEN
完全修飾要素名 Fully Qualified Structural Element Name (FQSEN)
Optionタイプ
Optionタイプを使用すると、API開発者はより簡潔なAPIメソッドを提供でき、APIユーザーがこれらのメソッドをどのように使用するかを決定できます。
PSR-11
PSR-11では、依存性注入コンテナの共通インタフェースについて定義しています。
PSR
PSR(PHP Standards Recommendations = PHP標準勧告)とは、PHP-FIG(PHP Framework Interop Group = PHPフレームワーク相互運用性グループ)が策定しているPHPコーディング規約
ポリフィル
ポリフィルとは、最近の機能をサポートしていない古いブラウザーで、その機能を使えるようにするためのコード
UUID
UUID(Universally Unique Identifier)とは、ソフトウェア上でオブジェクトを一意に識別するための識別子