20220214のlaravelに関する記事は5件です。

dockerでの環境構築時に出る、PHP Fatal error: require(): Failed opening required '/var/www/public/../vendor/autoload.php' の解決方法

皆様こんにちは。 本日新しい会社に転職したのですが、その際に開発環境を構築していて、沼にはまったので、その時のことを備忘録として残そうと思います。 エラーログ [error] 31#31: *3 FastCGI sent in stderr: PHP message: PHP Fatal error: require(): Failed opening required'/var/www/public/../vendor/autoload.php' エラー文の意味 vender/autoload.phpを開こうとしたが、失敗した。 対処方法 docker-compose exec php bash # php用のコンテナを用意していたため php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { 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 -V composer install 解説 まず、phpのコンテナ内のbashに入る。 その後、https://getcomposer.org/download/ に従って、composerをインストールする。 インストール後、composerにパスを通し、 composer -Vでcomposerがインストールされていることを確認する。 最後に、composer installを行って、他のライブラリをインストールする。 最後に 用意されていたDockerfileだと、composerをインストールするコマンドが書いてあったのに、何故かcomposerがインストールされなかった。。 他の人も同様のDockerfileでうまくいっていたようなので、原因は不明。(もしわかったらこの記事に追記します。)
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Laravelで複数のDBを繋ぐ時のTips

結論 ちょっとはサポートしていますが、migrate:freshとRefreshDatabaseが対応してないのが大分痛いです? DockerでMySQLの複数のデータベースの立ち上げ方が分からない Laravel関係ないですけど、まずここからが大変なんですよね。結論からいうとdocker-compose.ymlでもDB1個しか対応していないため、コンテナ作成時に自動実行されるSQLファイルを設定して、地道にDB作成やらユーザー設定のSQLを書くというアプローチがベターのようです。変に分散するとアレなんで。 db: image: mysql:8.0.27 container_name: db volumes: - ./docker/db/data:/var/lib/mysql - ./docker/db/my.cnf:/etc/mysql/conf.d/my.cnf # 複数のDBを立ち上げたいがdocker-composeのオプションで対応してないので、 # コンテナ作成時に自動で実行されるSQLファイル内で設定する - ./docker/db/sql:/docker-entrypoint-initdb.d migrate:freshで片方のDBしか消えてない 片方のDBしかマイグレーションされないのですがエラーとかは出ずに成功したかのような表記になります。 なんでや!? 結論から言うと今のところ対応していません。php artisan db:wipe --database 【接続名】で1個ずつ消してからmigrateしましょう。 マイグレーションやEroquentで毎回::connection(【DB名】)を書くのが辛い これについては公式で対処法が用意されています。マイグレーションのクラスに下記のようにconnectionプロパティを設定することで切り替えることができます。 /** * マイグレーションが使用するデータベース接続 * * @var string */ protected $connection = '【DB接続名】'; /** * マイグレーションの実行 * * @return void */ public function up() { // } 自動テストでRefreshDatabaseが効かない RefreshDatabaseは内部でmigrate:freshを使っているので効きません。ここは流石に自分でArtisanコマンド作るして呼び出すしかないですね……。 ?Laravel公式ドキュメント翻訳者への支援のお願い Laravelの公式ドキュメントの日本語版であるReaDouble.comを運営されている川瀬裕久氏が、広告収入の低下と持病の悪化のため、翻訳プロジェクトを継続することが困難になり、GitHub sponsorsを募集しています。 日本のLaravelユーザーでここを見たことない人はいないと思うので、もし恩義を感じているならば是非支援のほどお願いします。私も支援させていただいております 参考 【Docker】MySQLで複数database環境を構築する - Qiita [Laravel]Laravelで別々のDB(MySQL)に接続させる方法 - Qiita 複数の DB コネクションを使ってる場合に RefreshDatabase が失敗する - Qiita Laravel 7.x Multiple Database Connections, Migrations, Relationships & Querying | StackCoder
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【初心者による初心者のためのLaravel�0章】 ~Laravelとは~

