Papagram
Laravel10を用いてCRUDシステムを構築します。実装からテストまでやります。
PHPのテスティングフレームワークPHPUnitの基本の解説記事です。
PHPでデータベースをCRUD操作するシステムをゼロから作る記事を集めました。誰かのお役に立てば幸いです。
先日、Laravel10で作ったとあるシステムを本番公開しようとしたら、500エラーが発生し解決に手間取りましたので共有させていただきたいと思います。 composer installやマイグレーションは事前に済ませており、時間になったらシンボリックリンクを公開領域に張るだけのはずでした。しかし、いざシンボリックリンクを張ってトップページにアクセスしてみると500エラーが発生しました。 APP_DEBUGをtrueにしてみてもレンタルサーバーのデフォルトの500エラーペ
前回の記事で作成したメンバー管理システムのテストコードを作成します。 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」フォルダ内
下記の記事で作った素の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
前回まででCRUD操作は完成しましたが、このままでは少々システムが使いづらいので、少しでも使いやすくなるように改良します。 筆者の開発環境PC:Apple M1 チップ搭載MacBook Air OS:macOS Ventura 13.6 MAMP:6.8 PHP:8.2.0 エラーハンドリングエラー表示の制御 本番環境ではエラーが発生した時にエラーの情報が画面に表示されると危険なのでエラー情報を隠します。エラー情報の画面表示のオンオフはphp.inniで行います。
前回の記事でユーザー登録機能と一覧表示機能を作成しました。今回は更新機能および削除機能、詳細参照機能を作成します。 筆者の開発環境PC:Apple M1 チップ搭載MacBook Air OS:macOS Ventura 13.6 MAMP:6.8 PHP:8.2.0 ユーザー編集フォームの作成UsersControllerにeditメソッドを追加 UsersController.phpを下記のように編集し、editメソッドを追加してください。 ルーティングから受
前回はプロジェクトの事前準備として、データベースの作成、テーブルの作成、プロジェクトフォルダの作成、ドキュメントルートの変更を行いました。 今回からCRUD操作のための諸機能を作成していきます。 筆者の開発環境PC:Apple M1 チップ搭載MacBook Air OS:macOS Ventura 13.6 MAMP:6.8 PHP:8.2.0 基本機能の実装システムを稼働させる基本的な機能の実装を先に行います。 ルーティングとフロントコントローラーの作成 ル
以前、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を起動
よく使うアサーションを紹介したいと思います。入門①は下記です。 筆者の開発環境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)
通常、クラスファイル等をインクルードするには下記のようにrequire_once等を使用し、必要に応じて1つずつ読み込みます。 require_once __DIR__ . 'src/User.php';require_once __DIR__ . 'src/Hoge.php';(以下続く) composer.jsonのautoload機能を使えばクラスファイルのオートロードが実現できます。 筆者の開発環境PC:Apple M1 チップ搭載MacBook Air OS
ユニットテストと呼ばれるテストの書き方を解説します。ユニットテストとは「機能」に焦点を当てて行うテストです。具体的には関数やメソッドの返り値をテストすることになります。 テストを書くメリットは一度テストを書いてしまえば何度でもテストを自動で実行できて、関数やメソッドの中身を修正する時に修正の前後で結果が変わっていない(意図した通りである)ことが保証できることです。動いているプログラムを修正することは大変勇気のいることで、テストプログラムは開発者にとって大変心強い味方になり
ショートカットを覚えてラクしましょう。 Mac編はこちらです。 ファイルの検索Ctrl + p ファイルの新規作成Ctrl + n ファイルを閉じるCtrl + w ファイルを一括で閉じる# Ctrlキーを押しながらk,wと続けて入力Ctrl + k, w 最後に閉じたファイルを開くCtrl + Shift + t タブの移動Alt + 左右の矢印キー 直前のタブに移動Ctrl + Tab 単語の検索/置換(ファイル内から)Ctrl + f / Ctrl +
PHPのWebフレームワークの中で一番人気のLaravel(ララベル)をMAMP環境で使えるようにするまでの解説です。Laravelは筆者も業務で使用しており大変お気に入りです。 ちなみにフレームワークとは、Webアプリケーショの開発によく用いられる機能を満載したプログラムのひな形のことです。例えば認証機能(ログイン機能)は大部分のWebシステムに必須の機能ですが、仕組みはどれも似通ったものです。ですので、予めフレームワークはそのひな形を準備しており、開発者が自分のシステ
データベースとはデータをまとめて保管しておく箱のようなものです。有名なところではマイクロソフトのOffice製品の一つであるAccessがあります。データベースはデータの取り出しや変更に便利で、ほとんどのシステムやWebサービスに使われています。 今回は無償で使えるMySQLというデータベースを用いてデータベースの操作の基本を解説したいと思います。MySQLはMAMPに含まれていますので、MAMPをインストールするとすぐに使えます。 本稿ではMAMPに含まれるMySQL
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編はこちらです。 筆者の開発環境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を起動し、「アプリケ
前回は「PhpSpreadsheet」をインストールして、サンプルコードが動作するところまで解説しました。今回は実例を交えて、エクセル操作の基本を解説していきます。 筆者の開発環境PC:DELL Inspiron 15 3511 OS:Windows 11 Home バージョン22H2 PHP:8.0.1 Office:Microsoft Office Home and Business 2021 下準備 エクセルのワークブックを保存する専用フォルダをプロジェクトフォ