Java は PHP よりも安定性、安全性、保守性が高いと言われていますが、それは Sun が提供する一連の技術サポートのためでしょうか? Alibaba が PHP を使用するとどうなるでしょうか? Java ではなく?コマースプラットフォームのパートタイム。私は以前、学校で Java について少し知っただけでした。 PHP は良いと思いますが、なぜ PHP が Java ほど安全で安定していないのか、本当に理解できません。
返信内容:
これは完全に人によります。 。 。Java はその特性上、初心者が書くのにそれほど複雑ではないと言う人たちを笑うしかありません。君たちはルーキーの力を過小評価しすぎている。 そうですね、私にはそれについて話す資格があるようです、、
1. コーディング仕様
PHP では関数名、メソッド名、大文字と小文字が区別されません。とクラス名。
これにより、ウィンドウ システムを Unix 系システムに移行するなど、運用環境で問題が発生しやすくなります。
コーディング仕様に関しては、SUN は優れたスタイルと、使用されるさまざまな Jar パッケージの仕様を提供しています。
新人が注意している限り、悪いコードを書くことはできません。
PHP は以前は手続き型プログラミングとして人気があったため、若干の問題点があります。
独立系開発者にはそれぞれ独自のスタイルがあると思いますが、DISCUZ や DECMS などが多くの人を失望させていると思います。
二次開発の名前は恣意的ですが、これは本当に恣意的です。
もちろん、PHP は OOP もサポートするようになり、さまざまなフレームワークの命名スタイルによって、コーダーのスタイルもある程度制限されます。
もちろん、下手なことを書くのは簡単です。
さらに、PHP は単純ですが、型付けが弱く、コードの品質は JAVA よりも高く、プログラマーへの要求も高くなります。
@Cweili が言ったように、「セキュリティと安定性を確保するには開発者のレベルが必要です」。
結論としては、JAVA は、保守や読み取りに便利な、より優れた統一コーディング標準を簡単に開発できるということです。
初心者でも標準化されたコードを書くことができます。
2. 変数と強い型付け
強く型付けされた言語では、変数間の変換が面倒になり、定義、初期化、変換が面倒になります。
JAVA では、コード ブロックの大部分は変数の定義、初期化、変換であり、臭くて長いです。
初期化を忘れると、プログラムは簡単に NULL ポインタ エラーを報告します。
PHP はこの分野では非常に優れており、変数はどこでも使用できます。 PHP の可変変数機能と組み合わせます。
JAVA は同じルート関数を実装するには面倒すぎます。これは私が強く型付けされた言語について常に批判してきたことです。
PHP は、多くの面倒な定義、初期化、型変換を節約でき、コード構造が軽く、ビジネス ロジックに集中できます。
JAVA の強力な型指定は、コーディング中のコードの厳密さと信頼性も決定します。これは PHP よりも優れています。
PHP の可変変数はリファクタリングを妨げる可能性があるため、IDE にとってあまりフレンドリーではなく、デバッグ時に気が狂いそうになります。
JAVA は再構築が簡単ですが、構造が大きく、開発ペースが遅いため、デバッグが非常に便利です。
高いデータ セキュリティ要件を必要とする企業には PHP を使用することはお勧めできません。
3. 例外とビジネスの整合性
PHP のライフサイクル (PHP のライフサイクル ) の設計により、JAVA を使用しない例外処理関数の使用が広く決まります。
私が接した DISCUZ、DECMS、ECSHOP などのシステムは、例外処理が非常に弱いです。
try{}catch{} は、実行中に例外が発生するとプログラムがクラッシュする可能性があるため、例外の処理に使用されることはほとんどありません。
これは、高いビジネス要件を持つシステムにとっては良いことではありません。
実行中の例外が原因でプログラムがクラッシュすることは誰も望んでいません。ビジネスのロールバックについてはどうでしょうか。
@ShiFeng 氏は次のように述べています。「js や php など、簡単な言語を使って始めるのは難しいと思います。」
私の個人的な意見には限界があるので、私を知っている友達はコメントしてください!
追記:
大規模な Web サイトでは、なぜフロントエンド ロジックで PHP を使用し、バックエンド ロジックで Java を使用するのでしょうか? - Java
PHP と Java の主な違いは何ですか? - プログラミング言語 言語の選択によってコードが安定しているか保守可能であるかは決まりません。どちらも主にコード自体に依存します。
Java や PHP を使用して一般的な Web バックエンド プログラムを開発する場合、セキュリティは、言語自体が安全であるかどうかではなく、入力チェックが常に行われるか、XSS 防止が行われるかなど、コード自体が安全かどうかによって決まります。安全。
金融関連のビジネスは特殊な場合があり、これは通常、安全性への配慮によるものですが、より重要なのは正確性と効率性です。 PHP にはゴミプログラマが多すぎます。ある日、私が PHPER 用の PHP SDK を生成したのですが、彼らはそのファイルを含めず、私のインターフェースに問題があるため調整できないと主張しました。残念ながら、どうやって解決したのかわかりません。それ。 。 。 。 。 。 PHP は依然として優れた言語です。 投稿者の推測は間違っていると思います

