ホームページ バックエンド開発 PHPの問題 0 php または java の学習の基礎

0 php または java の学習の基礎

Oct 09, 2019 am 11:59 AM
java php

0 php または java の学習の基礎

PHP と Java の簡単な比較

市場の電子商取引ソフトウェアは、基本的に 2 つのグループに分けることができます。キャンプとジャワキャンプ。しかし、ECに長く触れていないユーザーにとっては、見た目や明らかな価格の違いだけが目に入ってしまい、実際の違いが見えにくいことが多いです。

実際、PHP MySQL の効率的な開発と高品質な機能により、大学キャンパスで人気のある Java はますます恥ずかしいものになってきています。 PHP に関して言えば、なぜ MySQL が歴史の流れの中で逆転して先頭に立ったのでしょうか?なぜ Java アーキテクチャに基づく電子商取引は、開発コストが高いだけでなく、将来が暗いのでしょうか? まず、PHP と Java の違いを理解する必要があります。

1. 起源

Java はもともと家電製品用の分散コード システムを開発するために設計されましたが、PHP はインターネット アプリケーションのために生まれました。

2. システムの技術アーキテクチャの比較

階層化は、システムを効果的に組織する方法です。コンピュータ分野では非常に重要な考え方です。適切な階層化のアイデアに基づいて、「高い凝集性と低い結合性」を実現でき、特定の問題を分離できるため、リソースの制御、拡張、割り当てが容易になります。

PHP5 バージョン以降、PHP はシステム アーキテクチャにおいても質的な飛躍を遂げました。 ShopNCはPHP言語を使用して開発されており、多層アーキテクチャの配布を完全に実現できます。 MVC 設計パターンを使用すると、電子商取引ソフトウェアはより効率的で合理的なシステム アーキテクチャを持つことができます。これにより、システムの拡張性と需要への適応性が Java で書かれた電子商取引ソフトウェア システムと同等になります。

Gutmans は一昨年、マルチコア環境におけるマルチスレッド (JVM) とマルチプロセス (LAMP) の比較について詳しく説明した記事を公開しました。その中で、マルチコア システムは LAMP アーキテクチャのマルチプロセス アプローチに非常に適していると述べられています。チップ業界は現在、ハイパー スレッディング テクノロジではなくマルチコアに重点を置いているため、JVM のようなマルチスレッド環境の利点は、今日のハードウェアでは十分に活用されなくなります。マルチプロセスアプローチにより、安定性と信頼性が向上します。このラウンドでは、PHP が勝利しました。

3. データベース アクセスの比較

PHP は、多くのデータベースに接続する関数にコンパイルできます。データベースに間接的にアクセスするための独自の周辺関数を作成します。このようにして、使用するデータベースが変更された場合、そのような変更に適応するためにコーディングを簡単に変更できます。同時に、現在の PHP は統一されたデータベース インターフェイス PDO を提供しており、データベース インターフェイスの問題を考慮することなく、Oracle、MySQL、SQL2000 などの異なるデータベースへのアクセスをブリッジ経由で完了できます。

同時に、MYSQL データベースのサポートを強化するために、PHP はより効率的で安全な MySQLi データベース接続も開始しました。 Java は、JDBC を通じてデータベースにアクセスし、さまざまなデータベース ベンダーが提供するデータベース ドライバーを通じてデータベースにアクセスします。特別な対象を絞った最適化はありません。開発したWebアプリケーションもMYSQLデータからORACLEデータに転送する場合、PHPはPDOインターフェースを使用するため、プログラムの修正はほとんど必要ありません(ShopNCはすでに自社開発のカプセル化データベース層を開発しており、すでに処理を完了できます)複数のデータの)、PDO がなくても、一種のデータベース サポート)。

Java 開発では、特定の変更を実装する必要があります。データベースへのアクセス方法の違いにより、PHP で開発された電子商取引ソフトウェアと Java で開発された電子商取引ソフトウェアの間にはギャップが生じています。Java は伝統的な世代ですが、PHP は新しい技術の開発の結果です。PHP は単に対応できるだけではありません。さらに、速度も着実に向上しており、その効率は Java よりもはるかに強力です。今回のラウンドでは、Java の印象は若干劣ります。

4. セキュリティの比較

オープンソースはセキュリティの最大の利点であり、LIUNX は非常に成功した証拠です。 PHP 開発プログラムは、他の人がコードを入手した後でも簡単に変更できます。 Java で開発されたプログラムは、完全なソース コードを見ることはできず、コンパイルされた一部のクラス ファイルしか見ることができません。したがって、基礎となるアーキテクチャの多くの隠れた危険性を事前に予測することはできません。致命的なエラーが発生すると、その結果は深刻になります。

