ホームページ バックエンド開発 PHPチュートリアル なぜ PHP は強制収容所なのでしょうか?

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

Jun 13, 2016 pm 01:08 PM
codeigniter nbsp php python

なぜ 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 にまったく習熟していないということです。したがって、それもゴミです。


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPおよびPython:さまざまなパラダイムが説明されています PHPおよびPython:さまざまなパラダイムが説明されています Apr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPythonの選択:ガイド PHPとPythonの選択:ガイド Apr 18, 2025 am 12:24 AM

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPとPython:彼らの歴史を深く掘り下げます PHPとPython:彼らの歴史を深く掘り下げます Apr 18, 2025 am 12:25 AM

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPの影響:Web開発など PHPの影響:Web開発など Apr 18, 2025 am 12:10 AM

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

PHP対Python:ユースケースとアプリケーション PHP対Python:ユースケースとアプリケーション Apr 17, 2025 am 12:23 AM

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。

PHPの継続的な使用:その持久力の理由 PHPの継続的な使用:その持久力の理由 Apr 19, 2025 am 12:23 AM

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

Golang vs. Python:パフォーマンスとスケーラビリティ Golang vs. Python:パフォーマンスとスケーラビリティ Apr 19, 2025 am 12:18 AM

Golangは、パフォーマンスとスケーラビリティの点でPythonよりも優れています。 1)Golangのコンピレーションタイプの特性と効率的な並行性モデルにより、高い並行性シナリオでうまく機能します。 2)Pythonは解釈された言語として、ゆっくりと実行されますが、Cythonなどのツールを介してパフォーマンスを最適化できます。

Golang vs. Python:重要な違​​いと類似点 Golang vs. Python:重要な違​​いと類似点 Apr 17, 2025 am 12:15 AM

GolangとPythonにはそれぞれ独自の利点があります。Golangは高性能と同時プログラミングに適していますが、PythonはデータサイエンスとWeb開発に適しています。 Golangは同時性モデルと効率的なパフォーマンスで知られていますが、Pythonは簡潔な構文とリッチライブラリエコシステムで知られています。

See all articles