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

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

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

3回答

5669閲覧

cakephp で管理画面を作成するときはみなさんどうされていますか?

hogetail

総合スコア46

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

0グッド

0クリップ

投稿2015/10/18 17:40

  1. AdminsController.php を作ってそこに全ての action を書く方法。
  2. 各々の Controller に対して admin_index といった形で action を書く方法。

今回、想定しているのは小規模なECサイトの構築です。

ケースバイケースと言われたらそれまでですが、それぞれのメリット・デメリットをご教授願います。

ご回答お待ちしております。

気になる質問をクリップする

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

管理画面をプラグインとして実装する方法もよさそうです。

メリットとしては、モデル・ビュー・コントローラすべて
ユーザ向けのものと分離できるので、コードがすっきりする点です。

デメリットとしては、管理画面用ロジックのディレクトリ階層が深くなってしまう点でしょうか?

投稿2015/10/19 10:03

okinaka3

総合スコア304

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

AppControllerを継承した一般向け、管理向けのコントローラを作成します。
(コントローラ名は一例です。)

一般向け:GeneralAppController.php
管理向け:AdminAppController.php

新規にコントローラを作る際、一般向けであればGeneralAppControllerを、
管理向けであればAdminAppControllerを継承して作成します。

PHP

1// 一般向けコントローラ 2App::uses('GeneralAppController', 'Controller'); 3class GeneralTestsController extends GeneralAppController{ 4 5// 管理向けコントローラ 6App::uses('AdminAppController', 'Controller'); 7class AdminTestsController extends AdminAppController{
  • メリット

一般向け、管理向けで完全に実装を分けることが出来ます。
また両ページに共通のものはAppControllerに実装することで対応出来ます。

  • デメリット

/app/Controllerに一般向け、管理向けのコントローラが混在する為、
プロジェクトの規模が大きくなってくると管理が面倒です。
View関連も同様。

  • デメリット対策

案1.
クラス名を親クラスが分かるような名前にする。

案2.
bootstrap.phpにてそれぞれのディレクトリを切って管理する。

PHP

1// bootstrap.php 2App::build(array('Controller' => array(ROOT.DS.APP_DIR.DS.'Controller'.DS.'General'.DS))); 3App::build(array('Controller' => array(ROOT.DS.APP_DIR.DS.'Controller'.DS.'Admin'.DS))); 4App::build(array('View' => array(ROOT.DS.APP_DIR.DS.'View'.DS.'General'.DS))); 5App::build(array('View' => array(ROOT.DS.APP_DIR.DS.'View'.DS.'Admin'.DS)));

一般向け管理向けを分離する手法は多数ありますので参考までにどうぞ。

投稿2015/10/19 01:19

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

2の方法を採用するのでしたら、プレフィックスルーティングという方法もあります。URLで「一般向け」と「管理画面」をくっきり分ける感じです。
http://book.cakephp.org/3.0/ja/development/routing.html#prefix-routing

またご質問と少しずれるかもしれませんが、データベースを共用してサーバーを分けるという方法はいかがでしょうか?
以下が、それぞれ考えられます、

メリット:「一般向け」システムと「管理画面」システムで別々に開発を進められる。
デメリット:サーバーを分けるので共通定義に相違が出ないように注意が必要となる。

投稿2016/11/26 03:26

kugino

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問