PHP コードを暗号化する場合は、Zend の権威製品である Zend Guard を暗号化に使用して、製品の知的財産権を確保することもできます。 PHPとJavaをセキュリティの観点から比較するなら、ほぼ同じとしか言えませんが、差があるとすれば開発プログラマのレベルによっても決まります。このラウンドでも両者は互角。

5. インターネット アプリケーションへの先見性と拡張性

全体的に、PHP はインターネット アプリケーションに適していますが、Java 言語は最初から設計されていませんでした。 . WEB中心ではなくサービス全般を中心としています。 PHP はインターネット アプリケーションを最大限に活用でき、Java は標準または非標準のフレームワークを通じて WEB アプリケーションのニーズに応えます。

PHP がインターネット アプリケーションに適している理由

まず第一に、PHP は大規模なシステム負荷に対して分散配置を採用できます。データベース、アプリケーション ロジック層、およびプレゼンテーション ロジック層を互いに分離し、トラフィックに基づいて同じ層を分離します。 PHP はこの点で優れた仕事をします。

第二に、PHP は多数のデータベース インターフェイスと統合インターフェイスを提供しており、複数の異なるデータベースからのデータを統合するのに多くの労力はかかりません。 Java は、クラスおよび EJB を通じてスケール サポートを取得することもでき、多くのベンダーから EJB/CORBA およびアプリケーション サーバーを通じて構造サポートを取得することもできます。既存の Java または .NET アプリケーションとの通信に関して、PHP は既存の API インターフェイスを介して通信できます。データ通信で使用されるデータはXMLやJSONなどに他なりません。

PHP をインターネット上の最優秀パフォーマンス賞にたとえると、PHP は単独で機能します。そうすれば、Java は、重いフレームワークと面倒な効率だけを備えたヨーロッパの中世の戦士のように、イノベーションが最も少ない賞を受賞するはずです。当時の SUN でさえ、J2EE ソリューションで JRuby と Jython をサポートしていたのも不思議ではありません。 IBM Websphere は、J2EE が WEB には適していないことに気づき、Project Zero プロジェクトを開始しました。その結果は? Project Zero の主任アーキテクトも、「Java は今や単なるシステム言語とみなされ、Web アプリケーションの構築には適していない」と渋々ながらも公に認めました。

実際、Java はエンタープライズ レベルの電子化や主要なビジネス アプリケーションに深く根付いていますが、Web アプリケーションでは Java 言語の市場シェアは急激に低下しており、その衰退は明らかです。したがって、このラウンドで、Java は言葉もなく負けました。

6. 製品化の程度

Java で開発する場合、すべてカプセル化されたクラスであるため、最初から始めるプログラマーはほとんどいません。実はこれが、Java の製品化が難しい大きな理由です。なぜなら、ほとんどすべてのプログラマーは比較的浅いアプリケーション開発を行うことができるからです。

Java クラスに関する限り、インターネット上に公開すると、重いと言えるものは 1 つだけです。 Java が常に主張してきた唯一のクロスプラットフォームの優位性は、実際には初心者プログラマーに対する一種のプロパガンダであり、上級プログラマーにとっては冗談で朝飯前です。多くの大規模プロジェクトを経験した上級開発者は、開発の開始時にプログラムを実行する必要があるプラットフォームが決定されることを知っています。プロジェクトが大規模であればあるほど確実性が高まるため、プラットフォームの移植を考慮しないことは容易です。他のプラットフォーム上で新たなサービスを立ち上げる必要がある場合でも、追加開発は新しいプラットフォーム上で行われ、既存製品との連携もWebサービスで解決できます。そしてデータベースは関係ありません。 ACCESS を使って大規模な商用プログラムを開発する人はいないと思います。

CRM、ERP、レポート、文書管理などを含むほとんどのビジネス アプリケーションも Web に移行しており、周囲を見渡すと、驚くほど多くの PHP 製品が存在します。カバー率は99%以上です。多くの製品の品質は異なりますが、各方向および分野で代表的な製品がいくつかあります。例には、WordPress、Drupal、mediaWiki、osCommerce、SugarCRM、Discuz、QeePHP、ShopNC などが含まれます。

製品化度は工業化度を直接裏付ける重要なデータです。工業化できない道具というのは、実はそれ自体がとても悲しいのです。このラウンドではJavaは完敗した。

7. 開発コストとその後のメンテナンスコストの比較

