こんにちは!
こちらのサイトを拝見して SamplesPlugin を作ってみました。そして、外部のサービスからデータを取得する自作APIも作成してみました。
これに関連して、以下について質問させていただきます。ご指導いただけますでしょうか。
【質問】自作APIのファイルはどこに配置したらいいか。
SamplesPlugin のコントローラは、app/PluginsOption/User/ の中に配置しました。自作のコントローラは、このディレクトリ内に配置するのがルールのようです。(スクリーンショットの青枠)
これに対し、自作API(myApi)はどのディレクトリに配置するとよいのでしょうか。以下のいずれかだと思いますが、とりあえず(1)に配置したところ、SamplesPlugin.php から、myApi.php をコールできて、外部サービスからデータも取得できました。
(1) app/PluginsOption/Api/ (スクリーンショット赤枠)
(2) app/PluginsOption/User/
(3) app/PluginsOption/Api/User/
(デフォルトでは Userディレクトリが無いので自分で作る)
(4) app/Plugins/Api/User/
(デフォルトで Userディレクトリが有る。スクリーンショットオレンジ枠)

不適切なディレクトリに配置すると、Connect-CMSのアップデートがあったときなどに、自作APIが上書きされたり、削除されたり、機能しなくなったりすることを恐れています。最適な配置ディレクトリを教えていただけますと大変ありがたいです!
よろしくお願いいたします。
akaz様
こんにちは!
OSWS牧野です。
API作ったのですね! 凄いです!
私は毎度毎回四苦八苦しております。
今回のご質問の件についてです。
>【質問】自作APIのファイルはどこに配置したらいいか。
私が、Connect-CMSのCoreに入れずにAPIを作った時は
>(1) app/PluginsOption/Api/
この下に、当該APIプラグイン名となるディレクトリを作成して、その下にphpファイルを配置しました。
>app/PluginsOption/Api/プラグイン名/プラグイン名Api.php
といった感じです!
……正解だったかどうかは、実は私はまだ分かっていないのですけれども、ね。
恐る恐る、やりました。
>(4) app/Plugins/Api/User/
こっちだと、coreに入ってしまうのだと記憶しております。
なので、gitpullした時に「マージする?」的なメッセージが出てきたように思います。
なので、「PluginsOption」と書いてある方に入れるのが正解だったと思います。
「XXXOption」って書いてあるディレクトリが、coreに入らない範疇、の、ハズ、です。
もし間違っていたら、誰かConnect-CMS有識者の方々! ツッコミをよろしくお願いします!
以上、引き続きよろしくお願い致します。
OSWS牧野
OSWS牧野さま
ご回答ありがとうございます!
「(1) app/PluginsOption/Api/ 」への配置でよかったのですね(^.^)ホッ
これで安心して先に進めます。
またご指導よろしくお願いいたします(^^)/