ホームページ  >  記事  >  バックエンド開発  >  PHP 開発の 3 つの世界_PHP チュートリアル

PHP 開発の 3 つの世界_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-15 13:23:40688ブラウズ

現在、PHP フレームワークについて多くの議論が行われていますが、ここには主に 2 つの問題があると思います。1 つは、フレームワークを盲目的に崇拝し、フレームワーク設計を採用する唯一の方法は正統派であるという考えです。主流であり、あなたは新人です。第二に、Java を模倣した痕跡が大量にあります。ここで私が言いたいのは、フレームワークや特定の設計の原理や目的、実施されているプロジェクトの実際の状況を考慮せず、慎重に検討せずに盲目的に実行される「模倣」のことです。 Java と PHP の類似点と相違点「PHP 開発の 3 つの世界」は、さまざまな開発分野における PHP 開発のいくつかの特徴を中心に、「プロジェクトの実際の状況」に基づいて書かれた記事です。不適切な点があれば修正してください。

PHP 開発の分野では、OO、フレームワーク、デザイン パターン、MVC モデル、およびそれらがもたらすさまざまな利点について絶えず議論されています。私はこれらの利点を否定しません。ただ、特定の開発方法に盲目的に従うことはできないと考えています。すべての方法には適用範囲があり、PHP 開発も例外ではありません。 PHP 開発は、対象者やサービスの目的などに基づいて、業界の商用ソフトウェア、一般的なシェアウェア、および民間の専用ソフトウェアの 3 つの異なる開発領域に大別できます。これらの異なる分野では、使用される主な開発手法も異なります。製品の分野を明確にし、開発手法を決定する必要があります。なお、厳密に言えば、これら 3 つのカテゴリは完全に並列しているわけではなく、明確に区別されています。皆さんにご迷惑をおかけしないように、意味だけを理解していただければ幸いです。 :)

個人的なレベルと狭い視点に限定されているため、一部の意見は必然的に偏ったり、極端になったりすることがあります。Fang ファミリーからアドバイスをいただければ幸いです。

まず、業界商用ソフトウェアについて話しましょう:

このタイプのソフトウェアは主に、特定の業界または企業の特定のアプリケーションを対象としており、プロジェクト設計は比較的複雑です。特定の開発会社が単独で行うことが多く、競合他社はほとんどありません。現在では主にCRM、CMS、OAなどが代表的です。このタイプのソフトウェアの顧客は、システムの実行速度ではなく、必要な機能を完了するためにシステムが調整できるかどうかを気にします。この種のソフトウェアは特定の顧客向けであるため、使用範囲が比較的狭く、別の顧客に変更すると、通常はうまく動作しません (ここでの操作はコードの実行ではなく、実現を指します)。機能の)、再度解体する必要があります。異なるシステムを開発する際の基本作業の不必要な重複を減らすために、これらの異なるシステム アプリケーションの同じ部分を抽出する必要があります。これらの同一の部分には、コードの技術的な類似点と設計プロセスの類似点の両方が含まれています。これは問題を抽象化するプロセスです。私たちの既存のフレームワークとモデルは、これらの抽象的なプロセスにおける先人の努力の成果です。通常、ほとんどすべての Java プロジェクトは比較的大規模で複雑なアプリケーションであるため、これらのプロジェクトのいたるところにフレームワークとパターンが見られます。この開発アプローチを採用しない場合、前進することはほぼ不可能です。このようなアプリケーションを開発する場合、PHP は Java と非常に似ていますが、唯一の違いは、それぞれの実行環境 (主にそれぞれの言語インタプリタを指します。以下同様) が異なることです。 PHP は、さまざまな OO 言語機能をサポートするために多大なコストがかかるスクリプト言語です。空間的にも時間的にも。幸いなことに、この種の業界では、商用ソフトウェアのパフォーマンスは二の次であり、動作環境を自分で決定できるため、OO 機能を十分にサポートしている PHP5 を使用するのは必然の選択です。また、いくつかのフレームワークを使用することも必要です。

ユニバーサル シェアウェアについて話しましょう:

この概念は、従来のデスクトップ シェアウェアの概念から来ており、その主な特徴は、多くの顧客 (潜在的な顧客を含む) が存在し、同じ種類のソフトウェアのユーザーにはより多くの選択肢と競争があることです。もっと強烈に。このタイプのソフトウェアは現在、フォーラム コミュニティ プログラムによって代表されています。顧客を獲得するには、平均的な競合他社よりも優れた成果を上げる必要があります。このタイプのソフトウェアの場合、競争は主に次の側面で行われます。

1. インターフェイス