概要 ここでは、laravel初心者である私が初心者ながらlaravelの基本について、アウトプットもかねてまとめていこうと思います。しかし、初心者だからこそ、初心者の方にとってはわかりやすいと思える説明ができるてるかもしれません!! とっても簡単にまとめることを心がけているので、是非ご拝読お願いします!! Laravelとは 始めに結論から述べていきます。 laravelは、「PHPのフレームワークの一つ」です! 終わっちゃった。。。。 ただ重要であり、ほとんどの初心者が知りたいのは、 「フレームワークって何??」 「laravelの特徴は何??」 ってことだと思います。 次にそれらについてまとめていこうと思います。 フレームワークとは(読み切れば100%掴めます) またまた結論から述べていきます。 フレームワークは、「開発を楽チンにしてくれるもの」です! いやぁ、、、意味わっかんねぇっす!!?? ってことで、もう少しだけ楽チンにフレームワークをまとめましょう。 フレームワークは、開発でよく使われる機能が最初からモリモリに詰め込まれているチョーチョー便利なものです。 それに加えて、仕組みが備わっています。仕組みというか流れというかルールですかね。(ここはlaravelの特徴で下でまとめます) そのルールに従いながら、元々詰め込まれた機能たちを使って自分なりに手を加えてアレンジしていくといったことができます。 PHPだけで全てをゼロから作るより数段お得ですよね!!!!! 例えば、人間には手・足があります。これはもともと備わった人間のフレーム(土台・構造)です。この土台に対して、手を振る機能や殴る機能や拍手機能、走る機能や蹴っ飛ばす機能を独自に盛り込んでいくことで人間というものに磨きをかけ、人間らしくなっていきます。人間のフレーム(土台)がなければ、手足を手に入れるところから始めなければ、走る機能などは手に入れられません。少し過激的になってしまい申し訳ないです、、、。 プログラミングでいうところのフレームワークも同じです。そもそも土台がなければ、その土台を作るところから始めなければなりません。フレームワークはそんな土台を提供してくれ、さらに機能までも用意してくれているんです、先人たちは凄すぎますね。。。。 実際にlaravelに元々備わっている「認証機能」というものを少しだけ紹介します。 私たちが普段よく使うログイン画面とかありますよね。 「メールアドレスを入力して、パスワードを入力して、新規登録やログイン、ログアウトができる。」 これが認証機能です! この機能が欲しくて作りたくて使いたくてしかたない方、朗報です。laravelには元々その機能が備わっています。 認証機能使いま〜す宣言をして、あとはルールに従ってアレンジしたら出来上がりです?(これは簡単に言い過ぎですけど、、、、) 他にも、DBを直感的に操作できるようにしてくれていたり、view(見た目)部分をめっちゃ作りやすくしてくれているbladeを提供してくれていたりと、このようにとにかく開発をより楽に正確に作れる機能がモリモリ詰め込まれたものがフレームワークです!! laravelの特徴 またまたまたまた結論からです。 laravelの大きな特徴は、、、 1.MVCモデル 2.学習コストが低い 3.Bladeの存在 です!!!!! 順にまとめていきます。 1.MVCモデルとは これは開発設計の一つなのですが、そんな難しいことは今はいいんです。 M(Model)、V(view)、C(Controoler)の三つを合体させた者がMVCですが、それぞれに役割が備わっており、それらが連携することによってプログラムが機能します。これが上記の「laravelとは」であげた"ルール"に該当します。 ここではMVCの説明は簡単にしますが、 M(model)はDB情報を担当します。 V(view)は見た目・ユーザーに見せる部分を担当します。 C(controller)はMとVの橋渡し的担当の頑張り屋です。MVCの心臓かもしれません。 この三つを理解することがlaravelを理解することだと思います。 このMVCパターンのルールに従い、記述することがlaravelの大きな特徴の一つといえますね!! 2.学習コストが低い laravelは他のフレームワークと比べて学習コストが低いです。 その理由として、「文献が多いこと」が挙げられます。 laravelは公式ドキュメントがしっかりしており、なおかつ世界的に見ても利用者が多いフレームワークです。その分、ネットに転がっているlaravelの情報量もまた非常に充実しています。そのため、初めてPHPフレームワークを触るならばlaravelだと言われています。 ちなみにこれめちゃめちゃ重要なことですよね。。 「わからない→調べる→できない→また調べる→できたっっっ!✨✨」 を繰り返すプログラミングにおいて文献が少ないというのは絶望的ですよね、、特に初心者なら、、、。 3.Bladeの存在 これに関してはBladeの凄さが与ーーーーくわかる記事がありましたので是非見てほしいです! 【Laravel入門】ビューとBladeと継承 おわりに 初心者なりにlaravelとは一体どんなものなのかをざっくりまとめてみましたが、まだまだわからないところばかりなので、間違っている箇所などありましたら、是非ご指摘お願いします!
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Laravel KitでGUIからArtisanコマンドを打とう

