ジメジメする梅雨のお悩み、一挙解決! >>

PHP4環境で、フレームワーク(以下FW)の勉強をしつつ、Mojavi2の導入を検討中です。
そこで思ったのですが、FWベースで開発したWebアプリは、基本的にエントリポイント(以下EP)は1つだけ(Mojaviでは、フロントコントローラであるindex.php)で構成されるのが基本(メリットが大きい)なのでしょうか? また、複数のEPで構成することは一般的に可能でしょうか?

例えば、ID登録制BBSアプリを作る場合、ログイン・ID登録・BBS投稿・BBS表示・プロフ登録・プロフ表示…等の「機能」があると思います。

これをFWベースで開発する場合、各機能をModuleとし、機能内でのページ遷移をActionとして構成する、という考え方(ID登録Module:登録情報入力Action→登録情報チェックAction→DB登録Action)で良いでしょうか?

複数のEPを作るメリットは?と言われると分からないのですが、FW導入以前は各機能ごとにEPとなるphpを作成するパターンに慣れてしまっていたもので…。例えば機能毎にフォルダ分けが出来るのが、複数EPのメリットとも考えられます。

ex1. FWなし(ディレクトリ構成によりEPを整理できる)
/usr/login.php
/usr/register.php
/bbs/read.php
/bbs/post.php
/prof/register.php
/prof/read.php

ex2. 1EPのFW
/index.php?Module=Login
/index.php?Module=RegisterID
/index.php?Module=ReadBBS
/index.php?Module=PostBBS
/index.php?Module=RegisterProfile
/index.php?Module=ReadProfile

ex3. 複数EPのFW(が可能かどうか分からないので、妄想)
/usr/index.php?Module=Login
/usr/index.php?Module=Register
/bbs/index.php?Module=Read
/bbs/index.php?Module=Post
/prof/index.php?Module=Register
/prof/index.php?Module=Read

昨日今日にFWを勉強し始めたので理解が浅いのですが、上記の考え方の正解と不正解を教えて下さい。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

No1です。


私もPHP4を使ってたんですよ。確かにJAVAのほうが大規模開発には向いてます。
ただし、PHPのもつ利便性も大きなもので、
たとえば、mixiを作る程度なら、PHPで十分です。あれにはJAVAは使いません。現にXOOPSなどはPHPですから。

ex1に関してですが、PHPにはincludeがあるから、実はすべてのファイルの冒頭で同じものを呼び出させることで、
ex1でもフロントコントローラにできます。
要は、コントローラとして働くロジック(Requestに対してどのActionを呼ぶか)が、集中型であるかどうかです。
ページコントローラは、ページ(=機能)に関するイベントは、ページ内で処理します。
機能単位で小さなMVCの構造を持ち、共通するロジックやテンプレートメソッドを持つ、
ベースクラス(ルートページクラス)が存在することが多いです。
ですから、ex1,ex2,ex3どちらでも、どのつくりにもできることにはできます。

これらのFrameworkを勉強するに当たっては、
「デザインパターン」というものが最初のステップになります。
これは、設計ではなくコーディングの仕方になります。
これらのほとんどがJAVAで解説されてますが、PHP5でも同様のことはできます。
amazon.co.jpで「デザインパターン」を調べてみてください。

次のステップは、エンタープライズ開発の設計パターンの学習です。
書籍はコーディング系に比べてちょっと少ないのですが、
私は .NETだったので、以下の書籍を参考にしていました。
・「Microsoft.NETによるエンタープライズソリューションパターン」(ASIN: 4891004517)
・「.NETのアプリケーションアーキテクチャ―アプリケーションとサービスの設計 」(ASIN: 4891004509 )
また、JAVAなら、SUNの「J2EE Blueprints」(書籍は不明なので以下のURL)
http://sdc.sun.co.jp/java/j2ee/blueprints/index. …
は必読です。

フレームワークの次は、ソフトウェアファクトリーということになると
思いますが、その場合は、
「ソフトウェアファクトリー―パターン、モデル、フレームワーク、ツールによるアプリケーションの組み立て」(ASIN: 489100472X)
あたりが参考になると思います。

