読者です 読者をやめる 読者になる 読者になる

ITの隊長のブログ

ITの隊長のブログです。いや、まだ隊長と呼べるほどには至っていないけど、日々がんばります。CakePHPとPlayFrameworkを使って仕事しています。最近はAngular2をさわりはじめたお(^ω^ = ^ω^)

【CakePHP3.x】jsonを返すapiを作りたい

CakePHP CakePHP3.x PHP

スポンサードリンク

teratail.com

これの$this->autoRender = false;を使ったほうでやりました。

ただ、echoで返すとそこで処理が中断されないので、そのあとにreturn;が必要だと思います。

<?php
// ... 省略
    public function addItem()
    {
        $this->autoRender = false;
        $this->response->charset('UTF-8');
        $this->response->type('json');
        // ... 省略
            try {
                if ($this->Post->save($posts)) {
                    echo json_encode($posts);
                    return;
                }
            } catch (\PDOException $e) {
            }
        }
        // ... 省略
        echo json_encode([]);
        return;
    }

CakePHP2.xの時はreturnを使って返していたので、若干ハマりました。。。