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

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

ただいまの
回答率

90.21%

PHPはじめてのフレームワークは何が良い?

解決済

回答 8

投稿 編集

  • 評価
  • クリップ 4
  • VIEW 8,001

Buakaw

score 235

現在CMSのカスタマイズを中心に、裏側のSQLや$_POST等を使用しての検索ロジックの構築等をしています。
フロントはJ-Queryをajax含め大体理解しています。

これから、より高度なWEBアプリケーションに挑戦したいので、チームで開発できる効率も考えフレームワークに走ろうと考えています。

PHPのフレームワークだと
・FuelPHP
・CakePHP
・Zend Framework
・CodeIgniter
・Symfony
などあると思いますが、どれにするか迷っています。

開発規模は、小〜中規模を想定していて、googleやfacebookのような大規模は想定していません。

ご経験等ある方いらしたら是非ご意見頂戴したいです。


様々なご回答ありがとうございます。

個人的には、
・動作ができるだけ軽い
・自由度が高い
・学習コストが低い(スクラッチ開発での経験を活かせる)
を最も重要視しています。

上記からcodeignighterが有力かと思いますが、cakephpほど日本語の情報量がないので正直不安では有ります。


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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 8

+6

個人的には、CakePHP にはあまり将来性が見えない気がします。
日本のユーザーが多いのは、フレームワークの走りであり、
そのため古くて日本語情報が多いためです。移行が進んでいないんでしょう。
CodeIgniter かその派生のFuelPHP の方がより洗練された設計で扱い易いです。

最近は Phalcon のような サーバのバイナリモジュールとして組み込む
フレームワークも出てきました。従来の PHP コードで組まれたものに比べ、
7~10倍という圧倒的なスピードで動作します。
まだ日本語情報が少ないですが、これからはこのタイプも増えてくるでしょう。
そちらも検討した方が良いかと思います。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2015/08/27 12:40

    CodeIgniterの場合、日本語の情報量が少ないですが、皆さんどういった形で学習されています?

    キャンセル

  • 2015/08/27 13:14

    そうですか? ユーザーガイドは翻訳されてて、
    これで9割はカバーできると思います。

    あと英語しかない場合、当方は英語をそのまま読んでます。
    割とこの業界長いのですが、昔はほとんどの情報が英語ばかりでした。
    「英語読めないのならエンジニアやめろ」とまで言われたものです。
    今は日本語情報がものすごく増え、Google翻訳もあり、大変恵まれていますよ。

    キャンセル

  • 2015/08/28 11:22

    仰るとおりですね。
    まず前提として英語=分からないは考え直します。

    少し私の方でも調べたら日本語の解説サイトはありました。(残念ながら参考書については一冊のみ、バージョン古い。。)

    キャンセル

  • 2015/08/28 12:39

    CodeIgniterは一時期ライセンス問題か何かで揉めたようで、
    将来が危惧されておりました。それで派生の FuelPHP ができ、
    そっちにユーザーが流れたようです。
    現在はその問題は解決されたようでプロジェクトは継続しています。

    あくまでも個人的な意見ですが、CakePHP はコンポーネントやモデルを
    ファイル冒頭で宣言しなければならないのがめんどくさく、
    またそれらが常に $this に紐付いていてなんか気持ち悪いです。
    FuelPHPは必要な時に new でモデルオブジェクトを生成できて
    $this とは別個になっており、モデルの操作自体もスマートです。
    あとコントローラの階層化もできるのが他にない大きな利点です。
    他にも Image クラスなども中々便利。
    少数派で分が悪いですが、私はこっちを勧めるなぁ…(笑)。

    キャンセル

+4

個人的な意見になります。

cakePHPが一番とっつきやすく、MVCの概念もわかりやすく、ユーザー数も多く、コミュニティも活発なので、オススメです。統計によると、利用者の実に25%が日本語という事で、海外のフレームワークの中では一番人気かと思います。

意外と見過ごされる事が多いですが、フレームワークで重要なのは「もし行き詰まった際にどうやって情報を得ることができるのか」だと個人的に思いますので、人気があると非常に楽です。

慣れてくればcakePHPなら数時間でユーザー認証、投稿機能、Admin管理画面、などが作れてしまいます。小規模な案件でうまく仕様がはまれば、中の作業は非常に少なく、デザイナーの仕事の方が多い、という事も。

