前提・実現したいこと
欲しい回答
LAMP環境のPHP(Smarty)でフルスクラッチアプリを作る時、
ディレクトリ構成どうしますか?
※おすすめや、コレはダメ等、意見募集です。
※MVCな作りにしたいと思っています。。。。が、おすすめあれば、デザイン変えるかも
超重要
フレームワークは導入せず、自前でフレームワークの作業領域を実装します。
つまり、フレームワークごと構築するイメージで
オートローダー機能は否定しませんが、そのオートローダーを構築した人は、
どの様にして、そのディレクトリ構成にしたのでしょうね
そんな回答がほしいところです
前提
サーバーの管理者も私なので、OS選定、環境構築、ネットワーク設計、アプリ構築、全てする事が必要です。
つまり、沢山設定が必要なディレクトリ掘りはNGです。
該当のソースコード
tree
1/web 2|----/.httpd 3| |----/htdocs (* Apache DocRoot) 4| |----/index.html 5|----/cgi
試したこと
構成練ってみてます。。。。何だか、色々しっくりこないので(笑)
->しっくりこないのは、何故か
考えるに、カッコよくない感じがするから...スマートな構成が良いです!
教本通りの構成とか、そう言うのじゃなくて、経験と知見から、こうあると良い!カッコいいって感じるやつが、欲しいっす
しっくり来なかった構成①
tree
1/web 2|----/.httpd 3| |----/htdocs (* Apache DocRoot) 4| |----/index.html 5|----/cgi 6|----/app 7 |----/Action (* Controller) 8 | |----/ACP0101.php 9 |----/Business (* Model) 10 | |----/BLP0101.php 11 |----/Content (* View) 12 | |----/CHP0101.php 13 |----/Common 14 |----/Util.php 15 |----/DBAccess.php
補足情報(FW/ツールのバージョンなど)
項目 | 値 |
---|---|
OS | CentOS 7.X系 |
Web | Apache 2.4.6 |
PHP | 7.1.24(NTS) |
Sumarty(2/3) | |
DB | MySQL 8.0.13 |
可能な範囲で最新版を利用する計画
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
質問や他の回答者とのやり取りを見るに、yuki_nishidaさんはサーバ管理者かつ初心者の開発者を指導する立場みたいですね。
目的が分からないと回答しにくいので、そのことを質問に書くべきだと思いますよ。
「しっくり来なかった構成①」に突っ込みを入れてます。
/.httpd
下にdocrootを置く意味は何でしょうか?- docrootを隠しディレクトリにする意味はありますか?
/app
があるのに/cgi
も存在する意味は?- MVCのディレクトリ名をわざわざAction,Business,Contentに言い換えていますが、その理由は?
- フロントコントローラも
.htaccess
もないようですが、ルート振り分けは?
こういった疑問にご自身で答えを出せるようになれば、問題は解決するのではないでしょうか。
余談ですが、私が初心者に何か教えるとき、彼らがどういう疑問を持つか想像してます。
で、それらを1つ1つ潰していきます。
自分の至らない点も見えてきりたりするのでオススメです。
投稿2018/11/15 06:51
総合スコア275
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/15 07:29
2018/11/15 07:58
2018/11/15 09:04
2018/11/16 01:49
0
ベストアンサー
mts10806 さんも書かれていますが、ディレクトリ構成を考えるほどの規模のアプリケーションであれば、フレームワークを導入することをおすすめします。
仮にフレームワークを使うほどではない、もしくは、諸事情によりフレームワークは使えないという視点の場合、MVC にこだわるのであれば結局のところ「しっくり来なかった構成」の亜種になると思います。
ディレクトリ構成的にしっくりこないのであれば、MVC 自体がしっくり来ていないのではないですかね?
そうではなく、細かい部分でしっくりいかない点があるのであれば、その辺を明記すれば素敵な回答が得られるかもしれません。
投稿2018/11/15 05:43
総合スコア1167
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/15 05:57
2018/11/15 06:18
2018/11/15 07:53
2018/11/15 08:45
2018/11/15 09:05
0
※MVCな作りにしたいと思っています
Smartyが利用可能なフレームワーク入れてください。(Smarty必須なら)
あれこれ考えるよりも適切なディレクトリ構成となるでしょう。
様々なフレームワークで導入可能ですしデフォルトでSmarty採用されているものもあるので、
好みと学習コストに見合うかはご自身で調べて導入検証してください。
投稿2018/11/15 03:39
総合スコア80850
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/15 05:48 編集
2018/11/15 05:45
2018/11/15 05:48
2018/11/15 05:52
2018/11/15 06:06 編集
2018/11/15 06:07
2018/11/15 06:14
2018/11/15 06:17
2018/11/15 06:19
2018/11/15 06:22
2018/11/15 06:58
2018/11/15 07:45
2018/11/15 08:20 編集
2018/11/15 08:31 編集
2018/11/15 09:30
2018/11/15 09:42
2018/11/15 10:02
2018/11/15 11:21
2018/11/15 11:36
0
他の人の回答とコメント、長いので全部は見てないですけど、質問の観点での検討事項は
public/index.php
を
application と並列に置くのか、配下に置くのかぐらいしか無い気がする。。。
自前のフレームワークを作成するのであれば、質問の観点ではなくていわゆる Core とか Library をどう扱うかが、ディレクトリ構成に影響を与えます。
Core のクラスを拡張するための設計をどう行うか?
Library をどう読み込むか?
まずは、フレームワークの設計コンセプトを明らかにして、それに合わせたディレクトリを構成すればよいです。
逆に言うと、設計コンセプトが決まっていなければ、ディレクトリの構成の検討は意味を持たないです。
投稿2018/11/15 23:41
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。