[Laravel] ショッピングカート

必要に迫られて、Laravelで使えるシンプルなショッピングカートのパッケージ探す。

ググると以下のスレッドがヒット。

Simple shopping cart
https://laracasts.com/discuss/channels/general-discussion/simple-shopping-cart?page=1

紹介されているパッケージをリスト。

GitHub – Crinsane/LaravelShoppingcart: A simple shopping cart implementation for Laravel
https://github.com/Crinsane/LaravelShoppingcart

GitHub – kingpabel/LaravelShoppingcart: A simple shopping cart implementation for Laravel 4 & 5
https://github.com/kingpabel/LaravelShoppingcart

GitHub – anam-hossain/phpcart: Simple framework agnostic shopping cart
https://github.com/anam-hossain/phpcart

GitHub – moltin/laravel-cart: Laravel Facade and Service Provider for Moltin\Cart
https://github.com/moltin/laravel-cart

GitHub – anam-hossain/phpcart: Simple framework agnostic shopping cart
https://github.com/anam-hossain/phpcart

Cart Manual :: Cartalyst
https://cartalyst.com/manual/cart/2.0#laravel-5art/2.0

今回は先頭のパッケージを使わせてもらうことにする。一番最近までメンテされていてユーザが多そうなのが理由。

[Laravel] 5.3の認証の変更点

認証処理(といっても主にファイルの所在やクラスの構成)が5.2から変わっているので、解説しているサイトを覚書リンク。

Authentication Enhancements in Laravel 5.3 – Sponsor – Laravel News
https://laravel-news.com/2016/08/authentication-enhancements-in-laravel-5-3-sponsor/

Improvements to authentication in Laravel 5.3
https://josephsilber.com/index.php/posts/2016/07/10/authentication-improvements-in-laravel-5-3

Gate and authorization improvements in Laravel 5.3
https://josephsilber.com/index.php/posts/2016/08/03/authorization-improvements-in-laravel-5-3?utm_source=laravel_news&utm_medium=sp&utm_campaign=laravel5.3_auth

[Laravel] 5.3でMulti-Authを使う

以下の要件を想定

  • /user以下は登録ユーザしかアクセスを許さない (要認証)
  • /admin以下は管理者しかアクセスを許さない (要認証)
  • それ以外は認証なしでアクセスできる
  • ユーザはusersテーブルで管理する
  • 管理者はadminsテーブルで管理する
  • 登録ユーザのログインは/login、ログアウトは/logout
  • 管理者のログインは/admin/login、ログアウトは/admin/logout

以下、実装手順をざっくり。

(1) 標準Authの有効化と管理者の追加

標準のAuthを有効化する

adminsテーブルを作成

とりあえずadminsテーブルの構成はusersテーブルと同じにしておく。

Adminモデルを作成

とりあえずAdminモデルの構成はUserモデルと同じにしておく。

マイグレーション実行

Authの設定

(2) 管理者ログインの仕組みを作成

実装の手間を減らすために、標準のログインの仕組みを可能な限り流用する方針で行く。

標準のログインコントローラ(app/Http/Controllers/Auth/LoginController.php)をapp/Http/Controllers/Admin/Auth/LoginController.phpへコピーして、管理者ログイン用にカスタマイズする。

標準のログインページのテンプレート(resources/views/auth/login.blade.php)をresources/views/admin/auth/login.blade.phpへコピーして、管理者ログイン用にカスタマイズする。

(3) 管理者ログインページへの転送を追加

(4) ルーティングを定義

(5) コントローラに認証要件を追加

参考サイト

Authentication – Laravel
https://laravel.com/docs/5.3/authentication

[WordPress] 外部アプリから新規ユーザを追加するには

wp_userテーブルにレコードを追加してやれば良さそう。

パスワードハッシュの生成はwp-includes/class-phpass.phpに定義されているPasswordHashというクラスで行っているようなので、これをコピーしてきて外部アプリから呼んでやれば良さそう。

というわけで、Laravelだとこんな感じ。

参考サイト

【WordPress】wp_usersテーブルを流用してログイン機能を作る at softelメモ
https://www.softel.co.jp/blogs/tech/archives/3793

[Laravel] created_at/updated_atが無いテーブルをEloquentで扱うには

モデルクラスの$timestamps変数をfalseにセットすればよい。

参考サイト

timestampを無効にする場合 – ふたりはララベル (Laravel PHP Framework)
http://laravel.hatenablog.com/entry/2013/10/19/004831

[Webサイト制作] 2015〜2016年のWebデザイントレンドまとめ

自分はデザイナじゃないけど、トレンドと言われると目を通しておかないとと思ってしまう。

2015〜2016年のWebデザイントレンドまとめ(前編) | デザインのトレンド
https://liginc.co.jp/291343

2015〜2016年のWebデザイントレンドまとめ(後編) | デザインのトレンド
https://liginc.co.jp/301949

[Laravel] クレジットカード番号バリデータ

必要に迫られて探してみた。

GitHub – inacho/php-credit-card-validator: Validates popular debit and credit cards numbers against regular expressions and Luhn algorithm. Also validates the CVC and the expiration date.
https://github.com/inacho/php-credit-card-validator

GitHub – rap2hpoutre/laravel-credit-card-validator: Laravel Credit Card Validator
https://github.com/rap2hpoutre/laravel-credit-card-validator

GitHub – Intervention/validation: Extension for the Laravel validation class
https://github.com/Intervention/validation