PHPの利点は何ですか?[閉まっている]


14

誰もが、特定のプログラミング言語に偏見を持つ人々を知っています。特にPHPは、過去の問題やその他の問題(ルーズ型など)に悩まされているようで、プロのアプリケーションには使用すべきではない非深刻なプログラミング言語と呼ばれることがよくあります。

その特別な場合PHP:Webアプリケーション用に選択したプログラミング言語としてPHPを使用することをどのように主張しますか 利点は何ですか、ColdFusion、JavaなどよりもPHPの方が優れているのはどこですか?


5
PHPは、現在フェーズIIおよびフェーズIIIの臨床試験が行われている、がん治療に対する局所化された低侵襲アプローチです。PHPは、ハッシュの衝突をよりよく理解するのにも役立ちます。また、PHPプロジェクトの主催者は、さまざまな法執行機関が個人および商業の未承諾のバルク郵便犯罪と全体的な作業と戦い、インターネットで送受信されるスパムの量を減らすのを支援しています。PHPは、マサチューセッツ州の数十の場所でサポートグループを提供しています。PHPは、精神疾患や薬物乱用の治療に使用されるプログラムの一種です。PHPは、レイヤー3 MPLS VPN(RFC2547)にあります。
ジョブ

すべての言語には嫌悪者がいます。PHPは他の言語と比較して特に嫌われているとは言いません。Infct言語が賞賛されるほど、嫌悪感が増します。私たちはそれを成文化できると確信しています(admirers lang X/haters lang X) = AcmeConstant . AgeFactor(Lang X Age)。AcmeContantがすべての言語で変更されていない場合<(;-)
Martin York

1
私はphpを使用して、言語を設計しない方法を人々に示します。
dan_waterworth

回答:


13

ジョシュ・Kはかなり良い点を指摘しましたので、繰り返しますが。代わりに、もう少し追加します。

解釈されます。

アカウントにFTP / SSHするだけで、変更が必要なものを変更して、事前に作成できます サーバーをコンパイル、デプロイ、再起動する必要はありません。

もちろん、これは、バージョン管理、自動テスト、自動ビルドなどのない、非正式な開発環境で作業する人々にとって魅力的なものです。

実際には簡単です

真剣に。少なくとも本当の初心者にとっては本当に簡単です。とても簡単だったので、私のいとこがプログラミングの方法を学ぶことに興味を示したとき、私は代わりに彼にPythonの本を買った。PHPの規則は、いくつかの悪い習慣を教えてくれるかもしれません。

それは可能です

私はC / C ++言語との生涯にわたる相互確執を持っています。どういうわけか私たちはお互いが好きではありません。大学では、計算を伴うプロジェクトを行う必要があったときに、C ++よりもPHPを選択し、それぞれの場合に目的を達成できました。たぶん、プログラムの実行は、C ++で書かれた場合よりも実際には遅かったかもしれませんが、この場合の要因ではありませんでした。

とにかく:ニューラルネットワーク、遺伝的アルゴリズム、ファジーロジック...これらはすべてPHPで行いました。はい...人々は私が変だと言っていました。


インタプリタおよび対応可能であれば+1。Javaを使用したWebの作業について常に悩まされていた1つのことは、再コンパイルとデプロイが常に必要であるということです。Grailsのようなものを使用すると、この問題の一部が軽減されますが、PHPほど優れたものではありません。
ジョシュK

解釈可能で有能であるというのは、本当に良い議論です。+1すべての答えは良かったし、いくつかの良い議論にぶつかりましたが、あなたの答えは非常にうまくまとめられています。
acme

64ビット整数を処理するための次のコードをご覧ください:mysqlperformanceblog.com/2007/03/27/…これを本気で簡単に呼び出しますか?
ThomasX

いいえ、しません。私が書いたことに注意してください:「少なくとも本当の初心者にとっては、それは本当に簡単です。」本当の初心者は通常、プラットフォーム間の移植性を気にする必要はありません(それが良いことなら、それはまったく別の質問です)。一般的なアドバイス:PHPで大きな整数を扱う場合は、BCMath拡張を使用します(そして、これは最良の解決策ではないことを知っています...しかし、それはPHPの方法です;))
Mchl

17

これは誰もが同意するものではありませんが、PHPがとても人気があるもう1つの理由は、無料のホスティングアカウントを簡単に取得できるからだと思います。

Web開発に参加したい若い学生の多くはPHPを選択します。なぜなら、サーバーをオンラインで設定しても費用がかからず、無料で遊んだり学習したりできるからです。

他の言語(java、ruby、.net)には無料のホスティングオプションがありますが、手に入れるのははるかに困難です。


コストは間違いなく普及の主な要因です。
オーブリング

14

テンプレート作成

PHPにはテンプレートが組み込まれており、奇妙なタグ、解析、オーバーヘッドはありません。このようなものもそうでないものもあります。

ポータブル

PHPは、ほぼすべてのサーバーとほとんどのプラットフォームで実行できます。実際に、ほとんどすべてのサーバー上で実行されます。IIS、Apache、Nginxなどで実行できます。これは、一度だけ書き込みができることを意味します-どこでも移植性を実行できます。この移植性には、サポートする必要がある環境設定に応じて、いくつかの制限が伴います。これは、商用アプリケーションとオープンソース/広く普及しているアプリケーションとでは異なります。

