Laravel では配列をそのまま返却すると JSON が返る

2015/01/29

P1110954.JPG

タイトルですべてを言うたったけど、以下説明。

Laravel で JSON 返却するときは、

return Response::json(array('name' => 'Steve', 'state' => 'CA'));

とかいう感じで書くんですが、今朝は寒かったので、手が滑って、

return array('name' => 'Steve', 'state' => 'CA');

こう書いてしまった。でも、JSON が返ってくる。「なんで???」ってなったと。

で、調べてみたら、

https://github.com/laravel/framework/blob/4.2/src/Illuminate/Http/Response.php#L31

ココらへんに、

        // If the content is "JSONable" we will set the appropriate header and convert
        // the content to JSON. This is useful when returning something like models
        // from routes that will be automatically transformed to their JSON form.
        if ($this->shouldBeJson($content))
        {
            $this->headers->set('Content-Type', 'application/json');

            $content = $this->morphToJson($content);
        }

って書いてあって、shouldBeJson() を見てみたら、

        	protected function shouldBeJson($content)
	{
		return $content instanceof JsonableInterface ||
			   $content instanceof ArrayObject ||
			   is_array($content);
	}

ってなってたというおはなしでした。

ところで、最近、クラフトビールと Laravel にはまってます。どちらも大好きです。

では、また。


Packagist デビューしたはなし

2014/08/23

P1100270.JPG

PHP を使って WEB アプリケーションを開発する仕事をしています。そして、毎日、ごく自然に、とても便利に Composer を使うようになったのだけれど、使うばっかりで何も恩返しができていないことに気づいたんです。

お前、Take ばっかりで Give ナッシングやないかと。

ということで、何か作って Packagist に公開しようじゃないか、と思い立って、ついにやったお話です。

ちなみに、公開するにあたっては、下記の記事がとても参考になりました。ありがとうございました。

作ったもの

関西弁翻訳ライブラリです。

GitHubはこちら

php
KansaiDialect::translate('僕は男です。'); // わては男やねん。
KansaiDialect::translate('とても面白いですね。'); // めっちゃおもろいやん。

みたいに使う想定。アプリケーションが吐くメッセージなんかを関西弁にできるといいかなと。実用性は疑問なんですが。

まだ5文ぐらいしか翻訳できません。みなさまの温かいPRをお待ちしております。

良かったこと

  • Composer のしくみをより深く理解することができた
  • TDD の説明教材になるかもしれないと気づいた
  • Travis CI との連携も試せた
  • composer.json"omoon/php-kansai-dialect": "dev-master" とか書けて嬉しい

飽きなければ、ぼちぼち更新していこうと思います。

また、GitHub 使い始めて Pull Request とかやってみたいけど、英語とか怖いわー、という PHP をお使いの皆様。GitHub の Pull Request の練習にもお使いいただけるかと思います。気軽に Pull Request ください。

何を言っているのかよくわからない人には

PHP 使ってるけど、Composer、Packagist、GitHub とか、まだよく分かってないんだよなー、という人には、いい本がありますのでおすすめしておきますね。

PHPengineer_hyoshi

PHPエンジニア養成読本 〔現場で役立つイマドキ開発ノウハウ満載! 〕 (Software Design plus)

技術評論社
(著)新原 雅司、原田 康生、小山 哲志、田中 久輝、保科 一成、大村 創太郎、増永 玲
(編集)PHPエンジニア養読本編集部

では、また。

PHPカンファレンス関西2014 予習用リンク集

2014/06/18

みなさんこんにちは。 いよいよ 10 日後に迫った「PHPカンファレンス関西2014」。そのリレーブログ8日目です。

昨日は、有本さんの『PHPカンファレンス関西へは参加して、参加しよう』でした。いい話でしたね。

#phpkansai

さて、孫氏曰く「彼を知り己を知れば百戦殆うからず」。

カンファレンスもしかり。

もちろん、ただフラっと来て話を聞くだけでも構わないのですが、セッションで話題となる技術がどんなものなのか、登壇者はどんな人なのかなどを、ちょっとだけでも予習してから参加すると、より楽しいカンファレンスになることでしょう。

リレーブログ8日目の今日は、勉強熱心な皆さんのために、各セッションのテーマや登壇者に関連すると思われるURLへのリンク集を作りました。

僕ひとりで調査したリンク集です。追加して欲しい、間違い、などございましたら、@omoonまでお知らせください。

では、参ります!

前提

トラックA

基調講演『全てを結ぶ力』

PHPでOSSを維持し続けるには

安全なPHPアプリケーションの作り方2014

フレームワーク4本勝負

トラックB

初心者向け 1から学ぶPHP開発の基礎知識

Travis CIとSeleniumで実現するPHPアプリの自動テスト

phperのためのruby教室

PHPコードではなく、PHPコードの「書き方」を知ろう

トラック C

Arduino を PHP で制御する

PHP と Sencha Ext.Direct

フレームワークを使うべき 3 つの理由

ぼくの考えたさいきょうの開発フロー PHP編

あなたの知らない Swift Mailer の世界

PhpStorm最新情報

いやー、しかし盛りだくさんですね。楽しみだー。

明日のリレーブログは、@papettoTVさんです。
よろしくお願いします。

<< 古い記事