Papagram

PHP/Laravelの役立つ情報を発信します。最近PythonとReactの勉強も始…

Papagram

PHP/Laravelの役立つ情報を発信します。最近PythonとReactの勉強も始めました。 株式会社パパグラムの代表もやっています。https://papagram.co.jp お仕事のご依頼ご相談はs.miyata@papagram.co.jpまでご連絡ください。

マガジン

  • LaravelでCRUDシステムを構築する

    Laravel10を用いてCRUDシステムを構築します。実装からテストまでやります。

  • PHPUnit入門

    PHPのテスティングフレームワークPHPUnitの基本の解説記事です。

  • PHPでデータベースをCRUD操作する

    PHPでデータベースをCRUD操作するシステムをゼロから作る記事を集めました。誰かのお役に立てば幸いです。

最近の記事

Laravelでログに出力されない500エラーが発生した時に疑う場所

 先日、Laravel10で作ったとあるシステムを本番公開しようとしたら、500エラーが発生し解決に手間取りましたので共有させていただきたいと思います。  composer installやマイグレーションは事前に済ませており、時間になったらシンボリックリンクを公開領域に張るだけのはずでした。しかし、いざシンボリックリンクを張ってトップページにアクセスしてみると500エラーが発生しました。  APP_DEBUGをtrueにしてみてもレンタルサーバーのデフォルトの500エラーペ

    • LaravelでCRUDシステムを構築する②

       前回の記事で作成したメンバー管理システムのテストコードを作成します。 PHPUnitの基本に関しては下記の記事を参考にしてください。 筆者の開発環境PC:Apple M1 チップ搭載MacBook Air OS:macOS Sonoma 14.1(23B74) MAMP:6.8 PHP:8.2.0 Laravel:10.29.0 大見出し LaravelにはPHPUnitがはじめから含まれており、すでに最初のテストを実行する準備が整っています。「tests」フォルダ内

      • LaravelでCRUDシステムを構築する①

         下記の記事で作った素のPHPによるユーザー管理のCRUDシステムをLaravelで作り直します。フレームワークを使用することにより、フレームワークの提供する独自のメソッドや関数、コマンド等を覚える必要がありますが、短いコードで素早く開発することが可能になります。 筆者の開発環境PC:Apple M1 チップ搭載MacBook Air OS:macOS Sonoma 14.1(23B74) MAMP:6.8 PHP:8.2.0 Laravel:10.29.0 Larave

        • PHPでデータベースをCRUD操作する④

           前回まででCRUD操作は完成しましたが、このままでは少々システムが使いづらいので、少しでも使いやすくなるように改良します。 筆者の開発環境PC:Apple M1 チップ搭載MacBook Air OS:macOS Ventura 13.6 MAMP:6.8 PHP:8.2.0 エラーハンドリングエラー表示の制御  本番環境ではエラーが発生した時にエラーの情報が画面に表示されると危険なのでエラー情報を隠します。エラー情報の画面表示のオンオフはphp.inniで行います。

        Laravelでログに出力されない500エラーが発生した時に疑う場所

        マガジン

        • LaravelでCRUDシステムを構築する
          2本
        • PHPUnit入門
          2本
        • PHPでデータベースをCRUD操作する
          4本

        記事

          PHPでデータベースをCRUD操作する③

           前回の記事でユーザー登録機能と一覧表示機能を作成しました。今回は更新機能および削除機能、詳細参照機能を作成します。 筆者の開発環境PC:Apple M1 チップ搭載MacBook Air OS:macOS Ventura 13.6 MAMP:6.8 PHP:8.2.0 ユーザー編集フォームの作成UsersControllerにeditメソッドを追加  UsersController.phpを下記のように編集し、editメソッドを追加してください。  ルーティングから受

          PHPでデータベースをCRUD操作する③

          PHPでデータベースをCRUD操作する②

           前回はプロジェクトの事前準備として、データベースの作成、テーブルの作成、プロジェクトフォルダの作成、ドキュメントルートの変更を行いました。  今回からCRUD操作のための諸機能を作成していきます。 筆者の開発環境PC:Apple M1 チップ搭載MacBook Air OS:macOS Ventura 13.6 MAMP:6.8 PHP:8.2.0 基本機能の実装システムを稼働させる基本的な機能の実装を先に行います。 ルーティングとフロントコントローラーの作成  ル

          PHPでデータベースをCRUD操作する②

          PHPでデータベースをCRUD操作する①

           以前、MySQLをSQLから直接操作する記事を書きました。今回はPHPからデータベースをCRUD操作してみます。PHPとHTMLを用いることにより、ユーザーの端末からユーザー自身でデータを操作することが可能になります。CRUD画面をユーザーに提供することはWebシステム開発の第1歩です。 筆者の環境PC:Apple M1 チップ搭載MacBook Air OS:macOS Ventura 13.6 MAMP:6.8 PHP:8.2.0 データベースの作成 MAMPを起動

          PHPでデータベースをCRUD操作する①

          PHPUnit入門②

          よく使うアサーションを紹介したいと思います。入門①は下記です。 筆者の開発環境PC:Apple M1 チップ搭載MacBook Air OS:macOS Ventura 13.6 MAMP:6.8 PHP:8.2.0 PHPUnit:10.4.1 2つの値が等しいことを検証するassertSame()メソッドを使います。厳密な型比較になります。 $this->assertSame('hoge', 'hoge'); // OK$this->assertSame(0, 0)

          PHPUnit入門②

          PHPでオートロードする方法

           通常、クラスファイル等をインクルードするには下記のようにrequire_once等を使用し、必要に応じて1つずつ読み込みます。 require_once __DIR__ . 'src/User.php';require_once __DIR__ . 'src/Hoge.php';(以下続く) composer.jsonのautoload機能を使えばクラスファイルのオートロードが実現できます。 筆者の開発環境PC:Apple M1 チップ搭載MacBook Air OS

          PHPでオートロードする方法

          PHPUnit入門①

           ユニットテストと呼ばれるテストの書き方を解説します。ユニットテストとは「機能」に焦点を当てて行うテストです。具体的には関数やメソッドの返り値をテストすることになります。  テストを書くメリットは一度テストを書いてしまえば何度でもテストを自動で実行できて、関数やメソッドの中身を修正する時に修正の前後で結果が変わっていない(意図した通りである)ことが保証できることです。動いているプログラムを修正することは大変勇気のいることで、テストプログラムは開発者にとって大変心強い味方になり

          PHPUnit入門①

          時短!VSCodeショートカット(Windows編)

          ショートカットを覚えてラクしましょう。 Mac編はこちらです。 ファイルの検索Ctrl + p ファイルの新規作成Ctrl + n ファイルを閉じるCtrl + w ファイルを一括で閉じる# Ctrlキーを押しながらk,wと続けて入力Ctrl + k, w 最後に閉じたファイルを開くCtrl + Shift + t タブの移動Alt + 左右の矢印キー 直前のタブに移動Ctrl + Tab 単語の検索/置換(ファイル内から)Ctrl + f / Ctrl +

          時短!VSCodeショートカット(Windows編)

          Windows版MAMP環境にLaravelをインストールする

           PHPのWebフレームワークの中で一番人気のLaravel(ララベル)をMAMP環境で使えるようにするまでの解説です。Laravelは筆者も業務で使用しており大変お気に入りです。  ちなみにフレームワークとは、Webアプリケーショの開発によく用いられる機能を満載したプログラムのひな形のことです。例えば認証機能(ログイン機能)は大部分のWebシステムに必須の機能ですが、仕組みはどれも似通ったものです。ですので、予めフレームワークはそのひな形を準備しており、開発者が自分のシステ

          Windows版MAMP環境にLaravelをインストールする

          SQLでMySQLをCRUD操作する

           データベースとはデータをまとめて保管しておく箱のようなものです。有名なところではマイクロソフトのOffice製品の一つであるAccessがあります。データベースはデータの取り出しや変更に便利で、ほとんどのシステムやWebサービスに使われています。  今回は無償で使えるMySQLというデータベースを用いてデータベースの操作の基本を解説したいと思います。MySQLはMAMPに含まれていますので、MAMPをインストールするとすぐに使えます。  本稿ではMAMPに含まれるMySQL

          SQLでMySQLをCRUD操作する

          MAMPのmysqlコマンドにパスを通す(Windows編)

          WindowsのMAMPに同梱されたmysql.exeにパスを通します。 Mac編はこちらです。 筆者の開発環境PC:DELL Inspiron 15 3511 OS:Windows 11 Home バージョン22H2 MAMP:5.0.5 MySQL:5.7.24 mysql.exeの場所 MAMPに同梱されたmysql.exeの場所は下記になります。今回はここにパスを通します。 C:\MAMP\bin\mysql\bin  エクスプローラーを起動し、上記のフォルダ

          MAMPのmysqlコマンドにパスを通す(Windows編)

          MAMPのmysqlコマンドにパスを通す

           MAMPに同梱されたmysqlコマンドにパスを通します。少し内容が難しいです。  Windows編はこちらです。 筆者の開発環境PC:Apple M1 チップ搭載MacBook Air OS:macOS Ventura 13.6 MAMP:6.8 MySQL:5.7.39 mysqlコマンドの場所MAMPに同梱されたmysqlコマンドの場所は下記になります。 /Applications/MAMP/Library/bin パスを通す Finderを起動し、「アプリケ

          MAMPのmysqlコマンドにパスを通す

          PHPでエクセル操作を自動化する②

           前回は「PhpSpreadsheet」をインストールして、サンプルコードが動作するところまで解説しました。今回は実例を交えて、エクセル操作の基本を解説していきます。  筆者の開発環境PC:DELL Inspiron 15 3511 OS:Windows 11 Home バージョン22H2 PHP:8.0.1 Office:Microsoft Office Home and Business 2021 下準備 エクセルのワークブックを保存する専用フォルダをプロジェクトフォ

          PHPでエクセル操作を自動化する②