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

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

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

Frameworkは、アプリケーションソフトを開発する際に、一般的な機能をより簡単に、より早く完了させる事を目的とした、ソフトウェアやライブラリのセットを指します。開発にフレームワークを使用する事で、追加で必要となる機能だけを開発するだけで済む為、開発効率の向上が見込めます。

PHP

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

CakePHP

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

Symfony

Symfony はPHPで記述されたWebアプリケーションフレームワークです。よく利用するコーディングをテンプレーティングするなど、Webアプリケーション開発の効率化を目的として設計されています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

4回答

3702閲覧

PHPフレームワーク選定

ERINGI5

総合スコア20

Framework

Frameworkは、アプリケーションソフトを開発する際に、一般的な機能をより簡単に、より早く完了させる事を目的とした、ソフトウェアやライブラリのセットを指します。開発にフレームワークを使用する事で、追加で必要となる機能だけを開発するだけで済む為、開発効率の向上が見込めます。

PHP

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

CakePHP

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

Symfony

Symfony はPHPで記述されたWebアプリケーションフレームワークです。よく利用するコーディングをテンプレーティングするなど、Webアプリケーション開発の効率化を目的として設計されています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

2グッド

4クリップ

投稿2017/10/29 06:43

PHPフレームワークの選定を行なっています。
おすすめなFWや選定の際に重視すべき点がありましたらご教授お願いいたします。

現状では以下4点を重視したいと考えております。

  • 綺麗なソースコードを保てる(設計や規約がしっかりしている)※最重要
  • 習得難易度が低い。且つ、文献が多い。
  • 公式リファレンスが充実している(翻訳されていると尚良し)
  • ベンチマークが早い(遅いと言う評判がなければ良しとする)

また、以下の情報も補足させていただきます。

  • 開発人数:5人程度(初心者も含む)
  • 開発規模:中規模!?
  • 今までMVCモデル以外のFWは使用経験がない

調査したフレームワークの感想
##CakePHP3

  • 習得難易度は低い。
  • 公式リファレンスは充実している。翻訳もだいぶ進んでいる。
  • 設計や規則もしっかりしている。
  • 国内のシェアは多いものの人気は右肩下がり
  • Cakephp3はあまり普及していない!?

##Laravel

  • トレンド(世界だけではなく国内でも人気急上昇)
  • 文献も徐々に増え始めている
  • 設計や規約がなく、自由度が高すぎる
  • ベンチマーク遅い!?

##Symfony3

  • 習得難易度が高め(Symfony3で少し扱いやすくなった!?)
  • 徐々に人気を伸ばしている
  • 大規模開発向け!?
  • ベンチマーク遅い!?
  • メリットを把握できていないが評価が高い

一旦は、文献多いことを考慮しているため人気のある上記3つのFWを調査しました。

ご意見ご感想よろしくお願いいたします。

popobot, ooeok👍を押しています

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

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

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

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

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

guest

回答4

0

現場からちょっとだけ提案します。

開発で一番考えなければならないのは開発後の運用です。
運用はオペレーターが使うことだけじゃなく、改修や機能追加なども含まれます。
一生自分がそのシステムの面倒を見るのなら何をどう作ってもいいんですが、実際は他の人に引き継ぎますよね。
引き継いだ人がシステムに手を加える場合、どんなに資料が揃っていても、けっきょくは苦労してソースコードを読むことになります。
そのとき必要になってくるのはできるだけ多くの情報です。
公式サイトだけでなく、teratailやstackoverflowなどの質問サイト、Qiitaなどの情報共有サービス、技術者のブログ、twitterのつぶやき、などなど。
有象無象の情報から解答やヒントを得るわけです。
流行っているフレームワークはそれだけでものすごく大きな強みになります。
というわけで、Laravelをオススメします。

実際にERINGI5さんが何を選ぶのか分かりませんが、開発メンバー以外がそのシステムに携わることを常に考えるべきでしょう。
もちろん設計や規約、習得難易度、ベンチマークも大切ですが、そんなことは全部二の次です。

投稿2017/11/05 08:56

ooeok

総合スコア469

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

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

ERINGI5

2017/11/08 10:41

ご回答ありがとうございます。 想像していた以上にLaravelが人気で驚きました。 みなさんの意見を参考にLaravel少し触ってみようと思います。
guest

