PhpSpreadsheetの利用

PHPでExcelを操作する時に利用するPhpSpreadsheetについての紹介。

PhpSpreadsheetとは

以前「PhpExcel」としてLaravelでも積極敵に活用されていたライブラリの後継版。
新規Excelファイルの作成、既存Excelファイルの読込、読込済みファイルの編集等一通りの操作が可能。
注意点としてはPHPのバージョン7.2以降が要求される点のみ注意が必要。

PhpSpreadsheetの導入

PhpSpreadsheetはcomposerで導入が可能です。

composer require phpoffice/phpspreadsheet

 
なお、以降のサンプルではPHPのバージョンは7.4、PhpSpreadsheetは1.14.1が導入された環境で作成しています。
 
続きを読む

Laravel5.4での標準機能を利用した認証機能の実装(パスワード初期化)

引き続きLaravel5.4での標準機能を利用した認証機能の実装を行います。
今回は本連載の最後としてパスワード初期化機能の実装を行います。

なお動作サンプルはコチラにありますので参考にして下さい。
また、本連載で作成または編集したファイルは(ほぼ)コチラに掲載しております。
 
続きを読む

Laravel5.4での標準機能を利用した認証機能の実装(ログイン、ログアウト処理)

引き続きLaravel5.4での標準機能を利用した認証機能の実装を行います。
今回はログイン、ログアウト処理の実装です。

なお動作サンプルはコチラにありますので参考にして下さい。
また、本連載で作成または編集したファイルは(ほぼ)コチラに掲載しております。
 
続きを読む

Laravel5.4での標準機能を利用した認証機能の実装(準備作業〜新規利用登録)

Laravel5.4での認証機能を実装します。
なお、Laravel5.4では認証機能について動作を確認したいだけであれば以下のコマンドを実行するだけで準備が完了します。

> php artisan make:auth
> php artisan migrate

前者のコマンドではルートの追加と必要となるビューの作成、そしてログイン後のホーム表示処理用のコントローラーの作成が行われます。
後者のコマンドでは認証で利用するテーブルの作成が行われます。
それ以外に必要となるもの(例えば、コントローラーなど)は最初から必要最小限のものが準備されています。
 
但し、今回は前者のコマンドは使いません。
理由としてはルートもビューの内容も通常はアプリケーションによる為、それ程再利用性が高くありません。
その為、今回は再活用可能なもののみ利用する事とし、それ以外は個々に実装します。

具体的には「app/Http/Controllers/Auth」配下の「ForgotPasswordController.php」「LoginController.php」「RegisterController.php」「ResetPasswordController.php」の4つのコントローラー、そして「database/migrations」配下の「2014_10_12_000000_create_users_table.php」「2014_10_12_100000_create_password_resets_table.php」の2つのマイグレーションファイルは再利用します。

それ以外については標準で準備されるリソース類を参考にしつつ、それぞれ整備します。

なお動作サンプルはコチラにありますので参考にして下さい。
また、本連載で作成または編集したファイルは(ほぼ)コチラに掲載しております。
 
続きを読む

CentOS7へMailCatcherの導入と基本的な利用

メール送信のテストの時に便利なMailCatcherの導入方法と基本的な利用についてのまとめ。
 

MailCatcherとは

疑似SMTPサーバーとして稼働し、メールの送信を実際に行わずにあたかもメールが送信された内容などを確認する事ができるライブラリーです。
昔に比べるとメールサーバーを借りる事自体はそれほど難しくない状況ですが、開発環境毎にアカウントを整理したり、誤送信や、送信状況のモニタリングなども確認するとなると覚えるべき事や行うべき事も多くなり、若干煩わしさがある事も事実です。

そういった際、MailCatcherを利用するとそういった事を対応する事無く簡単にメールの送信テストを行う事ができます。

例えば、メールの送信時には送信先となるアカウントを発行し、そのアドレス宛にメールを送信し、その後、受信を行いその内容が妥当であるか確認します。
これをMailCatcherで行う場合、アカウントの準備などは不要で好きなアドレス宛に送信して問題ありません。
宛先がどこであろうと、全てのメールはMailCatcherでインターセプトされており、専用の管理画面からその内容を確認する事ができます。

このように、開発環境やテスト環境で非常に有効なライブラリです。
続きを読む

CentOS7へのrbenvを用いたrubyの導入(システムワイド版)

Laravelのテスト環境を整備している中でmailcatcherの導入を行うのですが、その際ruby環境が必要になりましたので、その手順の整理。
なお、本手順はシステムワイドにインストールする場合の手順ですのでご注意を。

 

依存関係の解決

依存するライブラリー等を予め導入します。

yum install git gcc gcc-c++ openssl-devel readline-devel

続きを読む

Stripeの”checkout.js”で指定できるパラメーター

Stripeを利用する場合、もっとも単純な方法は”checkout.js”を利用する方法です。

PHPからStripeを利用する〜もっとも単純な課金処理の実装〜“では、最低限のパラメータのみ指定しましたが、他にも沢山のパラメータがあり、用途に合わせた表示を行う事が可能です。
例えば、カード情報の取得と同時に決済を行う動作であったり、会員登録後別途カード情報のみ取得する仕組みのように柔軟な設定が可能です。

今回は”checkout.js”のパラメータと、用途に応じた設定について紹介します。
続きを読む

PHPからStripeを利用する〜もっとも単純な課金処理の実装〜

Stripeを利用すると非常に簡単にサービスにクレジットカードによる決済機能を導入する事ができます。
 

Stripe は、あらゆる規模のビジネスに対応したオンライン・対面支払いの処理と金融のソリューションを提供しています。豊富な API とコード不要のツールで、決済の受け付け、入金、財務プロセスの自動化を行うことができます。

 

全てはトークンの取得から

Stripeによるクレジットカード決済では何よりも”トークン”を取得する事が重要となります。

サービス提供者側では直接クレジットカードの情報を取得・管理する必要はなく、Stripe側でそれらを全て管理してくれます。
その際、Stripeが取得したクレジットカード情報を操作する為に実用となるのがこの”トークン”となります。

続きを読む