こんにちは。Symfony Advent Calender 2019 の 7日目です。 (すでに8日目になってしまいましたが気にせず書いていきます。) 昨日は 【初心者向け】よく使うSymfonyコマンド集でした。自分がよく使うコマンドは debug:router かな。コマンド多くて便利なとこ…
CSVアップロード一括編集機能って便利ですよね
この記事は PHP7 で PSR-7 と Middleware を使うマイクロフレームワークを書いてみた の続編です。コードは https://github.com/brtriver/karen 前回までの記事の流れをざっくりと書くと Slim3 が PSR-7 と Middleware を採用していたので、PHP7の無名クラス…
コードはこちら。https://github.com/brtriver/karen[追記] この記事に書いてあるコードからさらに改良加えてApplicationレイヤーを作りました(v0.2) 詳しくはこっちの記事を参照をば http://d.hatena.ne.jp/brtRiver/20160106/karen_frameworkこの記事の時…
PHP7からは無名クラスが使えるようになりました。 どういった場合に無名関数を使う機会があるかなぁと考えていると、ふとマイクロフレームワークの無名関数部分の代わりに使うと良いんじゃないかと思いやってみましたというのがこの記事。[追記] 実際にSlim3…
この記事は、Symfonyアドベントカレンダー2015の19日目の記事です。でも今日は20日ですね。(ごめんなさい。。忘れてました。。18日はnaoyesさんのSymfonyプロジェクトのテストにCodeceptionを使ってみるでした。今日は11/24 に開催された PHP BLT #1 でLTし…
この記事はAdvent Calendar 2015 - VOYAGE GROUP 6日目の記事になります.こんにちは!社内で音響エンジニアしてる @brtriver です。 今日はPA*1屋さん的視点でマイクの正しい扱い方についてお話できればなと思い、アドベントカレンダーで書くことにしました…
1日目こんにちは。VOYAGE GROUPの社内Bar「AJITO」に関するAdvent Calendar 2日目です。 2日目は AJITO で音楽を楽しむ方法についてメモっておきます。 というのも、AJITOで飲むときにBGMがあると、ちょっとおしゃれな感じになったり、懐メロをテロ的に流し…
久しぶりに phpcon にスピーカーとして参加します。 http://phpcon.php.gr.jp/2015/ 場所はいつもの大田区産業プラザPiOですね。ちなみに前回は2012年で 「フラットなPHPからフレームワークへ」でお話させていただきました http://www.slideshare.net/brtriv…
突然ですが問題です。 1 [1] => 2 [2] => 3 [3] => 4 )簡単ですね。じゃあ、次は? 1 [1] => 2 [2] => 3 [5] => 4 )index番号に違いがあります。valueは同じです。これらを踏まえて、…
管理画面で欲しいCRUD処理 いわゆる管理画面作ってると CRUDができるAdmin Gegeneratorっぽいものが欲しくなりますよね。 色々アプローチはあると思います。 テンプレートからひな形のコードを生成してしまう Generetor 方式 必要があれば直接編集したり、直…
この記事はSymfony Advent Calendar 2014の9日目の記事です。昨日は おかぽんさんの SymfonyのDIを利用してMail送信クラスをインテグレーションテストする:コード編 でした Symfony のエラーハンドリングはとても優秀 (ただし2.4以降) Symfony は monolog …
この記事はVOYAGE GROUP エンジニアブログ Advent Calendar 2014の7日目の記事です。 こんにちは、VOYAGE GROUPの Zucks でスマホ広告配信サービス Zucks Ad Networkのエンジニアしている 前田 @brtriver です。去年は簡単にPHPをmakeしてみた だったので、…
この記事は前回の記事の続きです。Hakuのリポジトリはこちら 前回とりあえず書いてみたHackで書いたコードですが、 strictモードで hh_client check を通したい strictモードで書きたいが Aura.Router が PHP なので Strictモードの指定ができない 高負荷で…
[追記] PHPカンファレンスのUstのリンク追加 [追加] Hackの面白そうなところを追記 [追記] RouterをHackで書きなおした続編はこちら http://d.hatena.ne.jp/brtRiver/20141019/1413738340 久しぶりすぎるブログ更新ですね。。 Hack_(プログラミング言語) Hac…
Gistはほんと便利です。 Markdownで書いておけば、ブログの記事みたいにいつでも公開できるし、編集できるしと。だったらいっそのことAPIでGistの内容をとってきて、自分のブログっぽく表示できたら良いなと思って、AngularJS でやってみた。詳細については…
PHP Advent Calendar 2013 - 7日目昨日は@hidenorigotoさんのBeyond MVCでした。今日は PHPあるある的な問題に対する対策について少しばかり書きたいと思います。※ 歯ブラシを持たせてみた *1 メモリ不足でよくやる対応 PHPで大量のデータを扱ったりすると、…
初めての方こんにちは!!いつもお世話になっている方こんにちは!! VOYAGE GROUP エンジニアブログ Advent Calendar 2013 の3日目担当の @brtriver です。Zucks で広告配信システムのアレやコレをやってるエンジニアです。冬と言えば鍋。そうPHPですね! …
たとえば、 {"name":"fabpot/silex-skeleton","description":"Apre-configuredskeletonfortheSilexmicroframework","license":"MIT","type":"project","require":{"php":">=5.3.3","silex/silex":"~1.0","silex/web-profiler":"~1.0","symfony/browser-kit":…
5/25(土)に 半年ぶりとなる Symfony勉強会 #8 を VOYAGE GROUP のajitoにて開催しました。 参加者の方の感想などのブログも上がっています。私はスタッフ側として今回の勉強会を振り返りたいと思います。Symfonyユーザー会として今回の勉強会の目標は "Symfo…
2年前にかいてたこの記事のアップデートです。 Symfony2のエラーページのカスタマイズ - ぷぎがぽぎ composerでインストールできるようになりました。 そして地味にまだリリースされていない2.3に対応すべくRC1で確認済みです。 ゆるふわ Symfony化 開発環境…
久しぶりにPHPのエクステンションで書かれた超高速フレームワークPhalconを見たら 公式ページが見やすくなってた バージョンが1.0.0になってた annotationリーダーのライブラリができてた(そしてPhlconで使える) Microというクラスがあり、マイクロフレーム…
ビー・バップ・ハイスクールって知ってますか? Dカップって大きいですよね?というわけで、超シンプルなDBマイグレーションツール Dbup を作ってみたので紹介。 Dbup http://brtriver.github.io/dbup/ 日本語: http://brtriver.github.io/dbup/ja/ インスト…
PHPでテストを書くというとPHPUnitがデファクトスタンダードで、次がSimpleTestでしょうか。 以前はインストールも大変でしたが、今となってはcomposer使えば楽ですし、実績もあります。 でも、本当にこの2択でPHPらしい開発ができていますか?たとえば、テ…
※この記事はVOYAGE GROUP エンジニアブログ : Advent Calendar 2012の15日目の記事として書いてます。 3種の神器 PHPUnit, Stagehand_TestRunner, Phake 初めての方はじめまして。いつもの方こんにちは。 VOYAGE GROUP の adingo という会社で 広告配信に関…
この記事は Symfony Advent Calender 2012 の1日目の記事です。 全体のカレンダーは Symfony Advent Calender 2012で見ることができます。 Symfonyの基礎 まず最初に、Symfonyをあまり知らない方のために簡単に特徴をまとめます。 Symfony はフランス Sensio…
1枚のPHPでGETパラメータの値をそのまま出力したりする場合、何も考えずに書くとこんな感じになります。 さすがに、毎回これを埋め込むのは嫌ですよね。 なぜなら、同じkey名を2回間違わずに書かなくてはなりませんし、なによりも長い。 なので、次の考える…
フラットなPHPからSilexへの姉妹版記事です。追記 configにモデルを突っ込むコードからcontainerプロパティを作り、配列としてクロージャを登録する方式に変更 $app全体を持ち回す必要がないところは必要な情報のみ渡すように修正 追記 2014/08/13 slimがバ…
追記 DB接続時にcharset=utf8を指定 bindValueで暗黙の型変換されないように変更 Pimpleをサービスロケータとして使う場合の注意点を追加 テンプレートとしてフラットなPHPからTwigで書いた場合を追加 前提 スクリプト、ファイル、DBの文字コードはすべてUTF…
七夕ですね。BEAR.Sundayが楽しいですね。詳細についてはまだ発表されていませんが7/19(木)についに BEAR.Sunday Meetup #0 が開催されるようですよ。今日はSilexのインストール方法について色々変更があったのでまとめておきます。 silex.pharは配布しない…