質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.12%

fuelphpのrestコントローラーの名称に関して

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 570

tama2015

score 57

FuelPHPにてRestコントローラーを利用してAPIを作成しています。
コントローラーの名前付けに関して皆様がどのようにされている
のか気になりまして質問させてください。

/controller/api/配下に様々なAPI用のコントローラーを作成しております。
この場合において、

productblogのコメントを追加・修正・削除などを行う
APIを作成する場合コントローラーのクラス名として
どのような名前付けが妥当でしょうか?

パターン①から④を考えたのですが、どのような名前付けがよいか
ご意見頂ければ幸いです。

よろしくお願い致します。

パターン①
/controller/api/productcomments.php
class Controller_Api_Productcomments extends Controller_Rest {}

/controller/api/blogcomments.php
class Controller_Api_Blogcomments extends Controller_Rest {}
パターン②
/controller/api/productcomments.php
class Controller_Api_ProductComments extends Controller_Rest {}

/controller/api/blogcomments.php
class Controller_Api_BlogComments extends Controller_Rest {}
パターン③
/controller/api/product/comments.php
class Controller_Api_Product_Comments extends Controller_Rest {}

/controller/api/blog/comments.php
class Controller_Api_Blog_Comments extends Controller_Rest {}
パターン④
/controller/api/comments/product.php
class Controller_Api_Comments_Product extends Controller_Rest {}

/controller/api/comments/blog.php
class Controller_Api_Comments_Blog extends Controller_Rest {}
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

テーブル設計によります。
コメントに関する情報を全てcommentsみたいなテーブルに保持しているのであればそれはCommentsというクラスに集約出来ると思います。

別々に分けているのであれば3が妥当だと感じます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/09/30 15:29

    私の説明がおそらくよくないこともあり
    少しお話が噛み合っていないかもしれません。
    すいません。

    /controller/api/
    の直下に、他のAPIはそのままPHPファイルとして
    /controller/api/hoge.php

    /controller/api/huga.php
    のように置かれております。

    productとblogのコメントだけ物理ファイルの
    階層が以下のように、productフォルダやblog
    フォルダを噛ませて一段階深くなるのが他と
    同じでなくてよろしくない気がしておりました。
    /controller/api/product/comments.php
    /controller/api/blog/comments.php

    そこで、/controller/api/の直下に
    phpファイルを置こうとすると
    /controller/api/productcomments.php
    こんな風になってしまうなぁと記載したつもりです。


    FuelPHPの場合は、
    /controller/api/blog/comments.php
    の場合、Controller_Api_Blog_Comments
    と名前空間を指定しなくても、クラス名を指定
    できるのクラス名自体が長くなってしまうことに
    関しては、あまり気になっていません。

    キャンセル

  • 2017/09/30 15:46 編集

    なるほど。クラス名に関しては気にしていないのですね。

    私からはそのアプリケーションがどれくらいの機能を持っているか把握できませんので、
    今後productやblogに対して、別のテーブルができた時を考えて別々とディレクトリを切るという考えでした。
    後に関連するテーブルが出てこないのであればproductcommentsのような切り方をしても良いと思います。

    まあ正直このくらいであれば個人の感覚によるところだと思うので、今後揃えていきたい方にしたら良いのではと感じます。

    キャンセル

  • 2017/09/30 17:43

    迅速な回答ありがとうございます。私は初心者でプロでやっているわけではないので
    どういう風にやるのか、とても参考になりました。ありがとうございます。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.12%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる