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

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

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

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

Q&A

39回答

129000閲覧

phpがダメと言われる理由

casanovaY

総合スコア154

PHP

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

14グッド

51クリップ

投稿2015/06/21 05:57

14

51

いつもお世話になっております。

私は仕事しては経験1年目のプログラマです。仕事しではjavaを扱っておりました。
個人的な勉強ではPHPを勉強しています。

最近、プログラミングに関する記事を読むことが多いのですが、PHPがオワコンとか、廃れるとかなどをよく目にします。実際に他のプログラマの方からも聞くことがあります。

その時の記事をよく見るのですが、私の技術力不足もあるのですが抽象的にしかわかりません。。。

皆様のご意見をお聞かせください。

「私はPHPがいいと思っているけど、ここはダメだなー」とか、
「PHPは○○が理由でやめました、代わりに○○の言語に切り替えました」などの意見を聞かせてください!

stereo_code, MakotoNishimoto, makoto-n, afroscript, musix55, BeatStar, keniroya, k_wada, daisy, Harinezumi, 他4名👍を押しています

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

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

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

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

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

guest

回答39

0

歴史的に見たPHPの最大の特徴として、「そもそもプログラミング言語として作られたものではなかった」ということがあります。

最初のPHPはWebページ作成のためにPerlで書かれたツール集で、作者自身ですら「スクリプト言語を作るなどといった考えはまったくなかった」と書き残してはいるのですが、増え続ける機能要望に対応するうちに規模がどんどん膨れ上がって、いつしか「これはスクリプト言語にしてしまうほかない」という状態となりました。

今でこそ本格的なオブジェクト指向や例外処理も加わって、近代的な言語としても使えるようにはなってきましたが、例外の枠内に収まらないエラーや、いろんな言語から引き継いだこともあって統一感のない標準関数群など、かつての「ツール」だった名残りを随所に残しています。

投稿2015/06/22 00:44

maisumakun

総合スコア145184

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

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

ngyuki

2015/06/29 10:09

> Perlで書かれたツール集 そうなんでしょうか? PHP 1.0.8 なるもののコードを見た感じ C 言語のようですけれども・・ http://museum.php.net/php1/ それ以前のバージョンで、ということでしょうか?
ngyuki

2015/06/30 10:39

なるほど・・1.0 以前に perl だった頃があるんですね
koyhoge

2016/09/08 09:14

いいえ、これはおそらく Wikipedia の記述が間違えてます。Perl と組み合わせて使っていたという話が、Perl で書かれていたと誤解されて伝わったのだと思います。
mpyw

2016/09/13 17:23

Wikipediaの記述修正されてますね
koyhoge

2016/09/15 14:38

はい、英語版の Wikipedia に Rasmus 本人による言及 tweet へのリンクがありましたので、日本語版もそれを根拠として修正しておきました。
guest

0

PHPがダメな訳じゃ無いと思いますよ。
PHPはとっかかりが楽で「とりあえず」簡単に結果が画面に出せます。
これが良し悪しで、ちゃんと勉強しない人たちはそれで「出来た気分」になってしまい、後で触れないプログラムを作る人たちが多って言う事だと思います。

その辺他の言語はだいたいこれだ!って言う作り方の基準みたいな物があります。
コードはこうする、DBへのアクセスはこれを通じて・・・・等
この辺踏まえて出来てくるのがいわゆるフレームワークになると思います。

RubyならRailsって言うとわかりやすいんですかね?

PHPはなんとでも書ける反面、フレームワークが乱立して、いまいちこれが決定版!って言う物がないのが現状ですね。

逆に言うとレンタルサーバというか共用サーバではなくて、VPSやマネージサーバ、もしくはそもそも社内向けのイントラ等で動作する、こちらで環境を作って納めるような仕事の場合はPHPを使う理由は相当減るような気はしますね。
その場合はJAVAやRubyを使って厳格に社内で規則を決めた状態で新人に覚えさせる方が育てるのが楽だという面もある気がします(笑

投稿2015/06/21 06:15

landy77

総合スコア1614

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

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

0

利用者が多いからではないでしょうか?

利用者が多いのは、簡単にそれっぽいページが作れるから、ということもであるのですが、そのために無心者というか、とりあえず動けばいいや的な考えの人が多くなります。
そのため、残念なコードが量産されてしまい、そのダメなコードを元に『この言語はダメ』と言われやすくなるのだと思います。

他の言語だと、とりあえず動く、ところまで持っていくのに少し敷居があるので、そこで↑のようなダメなコードを書く人をフィルタできています。

かつて Visual Basic も、簡単に GUI アプリが作れるというので人気を博していましたが、同じ理由でダメな言語と言われていたように思います。
(VB 全然しらないので妄想ですけど(^_^;))

最近は Java でも似たような傾向が見える気がします。
が、Java のすごい人たちの啓蒙によるものなのか、競合となる言語があまりないからなのか(C# が今後どうなるかわかりませんが)、PHP みたいにはなっていないですね。

.

.

あるいは、mod_php が原因なのかという気もしています。

まだWebアプリがCGIでしかなかった頃、mod_phpは革新的だったように思います。
Apache のモジュールとして動作することで CGI のプロセス起動とかのオーバーヘッドを無くしつつ、しかも、CGIを書くのと同じぐらいお気楽にプログラムを記述することができました。

ただ、そのため、PHP はリクエスト毎にアプリケーションの初期化とかブートストラップのコードが毎回実行されるようになっています(OPcache とか APCu とかのキャッシュで軽減されるとはいえ)。

CGI と同じように、リクエスト毎にアプリケーションのコンテキストが初期化されるようになっているためです。

一方、他の似たような言語の WSGI とか Rack とかのアプリケーションサーバでは、アプリケーションの初期化コードは起動時に1回だけ実行すればいいようになっていると思います。
その代わりアプリケーションのコードの変更時に、アプリケーションサーバの再起動が必要だったりしますが。

そして、PHP の思想は php-fpm でも変わっていません。mod_php と同じように、リクエスト毎にアプリケーションのコンテキストが初期化されています。

この思想があるかぎり、PHP が他の似たような言語に性能でまさることは絶対に無いだろうと思います。

これを理由に、PHP はだめだぁ~、と言っている人もいたような気がします。

投稿2015/06/22 08:14

ngyuki

総合スコア4514

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

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

0

PHPはよくディスられていますが、PHPは敷居が低い分、スキルの低い方から高い方まで万人に
利用されている言語だと思いますので、ディスられやすい言語なのだと思います。
なので実際に、「うっ・これは・・」みたいな記述から、「ほぼJavaだな」みたいなキッチリと
したソースまで、いろんなレベルのソースを触れる機会があり、個人のスキルによるというのが
個人的な感想です。

最近Ruby+Railsへシフトしている方も多く、私もその一人ですが、PHPに比べ
どうも動作がもっさりしており、実行速度を考えると、PHPに戻りたくなる時があります。
※もしRailsがサクサク動く時がきたら、RubyがPHPに代わる存在になる事もあるかと思います。

あと、私の周りで、LL言語に処理速度的に限界を感じた人はScalaを試している人が多いので
今のうちに、色々と言語を勉強されて、ご自身の肌感覚に合うか見てみるのも良いかと思います。

投稿2015/06/30 06:02

SanoTatsuya

総合スコア53

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

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

0

他の選択肢が現れて育ってくると、緩やかに賑わいは薄れて行く傾向だとは思いますが、廃れるとは思いません。導入が容易で、学習面でも取っつきやすくて、お手軽なライブラリが豊富で、すぐに書いたものの結果を確認できる。Wordpressも幅広く使われている。そっくりPHPのお株を奪える初心者向け動的WEB制作環境が台頭しない限り、廃れるとは到底思えません。

PHPは元々命名からして、「ハイパーテキスト(ここではHTMLのこと、と思って構いません)プリプロセッサ」の略です。つまり、プログラミング言語よりはテンプレートエンジンに近いものなのです。ですから、とっつきやすさ、書き方の自由度が大変広くできています。登場した当時は大変な盛り上がりでした。何しろGDだろうがExcelシートの出力だろうが、簡単に組み込めるのです。たくさんの人がPHPで遊び、性能を妥協できる案件ならば、業務にも使われるようになりました。そしてその過程で、様々な欠点もまた指摘されてきたのです。

当初の熱狂からすれば、既に廃れているとも言えるかも知れません。ただ、それでも冒頭に書いたような意味での「PHPの代わり」はまだありませんので、決して少なくない愛好者がいます。そしてそれは、近い将来に激減することはなさそうです。

投稿2015/06/30 05:31

mrpepper

総合スコア55

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

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

0

これまでの回答と重複もあると思いますが、
箇条書きで整理して回答させていただきます。

・PHPは使用者が多いメジャー言語なので、
デメリットの部分を言う人も絶対数で多くなる。

・PHPは動かすまでのハードルが低く、初学者が多いため。
とくにPHPはWebに使われやすいため、セキュリティホールが問題化する。

逆に難解な言語やマイナーな言語(関数型言語とか)は、
使用者が足切りされて、コードの平均的な質も高くなる。

・発言者の動機や自尊心、承認欲求の問題。
上から目線で発言するための、手軽な叩きの対象として選ばれる側面。
そういう人、そういう発言ばかりではないだろうが、やはり現実にあるはず。

・後付けで適当に機能を追加していくため、仕様に一貫性がない。
これはマルチパラダイム言語や実用的なメジャー言語はそういう傾向がある。
ただとくにPHPは機能の取り込みにどん欲なので、急成長のギャップがある。

逆に「すべてがリスト」のLispとか、「すべてがオブジェクト」のSmalltalkとか、
一貫性を持って設計されている言語は美しい。実用性や普及率の問題は別にして。

・PHPはルーズな記述でも通すが、そのぶんバグにつながる。
LL系言語、動的型付け言語はその傾向があるが、PHPはとくにユルい。

対してJavaは堅い言語で、自由より秩序を優先するので、
大規模開発やエンタープライズで好んで使用される。

・パフォーマンス面。これはトレードオフの関係で、
LL系言語は開発速度は早いが、実行速度は遅い。
Javaがサーバで使われ続けるのは、この逆の理由。

・PHPは最初の入り口としては手軽だが、PHPだけで技術向上は難しい。
PHPerで技術度が高い人もたくさんいるが、たいてい他言語を経験している。

理由はまず、JavaScriptなども含めてマルチパラダイム言語は学習しにくい。
かんたんにも書けるのに、わざわざ手間のかかる書き方は選びにくいため、
手続き型からオブジェクト指向に移るのが難しい。純粋型言語のほうが学習はしやすい。

また、PHPの本は対象読者の要求を汲んで、すぐ動かすことに重点が置かれている。
オブジェクト指向などのアルゴリズムの理論的な本は、たとえばJavaのほうが充実している。

なお最後に私の立場は、言語に貴賤はないが、向き不向きはある、というものです。
重要なのは言語に序列をつけることではなく、
メリットとデメリットを比較して、目的に応じて選択することだと思います。

私もPHPは使用経験がありますが、一言でPHPの印象を述べると、
個人開発や小規模開発、コンシューマに向いています。

言語の位置づけはWeb版のVBというか、
とにかく最初がとっつきやすいのがメリットの反面、
長く使うと仕様の非一貫性から書きにくさも感じるので、
個人的には今はRubyで書くことの方が多いです。

投稿2015/07/16 22:27

LLman

総合スコア5592

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

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

0

プログラミング言語としてダメダメなことと、廃れる廃れないは別の話です。
英語が世界共通語だけど、英語がベスト言語というわけじゃ無くて、綴りと発音が一致しない、よく使われる単語が不規則な活用をするなど、ダメなところがいっぱいあります。
PHPは当面廃れないと思いますよ。この業界、5年後10年後は誰にも分かりませんが。

投稿2015/06/21 11:50

otn

総合スコア84566

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

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

0

PHPがダメという事は決してありませんよ。
私も色々な言語を利用してシステム開発を行っておりますが、世の中で単純なプログツールや簡易問合せフォームなどの大半はPHPで作成されています。
スマホアプリでさえ、PHPを利用して制作されている事も多々あります。

ただし、Javaなどと大きく異なる事は、やはり厳格性が無いという事でしょう。
PHPは、変数の方変換をほぼ自動でやってしまう為、処理が遅いという事を良く耳にします。

また、landy77さんがおっしゃる通りフレームワークが乱立しているという点もあります。
私自身、複数のフレームワークでの開発経験をしております。

性能を求めるようなシステムを設計する場合にはPHPの使用を避けますが、Java等の言語に比べれば低予算、短納期を実現し易い言語かと思います。

Java言語ではクラス設計等細かく設計を行う必要がありますが、PHP開発ではその行程をかなり短縮しているケースが良くあります。

投稿2015/06/21 08:51

takayukiinaba

総合スコア1158

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

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

0

色々な方がご指摘されていますが、PHPが駄目ということはないです。
以前の印象がかなり強いんだなという感じがしますけど。
どんな言語でも強みと弱点があるので、要は使い方、といったところでしょうか。

最近だと、Facebook社が開発し、現在はOSSになっている
Hackという言語があります。
これは、PHPの記法をそのままに、今風な開発技法を取り入れた斬新な言語で、
個人的に非常に気に入っています。(PHPが同時に動くことも大きな特徴です)
また、Hackが動作するHHVMは、PHP5.6の2倍以上のスピードが出るので、
その意味でも検討に値すると思っています。

本家PHPも今年リリース予定のPHP7で速度アップなど(HHVMに匹敵する速度)
改善していますので、リリースを追ってみるのも興味深いかもしれませんね。

投稿2015/06/30 09:13

aooni_kun

総合スコア36

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

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

0

PHPからC#への乗り換えについてのスライドを載せておきます。
[slideshare id=22979400&doc=phptocsharp10reason-130614092051-phpapp02]

投稿2015/06/22 01:19

sho_cs

総合スコア3541

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

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

anndonut

2017/08/12 13:49

確かにプロプライエタリな製品のほうが便利ですよ。例えばAdobeとか。でもみんなタダが大好きなんですよね。
guest

0

言語仕様で色々と問題があるんです。

例えば、配列と連想配列を同じものとして扱っています。
このため、インデックスに抜けのある配列が定義できたりしてしまいます。

また、無名関数は、内部的にはClosureクラスを利用するように実装しています。

投稿2015/06/21 07:17

sounisi5011

総合スコア697

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

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

0

PHPはBashやPerlのWebサイト版です。
既にデファクトスタンダード的な地位に上り詰めましたので、そう簡単に廃れはしないでしょう。

PHP5になった直後にゴロゴロ存在していたセキュリティホールも全て塞がり、
速度も既にまぁまぁ速かったPHP5.6の倍と無敵です。
Apacheと連携して誰でも手軽にWebサーバを立てることが可能・・・と十分でしょう。

しかし、PHPは良い言語ですが既に知ってる人が横着する為の言語です。
もしくはプログラマ以外(例えばデザイナーの人、ホームページ担当者とか)が触る為の言語です。

PHPはとても保守的な言語なのでPHPだけを触ってるってのは浦島太郎になりやすいとても危険な事です。
エンジニアとしてのスキルを磨く為に積極的に他の言語も触り、得た物を持ち帰るべきでしょう。

例えばテンプレートエンジン。
RubyやNode.jsであればSlimやJadeという高速に書けるテンプレートエンジンが使えます。
私もSlimやJadeを見知って「なんてこった、ほぼEmmetそのままがテンプレートエンジンとして動くなんて理想の世界すぎる。何故今までこの発想が出来なかったんだ!」と目からウロコが落ちました。


PHPって保守的なの?

hnvさんの下記セッションを見ました。
PHP7の内部実装から学ぶ性能改善テクニック

上記のセッションの資料を読めば理解出来るかと思いますが、Javaとならんでかなり保守的な言語と言って良いでしょう。
これを良しとするならPHPを続ければ良いですし、ダメだと思うならさっさと乗り換えれば良いです。
オススメは両方ですかね?実際に触って離れる事で俯瞰してPHPが見れますので、良さも悪さも理解出来ます。


PHPのメリット・デメリット

ざっくりあげます
大体のデメリットはメリットの裏返しでもあります。

メリット

  • 下位互換がしっかりしている
  • 更新自体は活発でセキュリティーホールはどんどん解消されている
  • 公式リファレンスがしっかりしている
  • Apacheのおまけとしてついてくる、インストール楽

デメリット

  • 残念な関数がずっとそのまま(引数、関数名がダサい、実装がおかしい)
  • 'yes' == 0がtrueになる摩訶不思議現象(JSにも[1] == [1]がfalseになる罠がある)
  • mysqlが非推奨・・・?mysqliとは一体・・・うごごごご
  • 公式リファレンスで初級者が迷子になる上、上級者はリファレンスに書いてある当たり前の事を書かないので、低俗で誤った情報ばかりがぐぐるとHitする
  • 簡単過ぎる分、カスタマイズする際に知識が追いつかず辛い
  • パッケージ管理がJSONファイルを手作業で書き換える旧石器時代運用

投稿2016/05/08 16:01

編集2016/05/09 02:34
miyabi-sun

総合スコア21158

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

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

0

はじめに言っておきますが、PHPは全くオワコンではありません。
(いまだWEBの開発現場ではPHPが主流です)

なぜPHPがダメだと言われているのかですが
主に以下の理由があげられると思います。

・旧PHPはオブジェクト指向などの機能が弱かった(PHP5以前)
・言語構造がイケてない(なんでも連想配列、一貫性のない名前)
・テンプレートエンジンとしての使い方もできるため初心者にも敷居が低い反面、
レベルの低いなんちゃってプログラマも多いので酷いコードをよく見かける

では、逆にPHPのメリットは何かというと

・生産性が高い(Javaにくらべて)
・サーバー環境の用意が楽(ほぼ全てのレンタルサーバーが対応)
・Wikipedia,facebookなど大手サイトでの稼動実績があり安定性がある
・WEB関連のライブラリやフレームワークが豊富にある
・公式ドキュメント(php.net)が充実しているので調べるのが楽
・利用者が多いので情報量も多い、またプログラマも確保しやすい
・WordPress、MediaWiki、EC-CUBEなどのキラーアプリがある

デメリットもありますがメリットの方が大きいので、いまだ多くの開発現場で
使われていますし、今後もしばらくの間は使われ続けるでしょう。

投稿2015/08/11 11:55

kanep

総合スコア36

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

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

0

「私はPHPがいいと思っているけど、ここはダメだなー」とか、
「PHPは()が多くてRubyになりました。当時はクラスも使っていませんでした。
Perl,JavaScript,JAVAと触り、現在はnode.jsを活用しています。PHPが決して悪いなどということはありません。 よく、「オワコン!」などといいますが、これは「ただ言いたいだけ」詳しい理由を説明などできません。右に習っているだけです。 JAVAが最速ですし、PHPでも継承を書くことができます。nodeのシングルスレッドにもとても大きな意味があります。

オワコン!とかいう意見に耳を貸してはいけません。
どこにいっても自分たち以外をオワコン!といいます。
どこも終わっていません。

自分が好きなプログラムを使えばいいです。 13言語あつかった!などという必要もありません。
大切なのは、その言語を使って、たったひとりで何を作ったか。 のみです。
大概の評価は、言語マニアではなくて、達成できるかどうか。です。
自分はJAVAバリバリ使える人ちょっとうらやましいです。

人に聞くこともなく、個人の努力のみで到達しようとすると大変ですが、
なんでも聞くより、確実に成長しますし、

大切なのってきっと、
できるプログラマーさん!と呼ばれたいか、
あの仕組み作った人! と呼ばれたいか、
のどちらがグッとくるかでしょうね。

若いうちはできる!になりたいでしょうね。

投稿2015/07/15 12:15

teratail00

総合スコア32

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

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

0

Facebookなんかが大規模になるまでメインストリームで活躍していた言語ですよ。
当然、あの手この手と一般的な利用状況よりも、はるかにシビアにインフラからハードに至るまで
手を入れていった現実もあるでしょうが、その規模で支えてきた人達が限界を感じても、
PHPはだめだ。なんて言っているのは聞いたことがないですし、その規模のレベルでダメといわれても
例えば国内におけるサービスでそれほどの規模での動作環境を想定することもまず考えられないと思います。
言語比較は昔から宗教のように存在するものですが、「人や状況による」のではないでしょうか。
常に最新のソリューションで四苦八苦したい人、または日本語のTipsやコミュニティの活気を重要視する人、そもそもそんな選択肢はなく、顧客、またはSEが決めた設計にあった言語をただこなす人、苦労して習得に労した学習コストをけなされることが許せないだけの人、十人十色だと思います。

しかし結果として、とっつきやすさ、開発スピード、これが現場で重要と判断されてきたからこそ、今ある選択肢のなかではより多くのサービスに採用されてきたのだと思います。

プログラムに期待するものが信用という意味であれば、こういった実績が大きな利点ではないでしょうか。
違う言語を利用して2倍速く動くプログラムでも、開発費、工数、メンテが嵩むようでは、今のニーズに合わないということなのでしょうね。
そしてこれからも、時流にのった言語は、はじめはどうあれそのニーズに応えるべく変化していくのではないでしょうか。

個人的にはマルチスレッドの利用に再コンパイルが必要なところと、そもそも、実用的でないという部分があるので、今後に期待したいと思っています。自分はZendFrameworkをずっと利用してきて他のものにはあまりなじみがないのですが、Zendにしても2になってからは妙にとっつきづらく、いまだに利用していません。ですが早くも3をアナウンスしているようなので、不評だったのでしょうか。非同期に関してはJavascriptの猛追のせいかPHP7で標準実装?されるようですね。いずれも楽しみです。

投稿2015/07/14 22:21

編集2015/07/14 22:33
hayashi_kohei

総合スコア47

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

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

0

PHPの利点としましては、言語仕様やパフォーマンスやセキュリティなどの面でダメダメなのですが、それを差し引いてもHTMLへの親和性の高さというメリットが大きかったことが挙げられます。

ただ昨今では、SlimやJADEといった優れたHTMLテンプレートエンジンやRailsのようなフレームワークが登場し、PHPのメリットが薄くなってきたと感じます。となると、今まで黙認していたデメリットが顕著に感じられるようになりました。

まあ、私見ですので皆様いろいろなご意見はあるかと思いますが、ご参考なまでに。

投稿2015/07/06 04:56

jimoop

総合スコア29

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

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

0

バージョンによって使える関数に差異があるのは特徴的なところですね。
駄目なところでもいいところでもあります。
Try-catchがいい加減です。
関数によって戻り値がまちまちです。

投稿2015/06/30 08:27

NaokiImazu

総合スコア127

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

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

0

PHPがだめなのではなくて

  • 古いApache/PHP/古いMysqlを使っている(OS標準/CloudTemplateそのままのものが多い)

** 詳しい人がいるところだとOS依存が少ないnginxを別途導入して使ったりしますが。。

  • 楽ができる最新系のフレームワーク等を使用しない

** (Javaでもそうですが学習コスト?人を募集しずらいみたいな話で上の人から嫌われていたり)
*** PHPでも新しいFWを使う場合は、基本テストコードを書くのが前提になります。
*** こういうハイレベルな環境を作っているところでPHPをdisるのは間違いです(Javaでも同じく。
*** そういう会社で経験を積みたければ、テスト系の勉強会に参加されるのがベターかと思われます。

  • DBアクセスを頻繁にすると重い

** =>連想配列を使いまくる、コピーしまくる
** =>コードの可読性が下がり訳わからなくなる
*** (クラスをマッピングできるのはSmarty3からとかですが、古いの使っていて使えなかったりとか)

  • 開発端末がWinの場合が多い(会社の管理上こちらになる)

** その場合PHPやRubyだとVirtualBox越しに テキストエディタ+var_dump(console.log)等の原始的デバックになる
** VM越しだとPHPClipseのデバック環境とかZendとか作りずらい<Mac前提の説明ページも多いし
*** Mac購入は減価償却的にみたいな話はよく出ますね。。。

■そもそもPHP採用になる背景としては

  • すぐページが増やせる(HTMLのDB使える版ぐらいな認識)
  • 運用中でもすぐ差し替えられる?
  • BatchもExecでPHPで書けばいいよね?(こういうコード書くとLinux前提になる)
  • キャリア決済APIやAUスマパ認証のサンプルとかの提供がPHPが多い

** ここらへんはほかの方が言及しているように開発者人口が多いからだと
みたいなところがある気がします

■結論としてFW未使用でテストコードが書けない環境の場合

  • 作成、修正イメージがはっきりしていてガリガリかける人にはオススメ
  • 逐一値を確認しながら系の開発だとかえって遅くなる

** (使用箇所をGrep=>var_dump=>書き換え=>var_dump おかしくなったらgitでresetで戻す等)

投稿2015/06/29 05:16

kimukou_26

総合スコア145

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

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

0

PHP には WordPress というキラーアプリがあるので、
すたれることはないと思います。

別の言語を知っている人から見ると言語仕様的には
いろいろツッコミどころが出てくると思いますが、
だんだんかわいく思えてくると思いますw

たとえば、標準関数の引数の順番が統一されていない点が残念です。
array_map() と array_filter() などがあげられます。

投稿2015/06/25 07:03

okinaka3

総合スコア304

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

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

0

他の方も書いていますが、PHPで作られたCMSサービスのWordpressが強力なので、
HP製作などでWordpressの利用を避けられない場合PHPも使いますね。
企業HPぐらいの簡単なシステムではPHPでも問題無い感じです。

ただ、以下の様なシステムの場合にはPHPは使いたくないですね。
・お金など重要な情報を扱うシステム -> PHPだとバグが怖い(PHP自体のバグもそうですが、自分もバグのあるコードを書いてしまいがち。)
・大量のアクセスがあるシステム -> 処理速度が。。
・大規模/複雑なシステム -> これは色んな理由があり過ぎて説明が長くなるので割愛。

バックエンド開発ならScalaいいですよ〜(宣伝)

投稿2015/06/30 04:13

編集2015/06/30 04:18
sakaeda11

総合スコア16

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

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

0

PHP言語がダメなんではなく、他のアプリケーションサーバよりセキュリティホールが多いからではないかなぁと思っています。
なんとなくで書いていますので、参考までに。

投稿2015/06/29 09:51

YasuhiroMiyake

総合スコア1336

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

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

miyabi-sun

2016/05/08 15:01

このレスにぶら下げますが、PHPが弱い言語というレッテルを貼られてしまったのは仕方のない歴史があります。 PHP5.1の頃は正常な使い方をしてるのにセキュリティーホールを突かれるという訳のわからないケースが有りました。 その辺の経緯から「例えばPHPを避けるとか」とまで言われる始末でした。 それらの脆弱性の山は5.2、5.3とバージョンを重ねる上で殆どが解消されています。 詳細を知りたい方は「例えばPHPを避けるとか」でぐぐってみてください。
guest

0

削除

投稿2015/06/22 10:59

編集2015/07/15 16:09
miu_ras

総合スコア902

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

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

0

こんなスレッドがアクティブになってるのが嘆かわしいですね。

XSSやCSRFは別にPHPに限った話ではなく、知識・経験・フレームワークの使いこなし等の問題ですし、言語仕様的なところはPhpStormのようなIDEを使いこなしていれば全く問題ないです。

PHPしか書けない人は駄目だとは思いますが、PHPすらまともに書けない人が、誤った知識とイメージのまま、PHP言語のセキュリティがどうこう言うのは甚だおかしな話です。そういう人はPHPどころか他の言語もまともには書けないでしょうに…。

2015年のスレッドの筈なのに、この人達は一体いつの時代の話をしてるんでしょうか?
まともに勉強してないのでしょうが、数年前の知識とイメージのまま誤ったイメージを広めるのは迷惑です。

投稿2017/12/04 02:45

ossu_ora_59

総合スコア25

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

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

退会済みユーザー

退会済みユーザー

2017/12/04 03:03

> PHPしか書けない人は駄目 これってどういう意図でしょうか? 特に問題ない気がしますが?
ossu_ora_59

2017/12/04 03:08

言語を1つしか書けない人は、目的に対して手段を1つしか持っていないということです。 複数の手段を勉強しておき、目的に応じて手段を切り替えるのがまともなプログラマでしょう。 もちろんPHPは、今でもそしてこれからも、手段の内の1つであり続けるでしょうが、それしか書けない人には相応の未来が待ってると思います。
退会済みユーザー

退会済みユーザー

2017/12/04 06:16

余計な記述だったんじゃないですかね? よくある 日本語しかしゃべれない人はダメとか プログラミングしか出来ない人はダメとか サラリーマンしかやったことない人はダメとか と同じレベルのコメントのようなので。 php しか書けなくても、必ずしもその手段で目標達成ができなくなるわけではないですし(というか多くの場合達成できる)、もっている手段(リソース)を有効に利用できるようにするのはマネージャサイドの仕事なので、特化型の php 使いがいても問題ないです。 まぁ、現実には特化型の php 使いなんて珍しいタイプだとは思いますが、チームでの仕事が世の中に多いことを考えると、駄目というにはゆるすぎる理由かと。
ossu_ora_59

2017/12/04 09:35

余計な記述に余計なコメントという事で、お後がよろしいようで。
guest

0

私は限界や不便さを感じない限りPHPの選択肢はアリだと思ってます。
ただPHPで不便(危険)と思ったのは、意識してプログラミングしないと、0 , false , NULL が同値扱いされ思わぬバグになりました。これ危険です!

落とし穴をちゃんと理解した上で使って下さいね。

ディスってる人達も居ますが、ここまでスタンダードだと利用人口も多い事から簡単に廃れません。
以前のJAVAとCの宗教戦争を思い出します。
(いずれもど真ん中で現役ですよね)

投稿2016/08/27 02:14

HS1111

総合スコア91

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

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

mtdsnsk

2017/12/04 01:35

0 , false , NULL が同値扱いって他の言語でも結構ないですか?
guest

0

PHPはクロスサイトスクリプティング
脆弱性等でセキュリティ上問題が
ございます。企業内でセキュリティが
うるさくなって参りました昨今では
もうすぐ終わると言われても仕方ない
かもしれません。

でも便利なので完全になくなることは
ないと思います。

投稿2016/08/25 11:26

Yatsurugi

総合スコア1628

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

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

0

PHPはベストです。その一じゃない
ちなみに、悪い言語がないと思います。使う人により、言語の良さが出ます。

投稿2016/07/26 16:58

hisou

総合スコア46

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

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

0

結構、盛り上がっていますね~
皆様のご意見、ごもっともです。

概ねPHP擁護派の様ですね。自分もPHPはダメじゃないに1票!

これだけ幅広くいろんなシステムに使用されており、しかもダメダメなモノも少なくないということは、誰でも簡単に始められる学習コストの低い言語だということです。

独特な癖や制約、向き不向きといったことを何も知らないうちに始められてはしまうので、後から「こんなはずでは!?」と感じる方も多く、選んだ自分の事を棚に上げてPHPがダメだと発言する人が多いのだと思います。

言語の生い立ち故に、仕様上の不備も少なくないかも知れませんが、厳密さより手軽さを優先して来た結果であり「個性」でもあります。

ですので、欠点をあげつらう為に他の言語と比較するのは非生産的であり、もし比較するのであればPHPの個性を生かす術を磨くためであるべきでしょう。

自然界がそうである様に、プログラミングの世界でも多様性を楽しむ心の広さを持ちたいものです!

投稿2015/08/11 10:23

pi-chan

総合スコア5936

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

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

0

下記の通り

http://w3techs.com/technologies/overview/programming_language/all

WordPressの影響だとは思いますが、phpのシェアは高いので、そうそう簡単に廃れないと思いますよ

投稿2015/07/26 12:27

kzyplus

総合スコア62

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

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

0

言語は、案件に応じて使えば良いと思いますので
その中で手軽な言語としてPHPはよく使われていると思います。

そういう手軽さが、軽く見られがちなのではないかと思ったりします。

ただ、他の言語より関数は「変」なの多いです、名前のつけ方も動作含めて。。。
それが嫌いな人が多いんでしょう。

ただ、これは進化の歴史もあって改良を重ねたゆに発生してしまった
ことで互換性保つためには仕方ない節もありまして
その辺が2と3でバキッと切り分けたPhysonとは違うPHPの持ち味というか切り捨てないんだ
くびにしないんだーという思想ですね。

投稿2015/07/21 04:32

編集2017/07/03 05:56
TakahiroSakoda

総合スコア16

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

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

0

インターネットが廃れない限りなくなる事はないと思います。
初心者でも動かせるようになっている言語です。
そこが駄目なところでもありますが。
インターネットを探せば出来ないことはないと思います。
また、PHP7も出るので。
少し古いですが、
2013年のインターコムの調査で
PHPで作られたwebサイトは2億4400万サイトでシェアは40%だそうです。

投稿2015/06/30 08:19

NaokiImazu

総合スコア127

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

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

0

配列を便利にしすぎた。僕はこれがPHPの良いところであり、そして諸悪の根源な気がしています。

投稿2017/12/07 13:03

kuwako

総合スコア387

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

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

0

他の方が仰る通り、
FALSE == 0 や FALSE == '0'が通ってしまうという条件分岐の緩さは困ることが多いです。

あと関数の戻り値をmixinにできるので、
配列が返ってきたと思えば、FALSEだったり、NULLだったり、
とても面倒だなと思うことがよくあります。

学習コストが低いのと、敷居が低いということで、
ストレスを感じつつも使ってしまうのがPHP・・。

投稿2017/03/24 14:18

youki_takemoto

総合スコア46

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

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

0

5年前の自分もPHPを使っていこうととして考えたことととても似ています。
改版が頻繁だし、有名どころでも使っているので廃れる心配はないと思います。

速度が問題になるところは別言語で作ると言う手もあります。
個人的な経験ではEXCEL処理が遅かったので、Go言語で対応しています。
人間ですから、記述した自分が一番悪いのに、ついバグを事前に発見で
きたらなあと思い、一時HHVM(Hack言語)をトライしたこともあります。
とくにスペルミスで未初期化変数が発生してもPHPはスルーしてしまう。
最近は型明示できるのですこし改善はされたのかなとも思います。

投稿2017/01/05 19:23

km668

総合スコア65

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

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

0

将来性が無い、成長性が感じられないからオワコンなんだと思います。

フル活用したのがWordPress。

その後どうなんの?みたいな。

開発が進んできたらまた違うと思いますが。

投稿2016/11/26 10:21

KatsukiSugiura

総合スコア335

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

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

0

PHPでも問題ありません。ただSpringとかJavaのフレームワークに比べれば、セキュリティ面で怠っています。                         

投稿2016/05/31 01:11

編集2016/06/17 06:09
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

PHPで十分です。会社員で3年、独立して10年以上やっておりますが、困ったことはありません。

投稿2016/05/30 14:53

happyhappy

総合スコア346

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

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

0

PHPのいいところは簡単にWEBアプリを作れるところだと思います。スクリプトにHTMLを埋め込むことも拡張せずにできますし、cakephpなどのフレームワークも充実しているので開発工数が短くて済みます。PHPの動作環境をWeb(HTTP)サーバーのApacheではモジュールとして組み込んで利用できますので、スクリプト言語でありながら、パフォーマンスもそこそこ良いと思ってます。個人的にPHPでプログラミングしていて困ったのは、マルチスレッドに対応していないところですかね。CLIで使う場合であれば子プロセスを起動すれば並列処理できますが、apache経由では使えないので不便です。社内での開発言語として使っていますが、やっぱりJavaの方がメジャーなので、ノウハウを共有しにくいというのがあります。これは会社によるのでPHPが悪いというわけではないですが。

投稿2015/08/15 23:49

nisinorifuru

総合スコア14

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

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

0

PHPはほとんどプログラマーがいちから開発する言語です。故に、この言語は書く人によってやりたいことがおなじでもコードに個性が出てきます。逆に言えば、「こんな書き方は見づらい。こうゆうのがみやすい」というのが人によって違うのです。だから、集団で利用する言語としては不向きでしょうね。

投稿2015/08/06 02:57

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

phpも、家電とか操れるようになるんじゃないでしょうか。

投稿2015/07/09 11:58

編集2015/07/09 13:25
phpbenkyo

総合スコア99

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問