tanaka's Programming Memo

プログラミングについてのメモ。

PHP

Laravel5.3とVue.jsを組み合わせたページをCodeceptionでテストする

LaravelのPHPのみのページのテストは、CodeceptionのFunctionalテストで問題なく動きますが、Vue.jsを利用したようなJavaScriptを使ったページは、Functionalテストでは完全にテストできないようです。そのような場合は、実際のWebブラウザー上でテストするA…

Laravel Elixirでwebpackを使ってCodeSplittingをする

Laravel5.3のElixirからwebpack 1.13.3でビルドして、JavaScriptのコードを分割をする手順です。ページごとに用意する Entry Chunk である「app.js」と「app2.js」をビルドすると同時に、どちらのJavaScriptファイルでも利用するコードを「common.js」という…

Laravel5.3でSentinelを利用する(7)アクティベーションコードの再送

前へユーザー認証の仕上げに、アクティベーションコードの再送機能を追加します。アクティベーションコードには有効期限があるので、一定時間がすぎると利用できなくなります。また、ユーザーがメールを削除してしまう可能性もあるので、コードの再発行が必…

Laravel5.3でSentinelを利用する(6)パスワードのリセット

前へ | 次へパスワードを忘れた時の対応を実装します。(2016/12/21 HTMLのidをケバブケースに修正) (2016/12/21 テストにwantToを追加) 目次 目次 はじめに テストの作成 ルートの作成 リマインダーに必要なメッセージを追加 メールのビューを変更する場合 …

Laravel5.3でSentinelを利用する(5)ログインとログアウト(2016/12/31更新)

