なぜ PHP は強制収容所なのでしょうか?

WBOY
リリース: 2016-06-13 13:08:34
オリジナル
843 人が閲覧しました

なぜ PHP は強制収容所なのか

ある日、私は ダンボ を追った 素晴らしい新興企業 上司は、PHP 以外の世界の開発者が一般的に PHP や PHP 関連のコミュニティを軽蔑する理由について雑談しながら話しました。彼の指摘は私にとって心に残りました。その主な理由は、私がこのような意見をこれまで聞いたことがなかったからです。

ほとんどのプログラマーが PHP に関してどのような不満を抱いているかがわからない場合、その不満は次のようになります:

  1. 醜い構文
  2. 他の言語に必要な機能がいくつか欠けています (バージョン 5.3 より前、名前空間、クロージャーなし)
  3. 一貫性のない関数の名前付け、使用法、その他の奇妙なもの
  4. 手続き型とオブジェクト指向の混合
  5. 基本的に、PHP プロジェクトの 80 ~ 90% はクソの山のようです

しかし、彼が言及した PHP の問題は別の問題です。同氏は、この言語に何か問題があるとは言っていない。この言語は共通の文化現象、つまり通常は言語の作成者によって生み出された文化的伝統に囲まれており、それが現在、いくつかの悪いプログラミング手法の原因になっていると考えている。励ましの役割を果たした。つまり、PHP コードが劣悪になり、保守不能になります。

創設者の哲学的思考を体現し、関連コミュニティから高く評価される言語またはフレームワークという現象は実際に存在します。彼は Ruby とその創設者である Matz を持ち出しました。 例として。 Matz 氏が望んでいたのは、読み書きが容易で、プログラマーの作業効率を向上できる言語でした。 Ruby 開発者が迅速な開発と言語の優雅さについてどのように語っているかわかりませんか?

それから DHH ? そして彼のRailsフレームワーク。そしてグイド そして彼のPython言語。そこで私はこう考えました:ラスムス PHPについてはどうでしょうか?

ラスムス・レルドルフ氏の感想は非常に興味深いです。彼は PHP 言語のオリジナル バージョンを作成し、言語の改良を続けています。PHP コミュニティでは神のように崇拝されており、PHP のあらゆる面で最大の権威を享受しています。彼は数多くのカンファレンスに招待されています スピーチをして大手インターネット会社に雇われましょう 、ほとんどの非 PHP プログラマが軽蔑する PHP の多くの問題の顔となったにもかかわらず、彼は皆の尊敬を集めました。

Rasmus は、フレームワークの使用を避け、PHP をテンプレート言語として扱うことを主張しています。彼にとって、このアプローチは直接的な運用効率と拡張性をもたらします (プログラム負荷は既知です)。他の人にとって、このアプローチは手続き型コードのぐつぐつした混乱と保守不可能なプロジェクトをもたらしました。 1995 年に PHP が誕生してから約 10 年間、すべての PHP プロジェクトはこのガイダンスに従って作成されてきました。

同時に、別の問題が突然現れました。PHP5.0 より前の、PHP の初期の頃、PHP は多数の初心者のフォロワーを獲得しました。この言語への参入障壁は驚くほど低く、誰でも自己解凍型の ×AMP Windows プログラム インストール パッケージをダウンロードして、2 ~ 2 分でこの言語を使い始めることができます。さらに、当時は、Web 開発手法における MVC パターンについての本当のコンセンサスはありませんでした。したがって、初心者のグループが、適切な開発慣行が欠けている言語と組み合わせた場合にどのようなものを作成できるかは想像できます。管理不能なゴミの山。そして全体の環境はこんな感じです。

誤解しないでください。当時でも優れた PHP 開発者はまだたくさんいました。しかし、私が言ったように、粗末な新人の仕事はどこにでもあります。カウボーイの PHP プログラマーが集まって、何の指導原則も持たずにプログラムを開発したとき、PHPbb、PHPNuke、および多くの粗雑な .php3 パッケージが登場しました。しかし、単純に PHP 開発者を責めることができるでしょうか?できません!他の Web 言語の巨人である ASP と Perl も同様に悪名が高く、シチュー形式の開発アプローチを推進しています。

これが、PHP がひどい評判を受ける理由です。それは歴史的な広がりによるものです。すでに Python、Ruby、Java に移行していた往年の PHP 開発者のほとんどは、MVC の概念が Web 上に登場したときに、その言語に戻って再考することはありませんでした。さらに、「Ruby 少年」Zed Shaw が一部のプログラマーの精神が「PHP に毒されている」と訴えたような露骨な風刺もいくつかあり、このような発言 は RubyInside で非常に人気があります。 。

PHP は強制収容所です

しかし、Zend や CodeIgniter のようなフレームワークの出現により、言語は正しい開発方向に押し上げられました。実際、それは PHP を Rasmus が望んでいたものとは逆の方向に推し進めました。 Zend フレームワークと CodeIgniter フレームワークを見てみると、これらが十分に文書化され、適切に記述されたコードを備えた数少ないプログラムの 1 つであることがわかります。

Ruby を学ぶほとんどの開発者は、Rails と MVC の知識も学びます。PHP はその前から 10 年間使用されてきました。 Ruby が今回は初心者に自由にプレイする時間を与えてくれないなんて、初心者にとってはくそったれだ。 Rails には既製の標準ガイダンスがあり、その参入障壁は比較的高く、通常、一部の経験の浅い開発者はブロックされます。

