webシステム

LaravelにTwitter、Facebook、Googleログイン用のパッケージsocialiteをインストールする(その2)

LaravelにTwitter、Facebook、Googleログイン用のパッケージsocialiteをインストールする(その2)

● ルータの修正 前回はソーシャルログインを提供しているプロバイダごとにルーターを指定しましたが、以下のようにまとめるとスッキリする上に新たにプロバイダが増えた場合も対処が楽です。 routes/web.php Route::get(‘auth/{provider}’, ‘Auth\AuthController@RedirectToProvider’); Route::get(‘auth/{provider}/callback’, ‘Auth\AuthController@CallbackFromProvider’); app/Http/Controllers/Auth/AuthController.php /** * ソーシャルログインのプロバイダへリダイレクトします * * @param string $provider (‘twitter’ or ‘google’ or ‘facebook’ ) */ public function RedirectToProvider($provider) { return Socialite::driv

LaravelにTwitter、Facebook、Googleログイン用のパッケージsocialiteをインストールする(その1)

LaravelにTwitter、Facebook、Googleログイン用のパッケージsocialiteをインストールする(その1)

  RailsライクなPHPフレームワークlaravel。 ここ数年でPHP業界標準になりそうな勢いがあります。 弊社ではlaravelの実行速度を考慮して「サーバー要件PHP7以降」の案件(最近の新規案件)に使用していく方針を取っております。 で、このlaravelでSNSログインを実装する方法をここに記載しておきます。 ● まずLaravelのインストールをおさらいします 1. composerから laravelをインストール composer require “laravel/installer” 2. laravelのパスを通す .bash_profile に以下の行を追加(YOUR_LARAVEL_DIRECTORYのところは適宜書き換えてください。) export PATH=”/YOUR_LARAVEL_DIRECTORY/vendor/bin:$PATH” 3. laravelコマンドでアプリケーションを作成 次の例では test というアプリケーション作成します laravel new test 4. データベース設定

MySQLのsql_mode正しく設定されていますか?

MySQLのsql_mode正しく設定されていますか?

MySQLのこんな事象に遭遇したことはありませんか? ・MySQLのint型カラムに 空文字 ” をインサートすると 0 になる。 ・MySQLのdatetime型カラムに 空文字 ” をインサートすると 0000-00-00 00:00:00 になる。 はい。おそらく低いバージョンのMySQLで、かつ sql_mode が未設定(デフォルトのまま)です。 今後MySQLのバージョンが上がった際にデフォルトの sql_mode が変わって、それにともないMySQLの挙動が変わる可能性があります。 結構危険ですので、MySQLのsql_modeの確認と設定を行いましょう。   ● MySQLのsql_modeを確認する sql_mode を確認するには次のクエリーを投げます。 SHOW VARIABLES LIKE “%sql_mode%”;   また、グローバルスコープの設定を確認するにはこちら SELECT @@global.sql_mode;   また、セッションスコープの設定を確認するに

PHPフレームワークLaravelのO/RマッパークラスEloquentを単体で使用する

PHPフレームワークLaravelのO/RマッパークラスEloquentを単体で使用する

スピードを求めて軽量フレームワークを採用したけれども一部でLaravelO/Rマッパーが使いたい。 そんなマニアックな案件がごくたまにあります。 LaravelのO/RマッパークラスEloquentは単体で使用することができるので今回はその方法をこちらに記述しておきます。   Eloquent単体のインストール とりあえず試したい場合はEloquent単体でインストールするeloquent-onlytというパッケージを作ってくれてる方がいるので(感謝) composerから以下のパッケージをインストールすると使用することができます eloquent-only https://packagist.org/packages/mapyo/eloquent-only   ・composerコマンドからインストールします composer require mapyo/eloquent-only   ・少し古いバージョンの(illuminate/database)がインストールされるのでバージョンを確認しておきます。 compo

phpのドキュメント書いていますか?

phpのドキュメント書いていますか?

phpのドキュメント書いていますか? 最近保守の案件で他社様で作られたPHPソースを覗くことがよくあるのですが、ソース内にphpdocが書かれていないソースが多々あります。 (もちろん開発中には書かれていて本番リリース時に削除された可能性も否めませんが。) phpdocは簡単でいいので必ず書きましょう。   phpdocを書くメリットって? phpdocを書くメリットには次のものがあります 後にソースを見返した時理解する時間が短縮される phpstormと併用することでコーディング時に「変数の型の間違い」等の凡ミスをを防げる phpunitによるユニットテストのテスト項目をphpdocから生成できる 1. は言わずもがなですね、ただ個人的には「テキストによるプログラムの情報が記載されている」というメリットより、「どんな(レベルの)人間がソースを書いたのかをより知る事が出来る」というメリットの方が大きいと思います。 2. は PHPMDをインストールすることで実現できます。 3. は次回に紹介するとして、ここでは2. PHPMDとの併用を