インターフェイスは、顧客 (顧客の顧客を含む) が製品に対して抱く第一印象です。したがって、インターフェイスはフレンドリーでなければなりません。インターフェースとは見た目だけでなく操作性も含みます。インターフェイスはほとんどの人の習慣を考慮し、操作はシンプルかつスムーズでなければなりません。見た目は大根とキャベツのようなものですが、顧客が改造して非常に便利に使えるように、オプション(インターフェース)も顧客に任せる必要があります。

2. パフォーマンス

優れたインターフェイスは、確実に製品にポイントを追加します。しかし、Ctrl+CやCtrl+Vが使えるこの世界では、どんなに優れたインターフェースでも、あっという間に競合他社に「学習」されてしまいます。インターフェイスが第一印象である場合、パフォーマンスが致命的なテストとなります。なぜなら、インターフェイスは置き換えることができますが、顧客自身がコードを改善することは期待できないからです。 PHP 開発では、パフォーマンスは主にコードの実行速度を指します。もう 1 つの重要な兆候は、システム リソースの消費です。各処理プロセスのリソース占有率が低いほど、システムがより多くのリクエストを同時に処理するために必要な時間が長くなります。これらはすべて、本当の意味を明らかにする微妙な点です。この点についてはまた改めて詳しくお話させていただく機会があればと思います。しかし、私の個人的な原則の 1 つは、クラスの使用を避けることです。 PHP のクラスは本当にパフォーマンスを低下させます。クラスを避けることの直接的な結果は、フレームワークを避けることになります。そうすることで開発効率に影響が出るのではないかと言う人もいます。そういった影響があるかもしれないということは認めます。しかし、効率には開発効率と運用効率の2種類があると考えています。業界の商用ソフトウェアでこれを行うのは不適切ですが、一般的なシェアウェアでは多くの競合他社が存在します。さらに、顧客は、どのようなフレームワークを使用しているか、どのようなモデルを採用しているかなど気にしません。運用効率を確保するには、開発効率をある程度犠牲にする必要があります。これも最後の手段です。

3. 互換性

ここでの互換性は主に、異なる PHP バージョン間のコードの互換性を指します。一般に、PHP バージョンが新しいほど、パフォーマンスと安定性が向上することがわかりました。したがって、できる限り新しいバージョンの関数と構文を使用する必要があります。しかしその一方で、ユーザー数が多いため、各ユーザーの動作環境を推測することはできません。すべての顧客が独立したサーバーを持っているわけではなく、汎用の共有ソフトウェアを使用する多くの顧客は、実行プラットフォームとして仮想ホストを使用しています。さらに、すべての Web ホスティング プロバイダーが最新バージョンの PHP インタープリターをサポートできるわけではありません。互換性のもう 1 つの副作用は、一部の開発方法が制限されることです。 PHP4 プラットフォームでさまざまな OO 機能やテクニックを使用するのが難しいことは疑いの余地がありません。バランスの問題があります。このバランスをどうするかについては、実行中の PHP バージョンの分布に関するいくつかの調査が有力な参考になると思います。

最後は専用の専用ソフトウェアです。

民間特殊ソフトウェアとは、一定の研究開発能力を有する企業が、自社の事業特性に基づいて独自に開発したアプリケーションシステムを指します。個人使用のみを目的としており、商品として販売されることはほとんどありません。このタイプのシステムの複雑さはエンタープライズ商用ソフトウェアの複雑さに劣りませんが、そのパフォーマンス要件はさらに高く、ほとんど厳しいものです。これらのシステムは、新浪のニュースリリースシステムやタオバオの商品売買管理に代表されます(ただし、これらのすべてが PHP を使用して開発されているわけではありません)。このタイプのシステムの特徴は、通常、企業が独自の独立したサーバーを持ち、目的を絞った方法で構成および最適化できることです。これらのアプリケーションに対処したい場合は、企業のビジネスの特性から始めて、実際のサーバーの条件に応じて PHP モジュールを具体的に最適化してコンパイルする必要があります。その後、PHP 拡張機能や Zend 拡張機能を使用して、スクリプトの代わりにいくつかの機能が実装されます。これには、PHP プログラマが C 言語の一定の知識も必要となります (理論的には他の言語も使用可能ですが、C が最も安全で便利であることは疑いの余地がありません)。

(担当編集者 霍鳳黄

www.bkjia.com本当http://www.bkjia.com/PHPjc/446828.html技術記事現在、PHP フレームワークについて多くの議論が行われていますが、ここには主に 2 つの問題があると思います。1 つは、フレームワークを盲目的に崇拝し、フレームワーク設計の使用が正統的であると考えていることです。そうでなければ、それは人気がなく、新人であると考えています。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。