webシステム

pleskで管理しているメールアドレスでメール受信をきっかけに PHPプログラムを動作させる

pleskで管理しているメールアドレスでメール受信をきっかけに PHPプログラムを動作させる

サーバー管理ソフトウェアのPlesk皆さんお使いでしょうか? 1台のサーバーに複数のドメインを管理する時には必須といってもいいほど便利なソフトウェアです。 今回はこのpleskで管理しているメールアドレスへメールが送信されてきた時にPHPプログラムを動作させる方法を書いておきます。 ● Plesk 12 (Centos 6)のqmailで管理しているメールアドレスへのメール受信でPHPプログラムを動作させる ● 1. テスト用PHPプログラムを用意する こことても重要です。 とにかくシンプルなプログラムを用意してうまく動作しなかった時のチェック項目を減らすということが一番重要になってきます。 チェック用PHPプログラム。これをまず .qmail があるディレクトリへ作成します メールアドレス TEST@YOUR.SERVER.COM でのケースとします。 .qmail の場所は /var/qmail/mailnames/<YOUR.SERVER.COM>/<TEST>/.qmail なので、 vi /var/qmail/m

laravel5.5でスキャフォールディングを行えるパッケージ laralib/l5scaffold をインストールする

laravel5.5でスキャフォールディングを行えるパッケージ laralib/l5scaffold をインストールする

● laravel5.5でスキャフォールディングを行えるパッケージ laralib/l5scaffold をインストールする Laravelでは標準でスキャフォールディングのパッケージが存在しません。 (そのかわり有志の方が作成してくれています。お陰で似たようなパッケージが乱立していますが。) 今回は シンプルな scaffold を提供する l5scaffold をインストールして使用できるようにします。 composerのインストール、 Laravelのインストール、 laravelアプリの初期化 は省略します。 sshで該当のディレクトリへ移動するところからのスタート!です。 それではどうぞ! 1. laralib/l5scaffold のインストール cd <YOUR-APP-NAME> composer require ‘laralib/l5scaffold’ –dev 2. configに記述を追加 config/app.php の ‘providers’ の一番下に追加 // L5scaffol

イシュー管理(バグ・課題管理)はBitBucketでいいんじゃないでしょうか

イシュー管理(バグ・課題管理)はBitBucketでいいんじゃないでしょうか

弊社のシステム開発にどうしてもかかせないツールの一つがイシュー管理(バグ、課題管理)です。 弊社では過去にプロジェクト管理アプリ Redmine(Ruby on Rails)やCandy Cane(PHP)で運用してまいりましたが、2018年からは 「BitBucket」の「課題」を使用することにしました。 ● BitBucketとは 無料(有料サービスもあり)の バージョン管理ホスティングサービスです。 プロジェクト参加人数が5名以下は無料。それ以上は有料です。 インターフェースがシンプルにまとまっているので、エンジニアはもちろんデザイナーにもおすすめです。 コマンドラインから git 操作するのがおっくうなかたには Source Tree アプリもあります。 https://ja.atlassian.com/software/sourcetree ● BitBucketの「課題」を使用するメリットは? BitBucketの「課題」を使用するメリットとしては ・ サーバ設定管理コストがかからない ・ BitBucketはほとんどのエンジニアが使

Codeigniter, Laravelの多言語サイト用languageファイルをエクセルから自動で生成する

Codeigniter, Laravelの多言語サイト用languageファイルをエクセルから自動で生成する

最近のPHPフレームワークでは日本語・英語・など言語サイトを作成するための設定があらかじめ用意されています。 ・PHPフレームワーク「Laravel」の多言語ファイル階層 /resources /lang /en messages.php /ja messages.php ・Laravelの言語ファイル messages.php の中身 単純に配列を return しているだけです。 <?php return [ ‘lang01’ => ‘Welcome to our application’ ]; ・PHPフレームワーク「CodeIgniter」の多言語ファイル階層 /application /language /en myapp_lang.php (【任意の名前】_lang.php ) /ja myapp_lang.php (【任意の名前】_lang.php ) ・CodeIgniterの言語ファイル XXXXX_lang.php の中身 $lang連想配列に値をセットしているだけです。 <?php $lang[‘lang0

システム仕様書作成時に使用したい視認性のいい4フォント

システム仕様書作成時に使用したい視認性のいい4フォント

WEBシステム制作の仕様書作成時に「ファイル名やURLなどの文字列にどのフォントを使用すると視認性がいいのか?」 と悩まれたことはないでしょうか? 今回最近お気に入りの4フォントで比較してみましたので御覧ください。 当事務所ではこちらの「Geneva」「Montserrat」「Source Sans Pro」「Neo Tech Pro」 4フォントを仕様書のファイル名などのフォントに積極的に使用しております。   フォントサイズを変更する時に参考にすると良いサイト Type Scale – A Visual Calculator  

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との併用を