なお、高速でスキルアップをしていきたいなら、.NETで学習して、JAVAに移る手があります。
.NET はMSDNという高度に体系化された質の高い膨大な技術情報があるので、非常に便利です。
また、.NET周りはツールの質が高く、初級から中級に上がるまでの速度は、ほかの比ではありません。
JAVAはPHP同様オープンソースで利用率が高く、避けては通れません。いずれは使用することになります。
(後半になってくると、言語を学習するかどうかは問題ではありません。)

小さなことですが、補足です。
デコレータとオブザーバについてですが、
「フロントコントローラに加えて、受信フィルタ(デコレータ)の追加導入」
という言い方のほうが正しいかと思います。オブザーバも同じです。
    • good
    • 0

がると申します。

技術屋をやっている & フレームワークを自作でもっております(そろそろ公開予定)。

> FWベースで開発したWebアプリは、基本的にエントリポイント(以下EP)は1つだけ(Mojaviでは、フロントコントローラであるindex.php)で構成されるのが基本(メリットが大きい)なのでしょうか?
そうですねぇ…状況にもよるのですが。PHPの場合、requireも含めてすべて動的に出来るので「分散する必要性が薄い」ので、結果的に集約されているケースは多いかと思われます。

> また、複数のEPで構成することは一般的に可能でしょうか?
理論上は可能なはずですし、うちのフレームワークだと普通に可能です。

> これをFWベースで開発する場合、各機能をModuleとし、機能内でのページ遷移をActionとして構成する、という考え方(ID登録Module:登録情報入力Action→登録情報チェックAction→DB登録Action)で良いでしょうか?
それも可能かと思います。
で…一つ入れ知恵を。
うちのフレームワーク…に限らずに出来ると思うのですが。多分。
もし「Modelの再帰的呼び出し」若しくは「ステータスによる管理」が行われている場合。
「コントローラ的Model」から「各機能Model」を呼び出す、といった多重構造もまた一つの手段だと思います。