実際、PHP アプリケーションは他の言語と同じように作成でき、実行速度の面でも一定の利点があります。 PHP の世界で MVC スタイルの開発手法が台頭してきたのは、近年になってからです。この変更をもたらしてくれた Rails に感謝する必要があることを認めなければなりません。

それでは、今日の PHP はどのようなものでしょうか?

  1. さまざまな標準 (統一されていませんが、ほとんどのプロジェクトは MVC を使用しており、ジャンクな手続き型プログラムはほとんどありません)
  2. 参入障壁が低い
  3. 速度と拡張性 (さまざまなスクリプト言語の中で PHP が最高であるはずです)
  4. 優れた単体テスト フレームワークを用意する
  5. 最高のドキュメントをさまざまな言語に翻訳します

さらに、Facebook、Digg、Wikipedia、WordPress、Drupal など、インターネット上のほとんどの影響力のある Web サイトは、バックエンド言語またはツールとして PHP を使用しています。 PHP を徹底的に習得することで、プログラマーにとってさらに未知の領域への扉が開かれると私は信じています。

上記の内容に同意できない場合は、コメントを残すか、私に電子メールを送ってください。そう思わない理由を聞きたいです。

実のところ、私は PHP のファンではなく、この言語に対して何の思い入れもありません。私が主に PHP を使用しているのは、ご想像のとおり、誰かが私にお金を払ってくれるからです。だから、すべてはこれのせいです:

ソフトウェア設計において情報に基づいた意思決定を行いたい場合、Web アプリケーションの開発には PHP が最適です。

ところで、次の Web アプリケーションの開発に PHP を使用したいと確信している場合は、CodeIgniter を試してみてください。 。これは、軽量でプレーンな超高速 PHP フレームワークです。私は CodeIgniter のファンです。

?

:)

1階 ジシャン 2011-05-13
なぜ PHP は強制収容所なのでしょうか?

2階 ルフジャン 2011-05-13
なぜ PHP は強制収容所なのでしょうか? 悪くない。
私も CodeIgniter が好きで、現在学習中です。

3階 タイラー・ロング 2011-05-14
PHP は symfony フレームワークを使用していましたが、このフレームワークは codigniter や zend に劣らずよく知られていました。しかし、私が書いたコードは非常にわかりにくく感じられました。数日後には理解できません。 2 私は数か月間小さなプロジェクトに取り組んできましたが、それは単純なブログプログラムよりもはるかに複雑ではありません。

言語の欠点を補うことはできないと感じています。フレームワークだけで、私は Python と C# をフォローすることに決めました。どちらも非常に素晴らしく、IronPython と C# は相互に呼び出すことができます。 . C# と Python を組み合わせるとどのようなプロジェクトが可能になりますか? 他のプロジェクトではどのようなことが困難ですか?

それでは、PHP フレームワークのファンの皆さん、終わりはありません。困難に直面しても、いつでも戻るチャンスはあります... PHP より優れたものはありますし、それらはたくさんあります。

4階 チェリーcmd 2011-05-15
PHP プロジェクトは保守が難しい

5階 スマートフィッシュ9 2011-05-15
php は symfony フレームワークを使用していると書きました。このフレームワークは codigniter や zend に劣らず有名だと言えます。しかし、私はそのプロセス全体で非常に苦労しました。わかりにくいので書きました コードは数日で理解できなくなります 2か月で小さなプロジェクトに取り組みましたが、単純なブログプログラムよりもそれほど複雑ではありません。
デメリットはあると感じています。言語の利点はフレームワークだけでは補えないので、どちらも非常に素晴らしくエレガントであり、IronPython と C# は相互に呼び出せることを知りました。言葉では言い表せないほど興奮しました。C# と Python の組み合わせではどのようなプロジェクトが難しいですか? 、PHP フレームワークのファンの皆さん、困難には終わりがありませんが、希望はあります... はい、PHP よりも優れたものはありますし、それらはたくさんあります。

symfony フレームワークはあまり良くありません。 Codeigniter はまだ使っていないと感じますが、ZendFramework は Yii と比べるとさらに遅く、設計が過剰なのであまりお勧めできません。もちろん、私は Python と Django に精通していますが、Web サイトを作成するには、まず適切なフレームワークを選択し、時間をかけて学ぶ必要があります。


6階 キシアイ 2011-05-17 私は長年にわたって zend を使用しています。zend の特徴は、パッケージの 1 つに満足できない場合は、そのパッケージを使用しないことです。使いたいものを選択するだけです。


7階 バルド 2011-06-06 私はブロガーの見解に完全には同意できません。主にフレームワークの認識にあります。 PHP に適したフレームワークはありません。ゼンドさん、私はこのウェブサイトでそれを批判しました。 CodeIgniter に関しては、せいぜいおもちゃにすぎません。小規模な企業サイト程度しかできず、それをベースに書き直されたKOHANAも含め、セキュリティや拡張性などにかなり問題がある。

現時点での PHP の最大の悲劇は、良いフレームワークが存在しないことです。定番のものもありますよ。例: log4php。JAVA からコピーされます。 CAKE、RORからコピーされました。悲しいことに、これをコピーする人は PHP にまったく習熟していないということです。したがって、それもゴミです。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!