人気

PHPには巨大なコミュニティがあり、まだ成長しています。このコミュニティは、PHPの人気の結果です。非常に活発なメーリングリスト、ディスカッションフォーラム、および開発時に質問に答えることができる多数の人々がいます。

費用

PHP自体は無料であり、そのまま使用できるほとんどのアイテム(Apache、PostgreSQL、MySQL)は無料です。これにより、プロジェクトの初期コストのしきい値が非常に低くなります。


移植性がPHPの長所であるとは本当に言いません。実際に移植性のあるPHPを作成する場合は、言語をさまざまな方法で構成できるという事実を回避する必要があります。たとえばstripslashes()、一部の構成オプションがオンで、一部がドン't。
ジム

2
@Jim-それは、ほとんどのものよりもはるかに移植性があります。
オーブリング

@Orbling-本当ですか?他の言語の似たような機能を考えていますか?
ジム

1
@Jim:「ベストプラクティス」環境を想定したコードを作成します。私はOSのプロジェクトをやっていたならば、私はオプション/設定の数を義務付けるだろう(例えば、magic_quotes_gpc有効オフ)。これに対処する最良の方法(必要な場合)は、これらのif / else処理ブロックをヘルパー関数にカプセル化することです。これにより、アプリケーションコードで引用符チェックをインライン化する必要がなくなります。
ジョシュK

1
@Josh-最近もPHPを大量に書いているのならあなたと同じことをしますが、コードが「ベストプラクティス」環境に依存している場合は移植性がありません。具体的には、ユーザーが提供するすべてのデータに偽のバックスラッシュが追加されるため、多くの不正なホストでデータ破損のバグが発生します。PHPを使用する主な利点の1つとして、PHPホスティングの遍在性が挙げられることを考えると、これらすべてのくだらないホストを考慮に入れるのは公平だと思います。あなたが記述するヘルパー関数はそれを扱う典型的な方法ですが、それは移植性の問題の回避策です。
ジム

5

PHPはどこにでもあります。あなたがどんなクレイジーで奇妙なウェブホストを持っているとしても、PHPがインストールされていないことはほとんどありません。つまり、他の人のサーバーで実行する必要があるWebアプリを作成している場合、PHP機能のセット(PHP 4/5クラスとデフォルトの拡張機能)に常に依存し、サポートを減らしながらユーザーベースを増やすことができます。


5

可用性 ほぼすべてのウェブホストがサポートしています

開発のスピード 必要なのはテキストエディタだけで、コンパイルは不要です

セットアップが簡単 インストールされていなくてもインストールが簡単で、LAMP / WAMPサーバーがあらかじめパッケージ化されています

ドキュメント 多くの例、サポートグループ、書籍などがあります。


1

PHPの利点:

  • 組み込みのファイル入力アップロード処理
  • GET、POST、およびCOOKIESからのデータの組み込み処理
  • 組み込みのセッション管理
  • 書くのが速い
  • コードとHTMLを簡単に混ぜることができます(注:これも欠点と見なされます)

現在、いくつかの明白な欠点もあります。

  • ローカル変数の概念はありません...変数はグローバルまたは関数スコープです。これ特にループを使用している場合、ある時点であなた燃やします。
  • グローバル変数は、globalキーワードで明示的に要求しない限り、関数スコープでは使用できません。
  • プログラミング環境は、php.iniに基づいて変更されます。これは、特定の機能の挙動の変化や組み込み配列(例えば、含む$_GET$_POSTに基づいて値の変更magic_quotes_gpc設定)

1
彼らの正しい心にある人はだれもmagic_quotes_gpcオンにしないでしょう。私は、そもそもその価値のない肥大化をエンジンに加えた人の正気に疑問を呈しています。
ジョシュK

1
「グローバル変数は、特に指定しない限り、関数スコープでは使用できません」-それがどのように不利であるかを実際に見ないでください。このようにする言語がありますが、そうでない言語もあります。
-Mchl

1
@Mchl:ほとんどの言語はこれを行いません。そして、あなたがそれについて知らないなら、それは明確な落とし穴です。私の頭の中で、TCLはこれを行うために使用した他の唯一の言語です。
パワーロード

1
@Josh K:私の前のヘッドプログラマーが気に入っていたように、私の以前の会社のプライマリサーバーはまだそれを使用していました。何百ものウェブサイトを再コーディングする時間はありません。:-/
オーブリング

1
@Mchl:Adaは、失敗が死に至る場所、多くの死に慣れる傾向があります。adaic.org/advantages/projects
Orbling

1

PHPを嫌いな人もいるかもしれませんが、それはあなたが好きなように/フィットするように使用できるからです。誰もが非常に簡単に使用できるので、多くのくだらないコードが世に出ます。PHPを実際に使用したことのないプログラマーの中には、PHPでの作業方法を考える人がいるかもしれません。また、PHPを嫌う人もいます。それは、何か他のものが好きで、新しいことなどを恐れているからです。

PHPはどこでも実行できるので個人的にはPHPが好きです。あなたはウェブの周りで多くの助けを得ることができ、それは無料です。Zend Frameworkのような優れたフレームワークもいくつかあります。しかし、ほとんどの人はそこに頭を出すことはできません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.