Tag: phpが付けられた記事

Laravel5.2で「Session store not set on request.」が発生する時の対処法

Laravel5.2を新規でインストールして5.1以前のソースを参考にセッションを使おうとする(間接的に使うメソッドを呼び出す)と以下のようなエラーが発生することがあります。 Session store not set on request. 原因は5.2から「セッション」「CSRFトークン」「Cookie暗号化」の機能が「web」という名前のミドルウェアグループとして別に切り出されるようになった… 続きを読む

Laravelで日付時刻の処理を書くならCarbon(カーボン)を使え

PHPで日付時刻処理をする時にとりあえず strtotime() でタイムスタンプに戻すことから始める皆さん、こんにちは。 日付時刻をPHPで扱うのは簡単ですが、少し計算などしようとすると結構面倒です。 タイムスタンプに変えてしまえば扱いは楽ですが、いちいち変換したり足したり引いたりしたくない!もっと人間にも分かりやすい形式で扱いたい!さらには時差も考慮して扱いたいし、英語環境では「6/10/20… 続きを読む

Laravel5.2でHTMLクラスとFormクラスを使う

Laravel5がリリースされたタイミングでHTMLとFormヘルパークラスがLaravel本体から分離され、「illuminate/html」パッケージとして公開されていましたが、それが開発停止となったためLaravel5.2からは「laravelcollective/html」パッケージを利用する必要があります。 laravelcollective/htmlの利用方法 composer.jso… 続きを読む

Zend_MailのFromヘッダでDoCoMoから返信が出来ない

Zend_Mailでメールする際のFromヘッダ作成時にメールアドレスのみ渡して名前を渡さない場合 “” <foo@bar.com> の様な形で生成されてしまう。 この状態でDoCoMo宛にメール送信を行うとDoCoMo端末から返信が出来なかった(確認したのはD905とPROSOLID μ) ダブルクォーテーションで囲われた所が無ければ返信が出来たのでFromヘッダ生成メソッド部を変更… 続きを読む

TemplateLiteは割り当てたオブジェクトにアクセスできない

Smarty互換でSmartyより軽量なTemplateLiteを使う に書いた後適度に使っていたところ、Smartyと決定的な差異を発見。 TemplateLiteはオブジェクトにアクセスできない。はじめからオブジェクトをアサインしないような作りにしておけば問題無いものの、既にSmartyでオブジェクトをアサインして使っている場合、テンプレートエンジンをそのまま差し替えるわけにはいかないので注意… 続きを読む

PHPで暗号化・復号あれやこれや

ウノウラボ Unoh Labs: PHPで暗号化・復号あれこれ に暗号化の話が出ていたので、追記する形で他にいくつか。 同じ記事を書いていた前のBlogが消えてしまったので流し書き程度に。 gnupg 関数 PHPからOpenPGPであるgnupg 関数を利用して鍵方式の暗号化がおこなえます。 gnupg関数を使用する為にPECLのgnupgモジュールが必要。 速度的にも以降の方法に比べて早い。P… 続きを読む

Smarty互換でSmartyより軽量なTemplateLiteを使う

SmartyはPHPのテンプレートエンジンでは最も有名で利用者も多いが重い。 TemplateLiteはLGPLライセンスのSmarty互換テンプレートエンジンでSmartyより早いとのこと。PHP5.1.1でSmartyとのベンチマーク比較を見る限りテンプレートで色々やってると結構差が出そう。 公式に書かれている、「TemplateLiteを使うべき7つの理由(意訳)」 Smartyよりコンパイ… 続きを読む

PHPエラー発生時に例外を投げる

処理が継続されるエラー発生時に例外を投げるというもの。エラー処理を例外で統一させる事が出来る。 class IOException extends Exception {} function errorHandler($errno, $errstr, $errfile, $errline) { if (false !== substr(‘failed to open stream’, $errst… 続きを読む

PHPでOpenIDによるログイン処理

PHPでのOpenIDを利用したログイン認証の実装について。 OpenIDの概要は調べるかWebの分散ID認証システムについてにて。とりあえず実装してみて、という感じなので間違っていたら指摘お願いします。 OpenID EnabledのPHP用ライブラリを利用する。 他にもVidentity.orgやPHP ClassesにOpenIDのライブラリはあるが更新が止まっていたり簡易的なものだったりす… 続きを読む