タグ

ブックマーク / brtriver.hatenadiary.org (12)

  • PHP7 で PSR-7 と Middleware を使うマイクロフレームワークを書いてみた - ぷぎがぽぎ

    コードはこちら。https://github.com/brtriver/karen [追記] この記事に書いてあるコードからさらに改良加えてApplicationレイヤーを作りました(v0.2) 詳しくはこっちの記事を参照をば http://d.hatena.ne.jp/brtRiver/20160106/karen_framework この記事の時点のコード(v0.1)を見たい場合は https://github.com/brtriver/karen/tree/v0.1.3 からどうぞ。 なにこれ? PSR-7が用意されてからコンポーネントを色々好きなのを選択できる時代が来つつあります。 たとえばzend-expressiveとか。 ただフレームワークががんばってこれらを抽象化しようとしてるのですが、もっとシンプルでもいいなぁと。 というわけで、コンポーネントをむき出しにして、ざぁーっと

    PHP7 で PSR-7 と Middleware を使うマイクロフレームワークを書いてみた - ぷぎがぽぎ
    k-holy
    k-holy 2016/01/04
  • monologでPHPのFatalエラーをログに残す - ぷぎがぽぎ

    この記事はSymfony Advent Calendar 2014の9日目の記事です。 昨日は おかぽんさんの SymfonyのDIを利用してMail送信クラスをインテグレーションテストする:コード編 でした Symfony のエラーハンドリングはとても優秀 (ただし2.4以降) Symfony は monolog が標準でバンドルされており、2.4からはエラーハンドリングをFWでとても良い感じにやってくれます。 Symfony 2.4以降の devで Noticeエラー たとえば、dev環境だと <?php namespace AppBundle\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Bundle\FrameworkBundle\Controller\Cont

    monologでPHPのFatalエラーをログに残す - ぷぎがぽぎ
  • "PHP Fatal error: Allowed memory size of xxx" で落ちる前にできること - ぷぎがぽぎ

    PHP Advent Calendar 2013 - 7日目 昨日は@hidenorigotoさんのBeyond MVCでした。 今日は PHPあるある的な問題に対する対策について少しばかり書きたいと思います。 ※ 歯ブラシを持たせてみた *1 メモリ不足でよくやる対応 PHPで大量のデータを扱ったりすると、設定された利用可能な最大メモリ使用量を超えて PHP Fatal error: Allowed memory size of 524288330 bytes exhausted (tried to allocate 351 bytes) in ....というエラーが発生して対応に追われたことの経験がある人はかなり多いと思います。 そもそも環境のメモリに余裕があるならmemory_limitを調整してメモリの使用量を増やしたり あまり余裕がない場合は暫定的対応として、該当処理部分だけ <

    "PHP Fatal error: Allowed memory size of xxx" で落ちる前にできること - ぷぎがぽぎ
    k-holy
    k-holy 2013/12/09
    auto_prepend_file + register_shutdown_function() なるほど
  • 簡単にPHPをmakeしてみた #vgadvent2013 - ぷぎがぽぎ

    初めての方こんにちは!!いつもお世話になっている方こんにちは!! VOYAGE GROUP エンジニアブログ Advent Calendar 2013 の3日目担当の @brtriver です。 Zucks で広告配信システムのアレやコレをやってるエンジニアです。 冬と言えば鍋。そうPHPですね! 皆さんはどうやってPHPをmakeしてますか? yumやapt-getを使ってるという方も多いと思います。 今回は簡単なmake方法について紹介してみます。 適当な大きさで丸める まずは、軽量樹脂粘土を用意します。PHPなので、青と白があればとりあえず大丈夫ですね。 今回は目玉用に黒も用意してますが、なければマジックペンとかでも大丈夫です。 青は白と混ぜて良い感じの色にします。 じっくりと引き延ばしながらこねるこがコツです。 耳としっぽを作る できあがった青色粘土を適当に丸める。 体をmake

    簡単にPHPをmakeしてみた #vgadvent2013 - ぷぎがぽぎ
    k-holy
    k-holy 2013/12/03
    "冬と言えば鍋。そうPHPですね!""まずは、軽量樹脂粘土を用意します"( ゚д゚)…
  • downコマンドがなくupだけのDBマイグレーションツール Dbup - ぷぎがぽぎ

    ビー・バップ・ハイスクールって知ってますか? Dカップって大きいですよね? というわけで、超シンプルなDBマイグレーションツール Dbup を作ってみたので紹介。 Dbup http://brtriver.github.io/dbup/ 日語: http://brtriver.github.io/dbup/ja/ インストールから実行までのデモンストレーション dbup.pharをダウンロード 必要なディレクトリや設定ファイルを作成 statusで確認しつつ、upで実行 dbup demo from brtriver on Vimeo. 特徴 準備はdbup.pharをダウンロードするだけ up コマンドしかありません。down コマンドは存在しません マイグレーションの記述は親しみあるSQLそのままです。ORMやDSLを新しく覚える必要はありません PHP標準のPDOクラスを利用してい

    downコマンドがなくupだけのDBマイグレーションツール Dbup - ぷぎがぽぎ
    k-holy
    k-holy 2013/05/07
    A5M2でER図からDDL出力、これでマイグレーションしてます。dbup.phar status --ini=.dbup/develop.ini でiniファイル切り替えられるのね
  • [PHP] Hamcrestを利用した超シンプルdocコメントでのテスト方法 - ぷぎがぽぎ

    PHPでテストを書くというとPHPUnitがデファクトスタンダードで、次がSimpleTestでしょうか。 以前はインストールも大変でしたが、今となってはcomposer使えば楽ですし、実績もあります。 でも、当にこの2択でPHPらしい開発ができていますか? たとえば、テストケースのクラスを用意することが前提になります。 ちょっとPHPのコードを書いてテストしたいときもです。 たとえば、以下のようなロジックを書きたいとします。 <?php $users = [ '太郎' => 'male', '花子' => 'female', '一郎' => 'male', ]; // この$usersから男性('male')のものだけを抽出したい $males = [ '太郎' => 'male', '一郎' => 'male', ]; ?> 普通にPHPUnitでTDDでとなると、それなりに面倒です

    [PHP] Hamcrestを利用した超シンプルdocコメントでのテスト方法 - ぷぎがぽぎ
    k-holy
    k-holy 2013/03/19
    バッチ処理的な何かとか、クロージャの内部処理とか、くそコードのリファクタリングで使えそう
  • フラットなPHPからSilexへ - ぷぎがぽぎ

    追記 DB接続時にcharset=utf8を指定 bindValueで暗黙の型変換されないように変更 Pimpleをサービスロケータとして使う場合の注意点を追加 テンプレートとしてフラットなPHPからTwigで書いた場合を追加 前提 スクリプト、ファイル、DBの文字コードはすべてUTF-8で統一です。 また、最初に以下のMySQLのテーブルがあることを前提として記事を書いています。 Database: MySQL user: myuser password: mypassword CREATE TABLE `blog_db`.`post` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `body` text NOT NULL, `date` date NOT NULL, PRI

    フラットなPHPからSilexへ - ぷぎがぽぎ
    k-holy
    k-holy 2012/07/30
  • composerでPHPのプロジェクトを簡単に始める - ぷぎがぽぎ

    composerとはなんぞや? composerはPHPのパッケージの依存関係やバージョン管理を行う仕組みで多くのライブラリがPackagistを通して利用可能です。 詳しいcomposerの記事は以下を参照していただくとして... PHPの外部ライブラリの管理にComposerを使う | Ryuzee.com Composerの使い方を調べたメモ(1) - k-holyのPHPとか諸々メモ Composerの使い方を調べたメモ(2) GitHubのリポジトリをPackagistに登録してcomposerでインストール - k-holyのPHPとか諸々メモ composerのautoloadを利用する composerはパッケージ管理なので、別に公開することが前提ではありません。プライベートなプロジェクトでも普通に使うことができます。 composerを使えば、PSR-0に準拠した名前空間

    composerでPHPのプロジェクトを簡単に始める - ぷぎがぽぎ
    k-holy
    k-holy 2012/06/12
    "あ、Composerって突然仕様が変わったりしてちょっとまだ安定してないので注意してね。(はーと)"えー
  • OrePHPはシンプルで速いクールなフレームワーク - ぷぎがぽぎ

    [追記1] 2012-06-10: ベンチマークを追加 [追記2] ブクマのコメントに回答 [追記3] ベンチマークをちょっと充実させた。Pinocoはえー [追記4] コントローラーの仕組みを変更 & debugモード追加 [追記5] PHP5.4.4で再ベンチ "ぼくがかんがえたさいきょうのふれーむわーく"ではないですが、OrePHPというPHP Webアプリケーション フレームワークを1つ書いてみた。 GitHub - brtriver/orephp: simple and fast PHP web application routing framework こんせぷと フレームワークが提供するのはルーティングだけ。シンプルに。速く。 ぼくがほしいのは、るーてぃんぐ 素のPHPでWebアプリケーションを書きたくない理由の1つがルーティングを用意するのが面倒というのがあります。Symf

    OrePHPはシンプルで速いクールなフレームワーク - ぷぎがぽぎ
    k-holy
    k-holy 2012/06/11
    namespace Ore; 流行の兆し
  • 4/25(水) 20:30〜 Symfonyしゃべりば - 春ですね - をust放送 - ぷぎがぽぎ

    春ですねー!開発してますかー? 唐突ですが、明日夜に久しぶりにSymfonyしゃべりばUst放送をやります。 Facebook Symfonyしゃべりば Ustream Symfonyしゃべりばとは、Symfonyのことも話ながらお酒のみながらゆるーい会話をただ流すだけのUst番組です。過去5回ほど?やってますが半年ぶりぐらいになります。 今考えいてるお題は以下の感じ Symfonyの最新情報 Symfony関西勉強会はどうだったの? 2012年4月7日「第3回 関西PHP勉強会」を開催します。 – Kansai PHP Users Group PHPカンファレンス北海道はどうだったの? PHPカンファレンス北海道で発表してきました :: Crocos Engineering Blog 話題のPHPメンターズ主催の「Symfony2によるWebアプリケーション開発入門」とは? 待望のSym

    4/25(水) 20:30〜 Symfonyしゃべりば - 春ですね - をust放送 - ぷぎがぽぎ
    k-holy
    k-holy 2012/04/25
    Symfonyしゃべりば
  • Silexの紹介記事を寄稿しました&さらに最新情報 - ぷぎがぽぎ

    Silex のことが書かれた最初の記事かも? もうみなさんご存知ですよね。今月のWEB+DB PRESS Vol.65 に"PHPフレームワーク実践活用〜Symfony2,CakePHP,Silex〜"という特集があります。 今回、声を掛けていただき 6ページにまとめた Silex の紹介記事を寄稿しました。 http://gihyo.jp/magazine/wdpress/archive/2011/vol65 内容は、ただSilexの説明をするだけでは面白くないので、CSVファイルで用意した新着情報の一覧表示、詳細表示を行う小さなアプリケーションのサンプルを作り、そのソースコードでSilexの特徴を解説するという流れになっています。 実際にサンプルコードもダウンロードできるようになりますので、環境さえあればソースコードを一式展開するだけで試すことができるようになっています。 予想外の出来

    Silexの紹介記事を寄稿しました&さらに最新情報 - ぷぎがぽぎ
    k-holy
    k-holy 2011/10/24
    "Silex, Twig, SwiftMailerなどの公式サイトは全てSilexで作られている"ほー
  • Silexを試してみた - ぷぎがぽぎ

    シンプルな問い合わせフォームアプリをSilexを使って作ってみましたのでその紹介。 Silexとは? SilexとはPHPで書かれたマイクロフレームワークです。RubyのsinatoraにインスパイアされてSymfony2のリードマージャー(Lead Merger)であるファビアンさんが作っています。特徴として名前空間がしがし使っていたりするのでPHP5.3.2以上でないと動きません。 というと、Symfony2っぽいと思われる方がいると思いますが、このSilexのライブラリはSymfony2でも利用しているコンポーネント類の一部を利用して作成されています。いわばSymfony2の妹分といったところでしょうか。 あと、ライブラリをpharアーカイブで配布しているので基silex.pharの1ファイルさえあれば動かせます。 冗談のようなアプリかと思っていたら意外(失礼)と気のようで公式サ

    Silexを試してみた - ぷぎがぽぎ
    k-holy
    k-holy 2011/04/07
    "Symfony2のリードマージャー(Lead Merger)であるファビアンさん"作成のPHPマイクロフレームワーク。pharファイルで提供
  • 1