0

ベストアンサー

自分の手を動かして試してみるしかないです。
使うのは自分なんだから他人に聞いても無駄。
一番意味のない情報はベンチマーク。
一番気にするべきはGitHubを見て継続的に開発されてるかどうか。
1年以上も止まってるFWを新規開発で使うと言われたら絶対に止める。

FWを選ぶのがもう5年くらい前の発想。
もはやcomposerが中心なのでどれ使っても結局はcomposerで色々追加することになる。
FW単体ではなく周りのエコシステム含めてLaravelが一番充実してるので自分はLaravelしか使わない。

投稿2017/10/30 06:54

kawax

総合スコア10377

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

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

ERINGI5

2017/11/05 03:48

ご回答ありがとうございます。 確かにcomposerが普及している現在では機能面に関しては選定条件に入れなくても良さそうですね。 Laravelではクラス設計に自由度がある為、しっかりした設計ができる開発者がいない場合は十分に使いこなせないという話も聞いたのですがその辺りはどのようにお考えですか?
guest

0

3つのうちどのフレームワークを使っても、設計はしっかりしていて、ヘルプは充実しており、速度もPHP7.1を使ったりOPcacheやRedis等のキャッシュを組み合わせればほとんどの場合は十分かと思いますが、Laravelに関しては、以下のチュートリアル動画等を一度確認して比較してみても良いかと思います。
Laracast
ドットインストール Laravel 5.5入門
Laravelを使うべきか、2017
Laravel Document(ドキュメント)

投稿2017/10/30 04:29

aro10

総合スコア4106

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

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

ERINGI5

2017/11/05 03:31

回答ありがとうございます。 今のところ、Laravelの可能性が一番低いですが...... Laravelのテストの際は教えていただいたサイトを参考にさせていただきます。
aro10

2017/11/05 07:19

Laravel5.5からより洗練され公式やコミニティでの情報量も多くバランスの取れたフレームワークとして開発し易いですが、開発体制が、作業分担開発のスキルがバラバラで入れ替わりや引き継ぎがある等の状況があるのであれば、新人技術者を考慮して日本語の資料が多いCakePHP3をとりあえず使っておくと設計事故等はおこりにくいかもしれません。 また公式で日本を意識したサポートも考えられているようです。 https://cakephp.org/jp Symfonyは各種フレームワークの土台として使われる堅牢なフレームワークですが、日本語情報は少ないです。 Laravelを使う場合は、一度小規模なシステムを開発して感覚を掴んでから検討すると良いかと思います。
guest

0

私は CakePHP 推しです。基本的にはこれで充分足りています。
特に、後方互換性に関しては充分配慮されていますので、長く利用できるフレームワークだと思います。
ただ難易度に関しては、Cake 以外のフレームワークとさほど変わらないような印象です。それなりに覚えることはあります。

また、Laravel を利用するのであれば、 PHP 7.0.8 以上でなければなりませんのでご注意ください。
(ver 5.5 より古いバージョンは、実質サポートされていないので新規の利用の場合はオススメしません。)
コミュニティも活発ですし、継続的に情報収集できる状況であれば利用してみても良いと思います。

Symfony は、あまり詳しくはありませんが、とてもコードの品質は高く安心して利用できるフレームワークだと思います。
(Laravel が存在できるのは Symfony のおかげです。)
日本語の情報は、基本的には古いものしかありませんので、英語で問題なければ良いと思います。

ベンチマークに関してですが、遅いか速いかは、フレームワークよりもアプリの実装に大きく依存します。
なので、あまり重要視しない方が良いと思います。
もし速度が最重要であれば、PHP 以外の言語も検討された方が良いと思います。

投稿2017/10/30 08:02

編集2017/10/30 09:41
okinaka3

総合スコア304

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

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

ERINGI5

2017/11/05 03:57

ご回答ありがとうございます。 CakePHP3少し触ってみました。 確かに命名規則や設計がしっかりしているので覚えることは多そうですが安心して利用できそうだなと好印象を持ちました。 1点気になるとすれば、最近人気が落ちているようですのでCake3がもっと普及してくれるとうれしいのですが.... FWのソースコードをみて処理を理解するというよりも Qiitaなどをみて解決策を探すことが今でも多いのでシェアが多いそうが安心します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問