あなたもBaker(ケーキ焼き職人)になりましょう!(。-∀-) ニヒ

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2015/08/27 08:09

    賛成!
    フレームワークき限らず、実務上は「もし行き詰まった際にどうやって情報を得ることができるのか」が最も重要な気がします。
    多くのプロジェクトで、オープンソースのプロダクトであるにも関わらず、選定時の重要なポイントとして「有償サポートの充実度」を挙げるのもうなずけます。

    キャンセル

+1

CakePHPが一番習得し易い気がします、海外ではCodeIgniterなどが主流ということを昔聞いた事がありますが、国内ではCakePHP案件が小中規模の開発で良く利用されています。
今後の動向としてという訳でなくMVCに慣れるという意味でお勧めかと思います。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

+1

私もJakeさんの意見に賛成です。
日本語の資料が多く行き詰まった時に情報を探しやすいのはCakePHPだと思います。
特に初めてのフレームワークということであれば、行き詰まった時の情報の探し易さや、同じ日本度で質問に答えてくれる場が多い方が万策尽きたぁ!に陥りにくいのではないかと思います。

ドットインストールとかにもレッスンありますし。
CakePHP入門 (全32回) - プログラミングならドットインストール
(CakePHP3になると2系と結構違う所があるようなので、2系の情報が多いので3系から入ると日本語の情報がまだ少ない状況かもしれませんが...)

世界規模で見ればトレンド的な勢いがあるのは最新の5は微妙という話も聞きますがLaravelではないでしょうか。
日本語の公式サイトもありますし、これから日本語の情報も増えてくると思います。

個人的にfuelPHPも使ったことがあります。どれか1つフレームワークをある程度理解してしまうと他のフレームワークに乗り換えても、方言の違いくらいな感覚で苦労することは少なくなると思いますので、まずは覚えやすそうだな〜とか、詰まった時にモチベーションが下がりにくそうって部分で選んで良いのではないかと思います。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

+1

FuelPHPに一票。
はじめてのフレームワークとしてのFuelPHP第2版
http://tatsu-zine.com/books/fuelphp1st-2nd-1
など入門書が充実してとっつきやすかったです。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

check解決した方法

0

皆さん、諸々ご回答ありがとうございました!
大変参考になりました!

ゆくゆくは軽量なフレームワークに進もうと思いますが、まずは情報量の多いcakePHPと、シングルアプリケーションページはangular.jsでやろうと思います。
精進します!!!

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

0

私はSymfonyを使ってます。
初めて使うフレームワークにSymfonyはおすすめしません。

何か問題が起きた時に日本語情報が少ないです。
日本語書籍も1,2冊程度しかないと思います。
stackoverflowを見れば大抵のことは解決できると思いますが...
英語苦手だったり初心者だとハードル上がっちゃうと思います。(自分がそうなので)

海外だとLaravelが一番人気なようです。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

0

上げられているフレームワークは、どれも主要なフレームワークですので、正直どれを選んでも良いのかなという感じがします。(将来性と最近ホットという意味で、Laravelを選択肢にいれた方が良いかなという気はします。)
チームで、ということなので、チームメンバーの感覚で好き嫌いをとりあえず聞いてみても良いのでは無いかなと思います。結論が出なければ、国内では最もメジャーと思われるCakePHPで良いのかなと。個人的には動作の軽さからFuelPHPに一票ですが、将来性はどうなのかなと心配ではあります。(最近のPHP界隈だとPHP7のパフォーマンスアップが大きい流れだと思うので、PHP7への対応が早そうなフレームワークを選ぶ方が、実際に実装して商売をするぜ、という場合には重要かもしれません)

違った視点から1点なのですが、jQuery/Ajaxは、一通り理解しているということですので、そうなると、JSでSinglePageApplicationを構成した上で、バックエンドをPHPフレームワークでRESTfulにするという作り方もプロダクトによってはアリかなと思うのですが、そちらも検討ということであれば、よりRESTを簡単に実装したりテストしたりできるかという点も考慮に入れる必要があるのかなと思います。

まぁ、とはいえ、おそらくどのフレームワークも普通に比較的簡単にできるようにはなっているかと思いますが。(私はそこらへんCakeとFuelしか知りません。)

Fuelだと軽くて簡単に実装できます。TERIYAKIとかでも、そのような使われ方をしているようです。↓

 ※堀江貴文氏プロデュースアプリ『TERIYAKI』フルリニューアルで見えた若手たちへの期待 - エンジニアtype
 http://engineer.typemag.jp/article/teriyaki_ver2


投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

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

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