前へ | 次へログイン処理を、Sentinelに変更します。ルートは前の手順ですでに作成済みなので、postに対するコントローラーの作成を行います。(2016/11/8 エラーを withErrors で渡すように修正) (2016/12/15 HTMLのID 'loginForm'がキャメルケースだったの…

Laravel5.3でSentinelを利用する(4)アクティベーション

前へ | 次へユーザー登録ができたので、アクティベーションコードを確認して、ユーザーを有効にする処理を実装します。(2016/12/21 テストにwantToを追加) 目次 目次 テストの作成 アクティベーション用のルートを作成 アクティベーションの実行 必要なメッ…

Laravel5.3でSentinelを利用する(3)ユーザー登録(2016/11/8更新)

前へ | 次へ環境の構築が完了したので、実際に機能を置き換えていきます。まずはユーザー登録を対応させます。(2016/11/8 エラーを変数でviewに渡していたのを、withErrorに変更) (2016/12/21 HTMLのidをケバブケースに修正) (2016/12/21 テストにwantToを追…

Laravel5.3でSentinelを利用する(2)MiddlewareをSentinelに対応させる

前へ | 次へLaravelとSentinel、Codeceptionのインストールが完了したら、次にMiddlewareをSentinelに対応させます。 目次 目次 はじめに 必要なプログラムを組み込む Cent.php を5.3に対応させる ユーザーモデルを作成 サービスプロバイダーを登録 作成した…

Laravel5.3でSentinelを利用する(1)LaravelとSentinel、Codeceptionのインストール

次へ完成プロジェクト→ GitHub - am1tanaka/lara5.3-sentinel at ver1.1.1 目次 目次 はじめに 前提環境 実装の方針 Laravelのバージョン確認とインストール データベースを作成する Laravelの環境設定 起動テスト Sentinelをインストール 認証用のビューを…

Laravel5.3 で auth を作成した時に変更される内容

Laravel5.3で php artisan make:auth を実行すると、どこが変わるかを確認しました。 routes/web.php 以下のルート設定が routes/web.php ファイルに追加されます。 Auth::routes(); Route::get('/home', 'HomeController@index'); 追加されるファイル 以下…

Laravel5.3 テストでテスト専用のデータベースを使う

(submitFormでは、フォームを指定すべきなのがわかりづらい例になっていたので修正 2016/11/1)Laravelアプリの開発時に、テストする時とそうでない時で、別のデータベースを使うようにする方法です。これをやっておけば、テスト時に好き勝手にデータベースを…

CodeceptionのQuick Startをやってみる

PHP用のテストフレームワーク Codeception を使ってみます。Laravelのテストで .env を切り替える方法を調べると、片っ端から Codeception が使われていたので導入しようと思います。 公式ページ Codeception ダウンロードと設定 基本的な手順はこちらに載っ…

Laravel5.3でのテストのメモ

自分向けのメモです。LaravelにはPHPUnitによるテストの設定が組み込まれています。公式マニュアルで概要を確認して、データベースのチェックや、URLごとのテストについて調べました。5.2から5.3になる段階で、データベースとモックに関する記述が増えていま…

macOS Sierra で MySQLを動かす

MySQL5.7系は、macOS Sierraでは5.7.15以降にしないと動かないようです。Does macOS sierra support any version of mysql? | Apple Developer ForumsMySQL5.7.11から5.7.16にアップデートした時の手順です。 MySQLを停止 あらかじめ、MySQLを停止しておく(…

Laravel(5.3) SocialiteでTwitterのOAuthを試す

Laravelの公式パッケージに TwitterやGitHubなどで認証を行える Socialite があります。Twitter にログインして、ユーザー情報(ユーザーID、ユーザー名、アバターなど)を表示してみます。情報源:GitHub - laravel/socialite 目次 目次 前提 プロジェクトを…

Laravel(5.3) イベントを試す

Events - Laravel - The PHP Framework For Web ArtisansLaravelの公式ドキュメントのイベントの項目を参考に、動かしてみました。 目次 目次 概要 プロジェクトを準備 イベントの登録とリスナー イベントとリスナーを登録する イベントとリスナーの作成 イ…

Laravel(5.3) のキューを試す

Laravel公式ドキュメント:Queues - Laravel - The PHP Framework For Web Artisans 和訳ページ:キュー 5.2 Laravel公式ドキュメントを参考に、Laravelのキューを動かしてみました。ドライバーは、まずは sync で動かして、その後に database を使いました…

Laravel(5.3) ErrorとLoggingのチュートリアル

Errors & Logging - Laravel - The PHP Framework For Web ArtisansLaravelの公式ドキュメントを元に、エラーとログの動作を確認します。 目次 目次 Laravelのエラーとログ処理 前提 プロジェクトを準備 エラー表示とログを確認する 例外を発生させてみる ab…

Laravel5.2でのテストのメモ

Laravel5.3のものをこちらに書きました → Laravel5.3でのテストのメモ - tanaka's Programming Memo - 自分向けのメモです。LaravelにはPHPUnitによるテストの設定が組み込まれています。公式マニュアルで概要を確認して、データベースのチェックや、URLごと…

Laravel+Sentinel ロール管理機能を作成する

ユーザー管理の実装からの続きです。ロール管理機能を追加していきます。 目次 目次 ロール管理画面の概要 機能 アクセス権限 ロール管理用のコントローラーの作成 ロール用のコントローラーを作成 パーミッション用のコントローラーを作成 ルートを設定 ロ…

Laravel+Sentinelで、ユーザー管理を実装する

Laravelの認証や認可にSentinelを組み込んだのであれば、ユーザーの役割(ロール)や権限(パーミッション)機能を使えるようにしたいところです。そこで、管理者によるユーザー管理、ロールとパーミッションによる権限の管理をするコントローラーやビューを…

Laravelのvalidateで Method [validateRequire] does not exist が出た

単純にバリデーションの指定のミスでした。requiredを指定しなければならないところを、requireと書いていたため、このエラーが出ました。

Laravelの認証にSentinelを利用する

Laravel5.3に対応させた記事を公開しました。 → Laravel5.3でSentinelを利用する(1)LaravelとSentinel、Codeceptionのインストール - tanaka's Programming Memo

PHPで簡単にPOSTする

PHPUnitのテストなどで、手っ取り早くPOSTする時の関数。PHPの公式ページのサンプルなどを参考にしました。PHP: file_get_contents - Manual

コードをPHPのコーディング規約に則って整形する

AtomでPHPのコーディング規約に整形するツール php-cs-fixer を使えるようにしました。 php-cs-fixer 手順 ターミナルを起動 以下で、php-cs-fixerをインストール brew install php-cs-fixer php-cs-fixer -v でバージョンが表示されればインストール完了 次…

PHPUnit DBUnit のテストでハマったことなどメモ

データベースのテストを行うには、PHPUnitのエクステンションであるDBUnitを利用することができます。PHPUnit マニュアル – 第8章 データベースのテスト インストール ComposerでDBUnitをインストールします。composer.jsonの"require-dev"に、以下を追加し…

Illuminate DatabaseのEloquent ORMを使う

Illuminate Databaseは、SQLで操作することができますが、Eloquent ORM(Objecte-Relational Model)というオブジェクト操作になぞらえた操作もできます。Illuminate Databaseをインストールして、データの挿入、取り出しを行う例を示します。データベースエン…

Twigの勉強メモ-SlimPHPで動かす for mac

SlimPHPのテンプレートエンジンとして、Twigを利用する手順をまとめておきます。掲載したコードは Templates - Slim Framework のものを、SlimPHPのSkeletonプロジェクトで動くように書き換えたものです。 SlimPHPプロジェクトの作成 composerはグローバルで…

Twigの勉強メモ-Introduction-

PHP用のテンプレートエンジンであるTwigについての自分向けの勉強メモです。 Introduction - Documentation - Twig - The flexible, fast, and secure PHP template engine Twigは、PHP用の自由度が高く、高速で、安全なテンプレートエンジン 既存のテンプレ…

Sentinel5.2以降でilluminate/support/Str.phpがrandom_bytesでエラー

PHP

Sentinelで認証しようとしたところ、以下のようなエラーが発生しました。 Fatal error: Call to undefined function Illuminate\Support\random_bytes() in /Users/user/project/vendor/illuminate/support/Str.php on line 233原因を調べると、PHP5とPHP7の…