フォーラム掲示板について

以下の目的、注意点などご確認いただき、ご使用ください。

目的
Connect-CMSのユーザやConnect-CMSに興味のある方同士で自由に意見交換できる場を提供する目的で、コミュニティ掲示板として提供しています。
投稿方法
このサイトにユーザー登録することで、投稿することができます。
投稿内容
投稿内容は公開されます。
Connect-CMSに無関係な内容が記載されたと判断した場合、削除することがあります。
バグ情報
バグ(不具合)はGithub のIssues(https://github.com/opensource-workshop/connect-cms/issues)に記載していただくと、開発者に伝わりやすくなります。
また、セキュリティなど重大な事象の場合は、お問い合わせページよりお知らせください。優先的に調査いたします。
また、貢献ガイド(https://connect-cms.jp/abount/contributions)も参照をお願いします。
ユーザ登録
当サイトへのユーザ登録は以下のお問い合わせフォームよりお願いいたします。
https://connect-cms.jp/contact

フォーラムでのサポート範囲

当フォーラムでは、Connect-CMSのトラブルなどの相談も記載いただけますが、作業を肩代わりするものではありません。
作業の依頼は、株式会社オープンソース・ワークショップの調査メニューなどをご検討ください。
https://opensource-workshop.jp/service/rescue

フォーラム掲示板

Re3: (質問)自作APIのファイルはどこに配置したらいいか

2025年2月21日 09時00分 [akaz]

永原さま

ご回答ありがとうございます。


> plugin.ini ファイルも必要(なくても動いたかな)かもです。

 app/Plugins/Api/ 配下のAPI だと plugin.ini のあるものと無いものがありますね。

Plugins_Api

> 以下、Connect-StudyシリーズのDroneStudyを参考にしてみてください。
> https://github.com/opensource-workshop/connect-study/tree/main/app/PluginsOption/Api/Dronestudy

> https://github.com/opensource-workshop/connect-study/blob/main/app/PluginsOption/Api/Dronestudy/plugin.ini

 拝見しました。
 真似して書いてみます。

 こちらの plugin.ini では(Controllerの plugin.ini と違い)、
 plugin_name = "DroneStudy"
 のように 値を "" で囲むんですね。囲まなくてもいいのかもしれませんが。

DroneStudy_plugin_ini

いずれにしましても、ありがとうございました!!

(更新:2025年2月21日 09時03分)
スレッドの記事一覧

こんにちは!

こちらのサイトを拝見して 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ディレクトリが有る。スクリーンショットオレンジ枠)

api_PluginsOption api_Plugins

不適切なディレクトリに配置すると、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牧野

こんにちは。
永原です。

ちょっと補足。
plugin.ini ファイルも必要(なくても動いたかな)かもです。

以下、Connect-StudyシリーズのDroneStudyを参考にしてみてください。
https://github.com/opensource-workshop/connect-study/tree/main/app/PluginsOption/Api/Dronestudy

https://github.com/opensource-workshop/connect-study/blob/main/app/PluginsOption/Api/Dronestudy/plugin.ini

以上

OSWS牧野さま

ご回答ありがとうございます!

「(1) app/PluginsOption/Api/ 」への配置でよかったのですね(^.^)ホッ

これで安心して先に進めます。

またご指導よろしくお願いいたします(^^)/

Re3: (質問)自作APIのファイルはどこに配置したらいいか
2025-02-21 [akaz]

永原さま

ご回答ありがとうございます。


> plugin.ini ファイルも必要(なくても動いたかな)かもです。

 app/Plugins/Api/ 配下のAPI だと plugin.ini のあるものと無いものがありますね。

Plugins_Api

> 以下、Connect-StudyシリーズのDroneStudyを参考にしてみてください。
> https://github.com/opensource-workshop/connect-study/tree/main/app/PluginsOption/Api/Dronestudy

> https://github.com/opensource-workshop/connect-study/blob/main/app/PluginsOption/Api/Dronestudy/plugin.ini

 拝見しました。
 真似して書いてみます。

 こちらの plugin.ini では(Controllerの plugin.ini と違い)、
 plugin_name = "DroneStudy"
 のように 値を "" で囲むんですね。囲まなくてもいいのかもしれませんが。

DroneStudy_plugin_ini

いずれにしましても、ありがとうございました!!