Craft CMS のプラグインの中で POST リクエストだけ受け取るようにする

Craft CMS のプラグインの中で POST リクエストだけパラメータの値を受け取るようにする方法をご紹介します。

Craft CMS Logo

Craft CMS のプラグインで独自のコントローラーを作るとき、その URL に来たリクエストの foo パラメータは下記のようにして取ることができます。

// Craft 2
craft()->request->getParam('foo')
// Craft 3
craft()->app->request->getParam('foo')

ただしこれだと GET リクエストも POST リクエストも取れてしまいます。

POST だけに限定する

それを下記のようにすれば POST リクエストのときだけ foo パラメータの値を取得できます。

// Craft 2
craft()->request->getPost('foo')
// Craft 3
craft()->app->request->getBodyParam('foo')

したがって、これらのメソッドでパラメータを取得するようにすれば、POST リクエストじゃないときはエラーを返す、なんていう実装もできますね。

なお、上記のように Craft 2 と Craft 3 では少しメソッド名が変わっているものもあるので、開発には下記のページを参考にすると良いです。

Changes in Craft 3 | Craft 3 Documentation

以上です。

Published 2019-01-25
Updated 2019-06-25