はじめに GUIでArtitanコマンド、Tinkerを動かせるツールを見つけたので紹介。 ターミナルやコマンドプロンプトを立ち上げることなく開発出来るのが売りなツールです。 目次 導入 Artisan Tinker 導入 公式(リポジトリ)から Windowsの人はDownload the setup file (.exe)をクリックしてexeファイルをダウンロード。 Macの人はbrewで導入。brew install laravel-kit Artisan インストールしたLaravel Kitを開くとトップが表示されます。 トップのOpen project...をクリックするか、ナビゲーションバーのProject > Open ProjectからLaravelプロジェクトを開きます。 Artisanコマンドを打ちに行くかTinkerを使いにいくかが表示されますが、左のサイドメニューでいつでも行き来出来るのであまり気にしなくて大丈夫です。 まずはGo to Artisanをクリックします。 画面上右から3番目のServeボタンをクリックするとphp artisan serveコマンドが走りサーバーが立ち上がります。 画面左のArtisan項目にコマンドがズラリと並んでいます。試しにmake:modelをクリックしてみましょう。 オプションが沢山表示されてます。nameにモデル名を入れ、migrationとseedにチェックを入れると画面下にコマンドが組み立てられて表示されます。 画面右上Runコマンドをクリックする事で組み立てられたArtisanコマンドが実行されます。 Tinker 左サイドメニュー</>のようなアイコンをクリックします。 名言、格言をランダムで出力してくれるメソッドがデフォルトでセットされていますが無視して消しちゃって大丈夫です。 出力したいプログラムを書いて画面下のTinkerボタンをクリックすると右側に内容が表示されます。 画面左下のAuto Tinkerにチェックを入れるとリアルタイムに反映されるようになります。 おわりに 一通りのArtisanコマンドがあるので知らないコマンドを知れたり、 ちょっとしたコマンド辞書代わりにも使えるので初学者の方など良いかもしれません。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Laravel8系でログイン機能を実装する方法

laravel8系でログイン機能を実装する方法 筆者は、laravelのログイン機能をインストールする際にかなり手こずりました。そのため、今回記事にして参考にしていただければ幸いです。きっと、laravel初学者の方の参考になると思います。 概要 larave8系のインストール Bootstrapのインストール ①laravel8系をインストールしよう まず、下記のコードをターミナルにコピペしてください。 その際、<アプリネーム>の部分を任意の名前に変更して下さい。 例えば、sampleとかsimple、極論Appleでも大丈夫です。 今回は、Appleにしたいと思います。 ↓(下記のコード) composer create-project --prefer-dist laravel/laravel <アプリネーム> "8.*" ↓ インストールが済んだら下記のコードを入力して下さい cdコマンドでAppleのディレクトリに移動します。 ↓(下記のコード) cd Apple ターミナルで下記のコード(php artisan serve)を入力して下さい。 そしたら、http://127.0.0.1:8000と表示されて、簡易サーバが立ち上がると思います。 ↓(下記のコード) php artisan serve ➁Bootstrapのインストールしよう 下記のコード、laravel uiをインストールしていきます。 ↓(下記のコード) composer require laravel/ui その次にLOGIN機能とテーブル作成していきますので、下記コードを入力して下さい。 ↓(下記のコード)LOGIN機能 php artisan ui bootstrap --auth ↓(下記のコード)テーブル作成 php artisan migrate ↓ そしたら、npm install && npm run devをターミナルに入力して下さい。 ↓ 下記文章のように詳細については npm fundを実行してくださいと文章が表示されると思うので、バコバコnpm fundなど入力して行きましょう!!!! ↓(下記文章) 84 packages are looking for funding run npm fund for details バコバコ入力し終わったら、npm installを入力し、その次にnpm run devを入力すれば、無事に終了になると思います!!! このような画面が出たら、OKです!!! それでは、php artisan serveを入力し、簡易サーバーを立ち上げます。 そして、画面を見ると完成している!!! 今回はここで終了です。ありがとうございました。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む