> 複数のEPを作るメリットは?と言われると分からないのですが、FW導入以前は各機能ごとにEPとなるphpを作成するパターンに慣れてしまっていたもので…。例えば機能毎にフォルダ分けが出来るのが、複数EPのメリットとも考えられます。
えと…「機能毎にフォルダ分けが出来」ないんでしたっけ? 既存のFW。うちのが普通にそういったことが可能なので…あんまり意識したことがないです(苦笑

んで…Modelをうまく継承して作ると、エントリポイントを複数にしてなお「サイトすべてに共通の処理」が書けるので、そのあたりのメリットデメリットはあまり存在しないかと。

あと大規模サイトについてなのですが。
個人的には…PHPは「言語的に質が悪い」ので色々気にはなりますが(苦笑
現実問題として「PHPで開発をしたいクライアント」も多々いる現状、そうも言ってられないってのが実状です。
ですので「PHPで最大限のパフォーマンス」という方向性は、これは現状やむなしかなぁ、と思っております。

以上雑感込みで恐縮ですが。
    • good
    • 0

.NET で2年くらいFW作成しています。



エントリポイントが一つであるメリットは、アクセスパスが一つになるということです。
要求をアクションにマッピングする設定ファイルを解して、
動作を定義できる、というメリットがありますが、
構築がややこしく、小さな変更に対しては開発コストがかかる
デメリットがあります。

これは、MVCでいうコントローラが「フロントコントローラ」
と呼ばれるパターンになります。(JAVA形式)
BBS程度ならページコントローラ(複数のEPでよい)
のほうがやりやすいとは思います。

小さい規模でフロントコントローラを導入すると、
非常に仰々しい開発になります。


一応、参考までに。。。

サイトの規模により、設計パターンは、その規模に応じて
一般的に以下のように進化します。
・MVC化
・ページコントローラパターン
・フロントコントローラパターン
・受信フィルタの導入(デコレータ)
・オブザーバパターン

どの規模がどのパターンなのかは、それこそ、これから
pe_daichan様が体感しながら調整していくことです。
(一人と複数人でも選択境界が違う)
また、上のリストは、必ずある問題に直面したときに、
下のリストに移っていくと思います。
(たとえば、ページコントローラで、ページコントローラ間の継承が複雑になり、
多数のページにまたがる頃合が、フロントコントローラを考慮する時期、とか)
せっかくですから、この設計に悩んだ機会に、これを意識してみては
どうでしょうか?
ただ「作れる」という人は沢山いますが、
このパターンを知って学習するのとそうでないのは違います。

説明すれば本が1冊できるくらいの事なので、
大雑把なことしかいえませんが、なんだかpe_daichanさんが
非常にいいポイントにいる気がしたので、
ちょっとおせっかいさせていただきました。
    • good
    • 0
この回答へのお礼

Xavalさん、こんにちは。とても丁寧なご指導ありがとうございました!

ex1 のようなものを、ページコントローラパターンと言うのですね。
アプリケーション規模とアーキテクチャ進化の関係、とても参考になりました。
ページコントローラよりも、フロントコントローラの方が大規模システムに適している、というのは私の(漠然とした)感覚と反対であったので、なるほど、と思いました。
また、「デコレータパターン」と「オブザーバパターン」というのは初めて聞きました。

大規模なアプリケーション開発になった時はPHPベースで開発を進めるのは、もしや無謀…?

以下、私事で申し訳ないのですが。
私は全て独学でプログラミングを勉強していまして(本業はITと無縁^^;)、本・Web検索・直感だけで全てやってきてしまいました。最近、ある程度規模の大きいWebアプリケーションの計画をしておりまして、そうなると将来の事も考えて設計すべきだと思い。頭の片隅にあった「フレームワーク」という言葉を引っ張り出して来て今に至ります。(先週まで、フレームワークって何? という状態でしたw)

今までは、設計とコーディングを同時に行いながら、色々機能を追加しつつ楽しむ、というスタイルで行くことができたのですが、Xavalさんの仰る通り「ある問題に直面」した、という訳です…w

そしてここでご指導頂いた結果、「こりゃ、使用言語(PHP?)から洗い直し、アーキテクチャをきちんと計画設計してすすめなきゃいかんな…」という結論に至りました。(PHPのフレームワークもまだ未成熟のようですし…。Mojaviの公式サイトサーバは落ちてるし…。ふと回りを見渡すと、かなりのアプリケーション開発がJavaベースになっているし…。)

そこで、アーキテクチャパターンを「説明すれば本が1冊できる」との事ですが、そんな本を一つご紹介いただけませんでしょうか?

お礼日時:2006/09/30 20:30

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q携帯専用ホームページの作り方

携帯専用ホームページの作り方をご存知の方は教えてください。
無料レンタルホームページ(ポケスペ・魔法のiらんどなど)ではなく、全て自分で作る携帯専用ホームページの作り方を教えてください。あと、その場合費用はかかるのでしょうか?
よろしくお願い致します。

Aベストアンサー

PC向けサイトをHTMLタグで記述して、制作することができますか?
でしたら、その知識を利用して、iモード向けのサイトを作成すれば良いと思います。
個人で手打ち制作でキャリア別振り分けは、作る時は良くても(結構手間がかかりますが)更新が面倒になります。
個人運営の携帯サイトなら、プロバイダまたはレンタルサーバーなどでCGIが使えない場合は、掲示板などはレンタルで十分だと思います。
レンタルサーバーを借りるなら、そのレンタル料が費用としてかかります。
無料スペースの場合は、広告表示の問題があるため、携帯電話に対応しているか、どういう条件になっているかなどを確認してください。
(iswebなどではiフォルダなどにアップロードする等)

最近の携帯電話はともかく、旧来のものでは、表示できるページのサイズに制限があります。
サイトを制作する前に、ターゲット(利用者の年齢や利用携帯機種など)をきちんと設定した方が良いと思います。
携帯電話の機種によって、使えるタグや画像ファイルなどが異なってきます。
PCに比べて動向など変化しやすいせいもあると思いますが、携帯向けサイトのハウツー本はあるようでありません。
以前買ったことがありますが、あっという間に時代遅れになった上、大雑把な考え方は参考になりそうですが、技術やTIPSとしてはあまり参考になりません。
携帯向けのCGIを無料配布しているサイトがいくつかありますが、PC向けのCGIを設置したことのない又は不慣れな場合は、カウンタ・掲示板などの利用はレンタルをおすすめします。
なお、これらは個人運営のサイトのつもりで、書いています。

「しらぎくさいと>携帯電話向けコンテンツの書き方」
http://www.marguerite-site.com/Nihongo/HowToMakeYourWeb/Mobile/index.html

サイト制作に慣れた人ならば、また別のサービスをおすすめしますが、無料で、自作CGIなどの設置をしない場合には「FC2WEB」などが良いかもしれません。

[FC2WEB無料ホームページ]
http://www.fc2web.com/
[FC2無料ケータイHP]
http://k.fc2.com/

参考URL:http://www.nttdocomo.co.jp/p_s/imode/make/index.html

PC向けサイトをHTMLタグで記述して、制作することができますか?
でしたら、その知識を利用して、iモード向けのサイトを作成すれば良いと思います。
個人で手打ち制作でキャリア別振り分けは、作る時は良くても(結構手間がかかりますが)更新が面倒になります。
個人運営の携帯サイトなら、プロバイダまたはレンタルサーバーなどでCGIが使えない場合は、掲示板などはレンタルで十分だと思います。
レンタルサーバーを借りるなら、そのレンタル料が費用としてかかります。
無料スペースの場合は、広告表示の...続きを読む

QPHPフレームワーク環境でのSmartyの必要性

PHP でシステムを開発する際ですが、恐らく何かしらのフレームワークを利用した場合は大半だと思います。そう言った時にテンプレートエンジンの Smarty を合わせて利用するかどうか意見が別れる時があります。

PHP でフレームワークが今ほど使われていなかった大昔は、素の PHP 実装 + Smarty で、ロジックとテンプレートを分離する流れがありました。
しかし、現在利用されるほとんどのフレームワークでは当たり前のように MVC の思想で構成されており、ロジックとテンプレートは初めから分離されています。

そう言った状況の中、Smarty を各フレームワークと連携してテンプレートエンジンとして利用する必要がどれほどあるのか、判断に苦しみます。

皆さんはどう考えるでしょうか?

Aベストアンサー

そもそも、CakeやZend Framework、Fuelなどほとんどのフレームワークが、設計コンセプトにおいて、Smartyの存在を無視している以上、あえて過去の遺物を引きずる必要はないです。
Smartyはテンプレートエンジンですらない、単なるタグパーサであり、モダン・フレームワークのアーキテクチャに合いません。
最新のMVCであるLaravelなどは、自前でBladeというテンプレートエンジンを装備していますし、WordpressのようなCNSでもSmartyは用なしです。

Smartyを採用したがるのは、開発をレガシーphpの手法に引き戻して、何とか仕事を自分たちの手の届く範囲に止めたい、オールドデベロッパーの悪アガキに思えます。

Qホームページの画像を印刷できない設定にしたい

自分のホームページの中の
オリジナル写真を
他の人が印刷できないような
設定はできるのでしょうか。

Aベストアンサー

印刷できないようにする設定は確かに何種類かあります。
しかし、どんな方法にしても多少HP製作に詳しいものなら
「印刷できない設定の解除方法」を簡単に見破ります。
また、そのような設定自体は利用者にとって決して感じの
良いものではありません。

似たような設定で右クリック禁止というのがあります。
右クリックをすると「右クリック禁止!」などのメッセージが表示されて
右クリックメニューが使えないというものですが、これも解除する方法が
ありますので結局は無意味な設定になってるのが現状です。

Qフレームワークは開発環境だけでなく、実行環境でもインストールが必要?

ちょっとPHPに興味が湧き、色々と作っています。そして、最近知ったのですが、フレームワークってのが流行っているみたいですね。

使ってみたく思ったのですが一つ疑問が出てきました。
フレームワークというのは、動かす先のサーバなどにも組み込む必要はあるのでしょうか?
開発環境へのインストールは必須でしょうが、私が借りているレンタルサーバはあまり環境を変えられないので、その辺が気になっています。折角作っても、レンタルサーバで公開できないなら作れるアプリにも制限が出てくるので。

Zend FrameworkやEthna、CakePHPなど色々とあるみたいですが、これらで作られたWEBアプリは、フレームワークがインストールされているサーバでしか動かないのでしょうか? それとも、PHPが使えれば、アプリは基本的には動くんでしょうか?

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

Aベストアンサー

> フレームワークというのは、動かす先のサーバなどにも組み込む必要はあるのでしょうか?
フレームワークを利用する場合は、開発環境および本番環境の両方に必要になります。

> PHPが使えれば、アプリは基本的には動くんでしょうか?
基本的にフレームワーク自身もPHPで制作されているのでPHPが動作する環境であれば問題ないでしょう。

Qホームページをオフラインで回覧したい

ホームページをオフラインで回覧したいのですが、
ホームページをオフラインで見れるようにパソコンにきれいに保存して簡単に見やすく見れるソフトがあったら教えて下さい。

Aベストアンサー

ブラウザがIEでしたら お気に入りに追加する時
オフラインで使用するにチェックしても出来ますが

いろいろとありますので
http://www.vector.co.jp/vpack/filearea/win95/net/www/auto/index.html

QPHPのフレームワーク

PHPのことはよく分かりませんが、いくつかのフレームワークがあります。
知らないながらもキーワードをあげると、Symfony,Smarty,Zendなど。
RubyではRubyOnRailsが圧倒的ですが、PHPの場合は、どれが有望あるいはどれがよいのでしょうか?
個人的趣味でお答えください。
よろしくお願いいたします。

Aベストアンサー

情報量から言えばCakePHP(http://cakephp.jp/)ではないでしょうか。
私自身はCakePHPを使ったことがありませんが、シンプルなフレームワークなので小~中規模開発に向いているようです。

その他、実際のシステム開発の現場でSymfonyを採用した案件を知っています。
私もSymfonyは勉強がてら触ったことはありますが、YAMLファイルでの設定やO/Rマッピング等、使いこなせば様々なシステムの構築が可能になると思います。

残念ながら私は使いこなせていませんが…。

Qホームページビルダー11でのリンクの設定・・・ローカルファイルへのパスになってしまいます。

基本的な質問で申し訳ありませんが、どなたかお教え下さい。
ホームページビルダー11を使用しているのですが、
リンクの設定をする際、属性→リンク→ファイルへ→ファイル名参照 の手順で設定をすると、
リンク先のパスが、ローカルのファイルへのパス(file:///C:/Documents and Settings/.......)になってしまい、
相対パスで設定することができません。そのため、現在、その都度相対パスに設定しなおしている状態です。
環境設定等も確認したのですが、それらしい項目が見つけることができませんでした。
相対パスで設定できるようにする方法をご存知でしたら、お教え下さい。
よろしくお願いいたします。

Aベストアンサー

こんにちわ。

リンク設定時はローカルへのパスになっていますが、ファイルを保存すると相対パスに変換されるはずなのですが・・。(作業中はローカルへのリンクは相対パスに変換されないみたい)
一度ホームページビルダーを終了させて、改めてリンク設定を確認されてみてはいかがでしょうか。それでもローカルへのパスになっているのなら、ちょっと調査する必要がありそうです。

QPHPのフレームワーク

FuelPHPについて質問です。
http://press.nekoget.com/fuelphp_doc/installation/instructions.html
上記ページに記載のFuelPHPのインストール方法
【$ curl get.fuelphp.com/oil | sh】
というコマンドをvps上で叩いたのですがうまく行きません。

実際に、コマンドをうってみると
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 244 100 244 0 0 320 0 --:--:-- --:--:-- --:--:-- 1564
sh: line 6: sudo: command not found
sh: line 7: sudo: command not found

と上記のような警告がでます。
もちろんインストールはできていません。
なにかしらのバイナリがインストールされていないのかどうか・・・。
このような現象に遭遇したかたで解決されたかたご教授ください。
よろしくおねがいします。

FuelPHPについて質問です。
http://press.nekoget.com/fuelphp_doc/installation/instructions.html
上記ページに記載のFuelPHPのインストール方法
【$ curl get.fuelphp.com/oil | sh】
というコマンドをvps上で叩いたのですがうまく行きません。

実際に、コマンドをうってみると
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 244 100 244 0 0 320 0 --:--:-- --...続きを読む

Aベストアンサー

こんばんわ。。。

sudo 。。。??

1.きちんと、root権限にいけますか?

sudo ではなくて、su + パスワードで、root権限にはいれます。
(sudoは、そのコマンドだけ)

2.もしかして、FreeBSDですか?
 最初からsudoは入っていません。
 (うちの説明マニアックだったら申し訳ありませんが)
 portsコレクションを入れて、cd /usr/ports/security/sudo として
 make install clean として下さい。

 ※先ほど手元のFreeBSDで試してそのエラーになっています。

3.それ以外?

curl get.fuelphp.com/oil | sh
で、curlは正常に実行できているようなので、少し変えます。

curl get.fuelphp.com/oil >a

その後、vi a

sudo という単語を全て削除する。(2か所あります)

その後、sh a とでもして、インストールをする(すぐ終わるみたいです)


その後、とりあえず、「oil」と入力してみて、テストをします。
日本語で、/bin/bashがないよ~的なことをいわれたら
まずはbashを入れて、それでもなければ
which bash
として、そのパスを
/usr/bin/oil
の1行目にある
#!/bin/bash
を、置き換えてみて下さい。

#例題:#!/usr/local/bin/bash


ただ、ある程度実行できたとしても、git がインストールされてないと
導入できないかもしれませんね。

こんばんわ。。。

sudo 。。。??

1.きちんと、root権限にいけますか?

sudo ではなくて、su + パスワードで、root権限にはいれます。
(sudoは、そのコマンドだけ)

2.もしかして、FreeBSDですか?
 最初からsudoは入っていません。
 (うちの説明マニアックだったら申し訳ありませんが)
 portsコレクションを入れて、cd /usr/ports/security/sudo として
 make install clean として下さい。

 ※先ほど手元のFreeBSDで試してそのエラーになっています。

3.それ以外?

curl get.fuelphp.com/o...続きを読む

Qホームページ作成ソフト「ホームページZERO」が使える「無料ホームペー

ホームページ作成ソフト「ホームページZERO」が使える「無料ホームページ」を教えてください。
宜しくお願いします。

Aベストアンサー

「無料ホームページ」とは無料レンタルWebサーバのことでしょうか
だとしたら何か勘違いをされていると思います。

ホームページ作成ソフトはローカルな環境(自分のパソコン)にホームページ(Webサイト)を作り保存します。
ですが、このままでは他の人からは見れません。
そこで、Webサーバという物が必要になります。
これは自分で自分のパソコンに入れることも出来ますが、多くの人はレンタルWebサーバを利用しています。
Webサーバは”どんなホームページ作成ソフトで作ったホームページ(Webサイト)”でも
HTMLという形式(拡張子が.htmlや.htm等)で作られたファイルをWebサーバにアップロードすることで
世界中の誰でも見ることが出来るようになります。

つまり、どこの無料レンタルWebサーバを借りても「ホームページZERO」で作ったホームページ(Webサイト)をアップロードすることで誰でも見ることが出来ます。

アップロードとは・・・
「ホームページZERO」を使ったことがないのでGoogleで調べたところ、こちらがヒットしました。
http://www.do-up.com/technical/ftp/homepagezero/index.html
バージョンの違いなどがあるかもしれません。
その場合はご自身で「ホームページZERO アップロード」等で検索するか
「ホームページZERO」のヘルプや説明書をご参照ください。

「無料ホームページ」とは無料レンタルWebサーバのことでしょうか
だとしたら何か勘違いをされていると思います。

ホームページ作成ソフトはローカルな環境(自分のパソコン)にホームページ(Webサイト)を作り保存します。
ですが、このままでは他の人からは見れません。
そこで、Webサーバという物が必要になります。
これは自分で自分のパソコンに入れることも出来ますが、多くの人はレンタルWebサーバを利用しています。
Webサーバは”どんなホームページ作成ソフトで作ったホームページ(Webサイト)...続きを読む

QPHPフレームワークについて

PHPフレームワークで教えてください。
最近、「フレームワーク」という言葉を知りました。
今後「フレームワーク」を使ってWEBアプリを作ったほうが楽なのかなと思っています。
そこで質問なのですが、Mojavi、Maple、Ethna、Zend、CakePHPなど色々あるみたいですが
どれがいいでしょうか?
条件としては、ホスティングサーバーで動かすのでインストールが比較的楽な物(php.iniやhttpd.confとかいじらなくても良い物)です。
使いたいのは、
・フォームからの入力チェック
・データベース(MySQL)
・Smarty
・管理ページは管理者だけ(認証)
位です。
分らない事が出てきたらネットで調べる事になると思うので出来るだけ情報が多いものがいいです。
よろしくお願いいたします。

Aベストアンサー

Mapleは触ったこと無いので詳しくはわかりませんすみません。
Mapleを除いたフレームワークについて簡単に私の主観で解説します


基本的に全てのフレームワークでMVCモデルを軸としたフレームワークですので、MVCの概念が無いとさっぱりわかりませんよ
また、Ethnaは、標準でSmartyとPEARを必須としていますので、これらのインストールが出来ないサーバーでの作業は無理です。
他のフレームワークはSmartyをテンプレートエンジンとして使うように改造する必要があります。
MySQLは全部のフレームワークで可能

管理者ページだのどうのこうのというのはあなたが作ることであって、フレームワークにはそんな機能ないです
あくまでも骨組みを提供しているだけであって、何を作るかはあなた次第
たとえていうのであれば、コンクリート打ちっぱなしのマンションに壁で仕切って部屋を作ったり壁紙貼ったり塗ったりどんな用途に使う部屋を作るかは買った人の自由という感じのものです



Mojaviは今現在は開発がとまっており、Mojaviから派生したsymfonyがあります
http://www.symfony-project.org/
スケルトンクラスの自動生成機能あり
画面を表示するために必要なファイルを自動生成する機能があります。


ethnaは日本人が作ったフレームワークで現在はGREEの代表をしている人が中心になって作っています
よくもわるくもGREEでの開発を中心としているフレームワークですので、GREEで必要なものしか作っていない という部分があり、欲しい!と思う部分がいまだに開発途中だったり全くなかったりします
http://gree.jp/
http://ethna.jp/
日本人がつくったので、各ドキュメントやリファレンス類がしっかりとした日本語になっているのが特徴ですが、世界的シェアはあまりないので情報が少ない。
PEARとSmartyにどっぷり依存しているのでPEARとSmartyを知らないと使いこなせません。
基本的にはPEARインストールを使うため、サーバー管理権限がないとインストールできない可能性もあります
一応、DLしてきて解凍するインストールの方法もありますが試したこと無いです。
スケルトンクラスの自動生成機能あり

Zend Framework
PHPといったらZendですね PHPの開発をしてる会社がつくったフレームワークでリリースされて間もないです
かなり自由度が高いフレームワークですので、フレームワークとして使うこともできるし、単なるお便利class郡としても使えます
逆に言えばシステム設計者がしっかりとした知識が無いと何をして良いのか戸惑う可能性もあります
DLしてきて解凍するだけで使えます。
スケルトンクラスの自動生成は無し
(簡単なので自分で作れますよ)


CakePHP
Ruby on railsにどっぷりと感化されているフレームワーク
DBの1テーブルに対してINSERTやUPDATE、SELECTをするという感じのページであればほぼ全自動で作成できる機能など便利そうなんだけどそこはRoRの流儀を頑なに守っているため、DBのPKがシングルでないとだめ、つまり複合キーを持つテーブルに対しては不利
この機能を使って管理画面のマスター管理系を作るのは便利かもしれません
まっさらな新規開発のプロジェクトの時には候補になるが、既存のシステムのリプレイスとしてCakePHPを選ぶとDBレイアウトとの兼ね合いで大変です
スケルトンクラスの自動生成機能あり


この中で、世界的にシェアを争っているのが Symfony、ZendFramework、CakePHPの3大Frameworkです
PHPの本家本元と理由やスキルのある人であればかなり自由に作りこめるとの理由からZendFrameworkに人気が出始めているように思います。
ethnaも日本ではそこそこ人気あるようです
いづれも解説書が出ていますよ

どのFrameworkもhttpd.confやphp.iniをいじれなくともよいですが、.htaccessの設置設定を認めてないレンタルスペースだと動かないフレームワークもあります


どっちにしろ、自分のパソコン内で開発環境を作らないとどうしようもないので 一通り全部のフレームワークを試してみては?

Mapleは触ったこと無いので詳しくはわかりませんすみません。
Mapleを除いたフレームワークについて簡単に私の主観で解説します


基本的に全てのフレームワークでMVCモデルを軸としたフレームワークですので、MVCの概念が無いとさっぱりわかりませんよ
また、Ethnaは、標準でSmartyとPEARを必須としていますので、これらのインストールが出来ないサーバーでの作業は無理です。
他のフレームワークはSmartyをテンプレートエンジンとして使うように改造する必要があります。
MySQLは全部のフレームワークで...続きを読む


人気Q&Aランキング

おすすめ情報