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

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

ただいまの
回答率

90.75%

  • PHP

    19207questions

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

  • CakePHP

    2218questions

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

  • Laravel 5

    1695questions

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

  • Symfony

    125questions

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

  • Framework

    118questions

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

PHPフレームワーク選定

解決済

回答 4

投稿

  • 評価
  • クリップ 4
  • VIEW 643

ERINGI5

score 14

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

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

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

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

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

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

CakePHP3

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

Laravel

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

Symfony3

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

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

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

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 4

checkベストアンサー

+3

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

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

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/11/05 12:48

    ご回答ありがとうございます。
    確かにcomposerが普及している現在では機能面に関しては選定条件に入れなくても良さそうですね。

    Laravelではクラス設計に自由度がある為、しっかりした設計ができる開発者がいない場合は十分に使いこなせないという話も聞いたのですがその辺りはどのようにお考えですか?

    キャンセル

+3

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

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/11/05 12:31

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

    キャンセル

  • 2017/11/05 16:19

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

    キャンセル

+3

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

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

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

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/11/08 19:41

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

    キャンセル

+2

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

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

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

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

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/11/05 12:57

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

    キャンセル

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

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

関連した質問

同じタグがついた質問を見る

  • PHP

    19207questions

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

  • CakePHP

    2218questions

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

  • Laravel 5

    1695questions

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

  • Symfony

    125questions

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

  • Framework

    118questions

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