アリババ システムの規模と歴史を考慮すると、多くのテクノロジーの選択は技術レベルで完全に決定できないため、参照対象としては適切ではありません。
たとえば、私の記憶が正しければ、タオバオは当初、PHP フレームワークに基づいて迅速に開発されました。その後、少し規模が大きくなったときに技術コンサルタントとしてSunが採用され、会社は自然とJava EEに切り替わりました。歴史的な理由から、Velocity テンプレートを使用して作成された Taobao ページが数多くあります。それが当時最高であったかどうかを判断するのは困難です (何年も経ってからそれが優れているかどうかを判断するのはさらに困難です)。一言で説明するのは難しいです。淘宝網の技術進化の背後にある物語に興味がある場合は、@子六著「過去 10 年間の淘宝網技術」 を読むことができます。
「なぜ PHP は Java ほど安定していないのか」という一般的な質問に関しては、このトピックは依然としてさまざまな言語/フレームワークの信者に残されています (エスケープ) 低レベルの PHP プログラマが多数存在するためです。
彼らは本当にひどいコードを書くことができます。
Java には多くのルールがあり、下手に書くのは簡単ではありません。 Java は産業グレードのプログラミング言語であるという評価を読んだことを覚えています。個人的にはそれが理にかなっていると思います。ユーザーのレベルに関係なく、Java で開発されたプログラムはそれほど悪くありません。
js や php など、入門用の簡単な言語を使用するのはより難しいと感じます。多くのカプセル化を行うということは、より多くの原則を隠すことを意味し、その原則を理解していなければ、より良い成果を上げることはできません。

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

PHPでは、特性は方法が必要な状況に適していますが、継承には適していません。 1)特性により、クラスの多重化方法が複数の継承の複雑さを回避できます。 2)特性を使用する場合、メソッドの競合に注意を払う必要があります。メソッドの競合は、代替およびキーワードとして解決できます。 3)パフォーマンスを最適化し、コードメンテナビリティを改善するために、特性の過剰使用を避け、その単一の責任を維持する必要があります。

依存関係噴射コンテナ(DIC)は、PHPプロジェクトで使用するオブジェクト依存関係を管理および提供するツールです。 DICの主な利点には、次のものが含まれます。1。デカップリング、コンポーネントの独立したもの、およびコードの保守とテストが簡単です。 2。柔軟性、依存関係を交換または変更しやすい。 3.テスト可能性、単体テストのために模擬オブジェクトを注入するのに便利です。

SplfixedArrayは、PHPの固定サイズの配列であり、高性能と低いメモリの使用が必要なシナリオに適しています。 1)動的調整によって引き起こされるオーバーヘッドを回避するために、作成時にサイズを指定する必要があります。 2)C言語アレイに基づいて、メモリと高速アクセス速度を直接動作させます。 3)大規模なデータ処理とメモリに敏感な環境に適していますが、サイズが固定されているため、注意して使用する必要があります。

PHPは、$ \ _ファイル変数を介してファイルのアップロードを処理します。セキュリティを確保するための方法には次のものが含まれます。1。アップロードエラー、2。ファイルの種類とサイズを確認する、3。ファイル上書きを防ぐ、4。ファイルを永続的なストレージの場所に移動します。

JavaScriptでは、nullcoalescingoperator(??)およびnullcoalescingsignmentoperator(?? =)を使用できます。 1.??最初の非潜水金または非未定されたオペランドを返します。 2.??これらの演算子は、コードロジックを簡素化し、読みやすさとパフォーマンスを向上させます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

Dreamweaver Mac版
ビジュアル Web 開発ツール

メモ帳++7.3.1
使いやすく無料のコードエディター
