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

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

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

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

PHP

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

Q&A

解決済

4回答

1325閲覧

phpでwebアプリを作るときフレームワークは不要なのか?

ken0625

総合スコア40

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

PHP

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

0グッド

1クリップ

投稿2017/07/30 18:53

プログラミングは独学の学生で、周りで仕事として使っている人と関わるタイミングが少ないので質問させてください。

僕は基本的にバックエンドにあまり深く突っ込んでいないので、webアプリ作りたければrails、モバイルアプリならapiをrailsで書いてAndroidみたいなものしか作ってませんでした。
Androidをメインでやっていてそこまで複雑なバックエンドが必要になったことがなかったからです。
しかし最近、phpで簡単なwebアプリを作るバイトをさせていただいて、phpはだいぶ昔に自分で簡単なフレームワークを作って使ったことがあっただけだったので、不安でしたが久々にドキュメントなど読みつつ書きました。
その際cakephp3を使ったのですが、発想がrailsとかなり近かったのかすごく早く学習ができて、一応仕様通りのwebアプリを3日程度で作ることができました。
もちろんまだ色々不安なところもありますが、昔は既存フレームワークを覚えてない状態で使っていたのでフレームワークによってこんなに早く使えるようになるのかとか感動してました。

しかし、今後クオリティを上げるためベストプラクティスなど検索してみたところフレームワーク不要論が結構phpでは多いようで、今後仕事を受けるときのためにフレームワークを使わないで色々できるようにしとくべきか迷うようになりました。
実際仕事でphpで書いた製品を納品する場合フレームワークを使うのは良くないのでしょうか?

開発規模にもよると思うのですが、簡単なwebアプリなら使わないほうがいいのでしょうか?
その辺の正解がいまいちわからないので教えていただきたいです。

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

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

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

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

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

ahodana

2017/07/30 22:34

規模、コスト感、体制によりけりですがベストアンサーの観点は? ベストアンサーが存在しない質問だと思うが
guest

回答4

0

一般に Web フレームワークとは、MVC(Model, View, Controller)という構造をもったそれなりに規模の大きいシステム向けのものです。逆に言えば、MVC を必要としないシステムであれば、無理にフレームワークを使う必要はない、とも言えます。
が、現実問題として、MVC を必要としないシステムというのは考えにくい(DB がないシステム?)ので、なんだかんだ言ってフレームワークを使えたほうが楽はできます。

ただし、仕事、それも相手先がある仕事だと、そもそもポリシーとしてフリーソフトウェアやコピーレフトなものを使うことができない、という客先もあるので、そういう場合はスクラッチするしかありません。

フレームワークというのは基本的には似通ってますから、一つのフレームワークに触れていれば、他のフレームワークに対応するのも難度は下がります。(フレームワークとは設計の思想でもありますから、似たような設計思想であれば根幹は同じになります)
※CakePHP は Ruby on Rails に触発されたのが開発契機の一つなので、似通っているのは当然です

投稿2017/07/30 23:37

tacsheaven

総合スコア13703

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

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

0

ベストアンサー

しかし、今後クオリティを上げるためベストプラクティスなど検索してみたところフレームワーク不要論が結構phpでは多いようで

というのは、具体的にどういった理由で不要とされているかについて提示されないと回答が出来ないかと思います。
個人的には、「PHP フレームワーク 不要」あたりで検索してきて出てくるページで挙げられている理由には賛同/納得できないか、10年前なら許されたんじゃない?というものが多いです。

まだ学生という事であれば、フルスクラッチで組もうと思ったらいつでも組める/ある程度複雑なシステムを組んだことがあるという状態まではまず学習されることをお勧めします。

私の場合、発注する側の立場としては

  • フルスクラッチで組める人にフレームワークを使って組んでもらいたい
  • フレームワークを使わないと組めない人には部品のコーディングは頼めるが、設計や基幹部分は任せたくない(フレームワークを使わないと組めない=webアプリケーションの基本的な構造を把握しておらず、問題発生時に対処が出来ないであるという判断)
  • 保守が必要が無い短期限定のシステムや1ページで完結する様な規模のシステムの場合のみフルスクラッチもありかな?(それでも軽量フレームワークを使う方がベター)

という観点で発注や仕事の振り分けを行います。

実際仕事でphpで書いた製品を納品する場合フレームワークを使うのは良くないのでしょうか?

開発規模にもよると思うのですが、簡単なwebアプリなら使わないほうがいいのでしょうか?
その辺の正解がいまいちわからないので教えていただきたいです。

前述の内容と異なると思われるかもしれませんが、
これは要件次第なので、正解は案件によって違います。
納品物に責任を持つ立場で仕事をするのであれば、正解を先に決めてから開発と納品を行うというスキルが何より必要になります。

投稿2017/07/31 05:53

tanat

総合スコア18709

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

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

ken0625

2017/08/14 10:13

ベストアンサーが遅れて申し訳有りません。 みなさんの意見どれも納得のいくもので大変参考になりました。 一応フルスクラッチでも作れるようにしておこうと思います。昔本を参考にして自作フレームワーク作ったのですが今はもう覚えてるか危ういって感じなので... ありがとうございました!
guest

0

こういう考え方もあります。

例えば、今はken0625さんがCake3で作っていたとします。

ken0625さんが卒業して就職したとして、Cake3で作っていたプログラムのお手伝いができなくなると、
その会社さんは他の方にお願いしなくてはなりません。

そこで、PHPのフルスクラッチができればよい、という条件とCake3が使えないといけないという条件だとどちらのほうが幅が広いでしょうかという問題があります。

他の方も回答されてる通り、フレームワークを知らない人もいます。
そこは発注する側の企業文化だったり、予算や開発スピードにもよるとは思います。

投稿2017/07/31 01:24

s.t.

総合スコア2021

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

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

0

フレームワークをある程度自由に使いこなせる方のようですので、自分で
コントロールできるプロジェクト(一人プロジェクトで、製作時のポリシー
は完全におまかせ等)の場合はどんどん使うべきかと思います。

一方、『フレームワーク?なにそれおいしいの?』という人や会社が作って
動いているシステムが大量にあるのも事実です。そういう案件だと、フレーム
ワークを使いたくても使えないケースがあるのも事実です。

個人的には、規模というよりは『使えるような状況なら積極的に使うべき。
でも(地域とか発注者の都合で)そのような環境がないことも多い』という
感覚です。こういう案件でも受けたい場合は、スクラッチから作るスキルも
必要になってくるということかと。

投稿2017/07/31 00:52

hotta

総合スコア1613

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問