PHP はインターネット アプリケーションの多くの面で Java よりも優れているのに、なぜ Java によって開発された電子商取引製品は異なるのですか? PHP 製品からのアプローチはどうですか? 競争はどうですか? これは、Java 陣営が一般的に政府の方針を取るのに対し、PHP 陣営は国内の方針を取るためです。 Javaは大学教師の言動に頼ってインターネットの世界で唸りを上げますが、PHPは自らの品質に頼って人々の心を掴み、称賛され続けています。

ソフトウェアの価格は、ソフトウェア自体のコストと機能に大きく関係します。 PHP は参入障壁が低いですが、どの側面でもマスターになるのが最も優れたものの 1 つです。 C言語を学んだプログラマの大多数は容易にPHPプログラマに転身できるため、PHPプログラマは国技のように人気があり、専門家も多く、高品質なPHPソフトウェア製品が後を絶たない。

サーバーコストの観点から見ると、PHP の最も古典的な組み合わせは PHP MySQL Apache であり、Java は MySQL Tomcat、JBoss およびその他のソフトウェアと組み合わせられることがよくあります。すべてのソフトウェアはオープンソースで無料であるため、サーバー側への投資はそれほど高くありません。

Java プログラマーの学習コストは PHP の数倍かかりますが、その理由も明確で、Java 自体は WEB 開発に特化した用途ではありません。したがって、Java で電子商取引を開発するコストは、PHP で開発された同様のソフトウェア製品よりもはるかに高くなります。しかし、Java の開発コストは高いため、同じ効果を達成するために同じ製品を開発するには、PHP 開発の N 倍の時間と経済的コストがかかることがよくあります。これは直接的に多大な時間とコストの無駄を引き起こします。最終戦はWEBバトルでJavaが完敗。

上記のデータを通じて、読者は、Java ベースの電子商取引製品を購入すると、その後のメンテナンス期間に多大な経済的コストと貴重な時間をもたらすことを明確に理解することができます。ビジネスチャンスは一瞬であり、テクノロジーの実現を常に長時間待たなければならないのであれば、ニッコウキスゲは消滅してしまうのではないかと危惧しています。
商品を知らないことを恐れる必要はありませんが、商品を比較することを恐れてください。 PHP で開発された製品は広く使用されており、高い評価を得ていますが、Java で開発された製品は拡張が難しく、製品の減少とプロジェクトの種類の増加に直結します。それはまさに、PHP 用に開発された製品の全体的なパフォーマンスが何千ものユーザーによってテストされ、改善されてきたからです。 Java はそこから遠く離れているため、Java が政府のルートを選択し、価格差を利用して購入者の心理のバランスをとることしかできないのは驚くべきことではありません。

要約:

PHP は電子商取引ソフトウェア開発の最も強力な推進者であり、必然的に一般的な傾向になるでしょう。 。 PHP であろうと Java であろうと、プログラマーとして身長の問題は実は同じです。このレベルの戦争は、実は大手メーカー間の問題であり、弊社には関係ありません。でも例えばWEB面。まだまだキャンプを応援したい!

推奨チュートリアル: PHP ビデオ チュートリアル

以上が0 php または java の学習の基礎の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

Java 8 Stream Foreachから休憩または戻ってきますか? Java 8 Stream Foreachから休憩または戻ってきますか? Feb 07, 2025 pm 12:09 PM

Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

一致式(PHP 8)とそれがスイッチとどのように異なるかを説明します。 一致式(PHP 8)とそれがスイッチとどのように異なるかを説明します。 Apr 06, 2025 am 12:03 AM

PHP8では、一致式は、式の値に基づいて異なる結果を返す新しい制御構造です。 1)Switchステートメントに似ていますが、実行ステートメントブロックの代わりに値を返します。 2)一致式の式は厳密に比較され、セキュリティが向上します。 3)スイッチステートメントの脱落の可能性を回避し、コードのシンプルさと読みやすさを向上させます。

クロスサイトリクエストフォーファリー(CSRF)とは何ですか?また、PHPにCSRF保護をどのように実装しますか? クロスサイトリクエストフォーファリー(CSRF)とは何ですか?また、PHPにCSRF保護をどのように実装しますか? Apr 07, 2025 am 12:02 AM

PHPでは、予測不可能なトークンを使用して、CSRF攻撃を効果的に防ぐことができます。特定の方法には次のものが含まれます。1。フォームのCSRFトークンを生成および埋め込みます。 2.リクエストを処理するときにトークンの有効性を確認します。

See all articles