私は長い間 JavaScript を断続的に学習していましたが、その時の苦痛は薄れ、今は PHP を学習しています (本を読むのではなく、Web ページを読む + 練習する) が、PHP は特に使いにくいと感じています。 JavaScript も PHP も設計が悪い言語として評価されていたことを思い出し、この問題を考えてみました。
返信内容:
まず最初に宣言しておきます。私は PHP を 2 年間書いてきましたが、構文にはかなり慣れています (複雑すぎて覚えるのが難しいため)。私は PHP のシンプルさと人気を高く評価しており、PHP のさまざまなフレームワークが好きですが、PHP の構文はあまり好きではありません。=============
個人的には、js の構文とコア API を好みます。変数の名前付けにお金をかける必要はありません。 . 関数は最初のタイプで、API は覚えやすく、最も重要なのは仕様とゲーム ルールがあることです。
もちろん、js にも欠点はあります。コールバック地獄が少し悪い、イテレータの導入が少し遅い、クラス構文が十分に甘くない、などです。いくつかの点では PHP と同じくらい使いやすいですが、すべて問題ありません。すべてゆっくり修正できます。
==================================
PHP はstart :
変数名の制限により、PHP を見るとすぐにキーボードについて苦痛を感じます。
変数名は大文字と小文字を区別しませんか、それとも関数名は大文字と小文字を区別しませんか?
コア API の命名はさらに悪く、PHP を書いた 2 年間は PHP 本を持ち歩いていました。 手動では、最も一般的に使用される文字列処理方法でさえ、熟練のレベルに達することができません。アンダースコアの名前付けを使用するべきか、キャメルケースの名前付けを使用するべきか、それともすべて小文字の名前を使用すべきか、それとも手続き型 API を使用すべきか、それとも oop スタイルを使用すべきか、常に考えています。 API;
ラムダを導入する前は、PHP は単純な string.replace(regex, fn) でさえも苦労しましたが、その結果、文字列を使用して関数を作成していました。または、関数名を文字列に書き込んで渡すのは非常に面倒です。
新しく導入された匿名関数は、パフォーマンスと使用法が従来の名前付き関数とは大きく異なります。
スコープがありません。チェーン、不正なグローバル、面倒なクロージャーの使用、すべてが排泄物にパッチを当てようとしているようなもので、とても醜いです。
==================================
私はよく知っていますPHP の構文と API の見解では、そのような分厚いパッチを適用する代わりに、最初からやり直してはどうでしょうか?しかし、それでも PHP と呼べるのでしょうか? 。 JS と PHP にはどちらも設計上の間違いがたくさんあります。
違いは、JS の進化によって古い落とし穴が埋められ、新しい落とし穴がほとんどなくなったことです。 PHP はすべてのバージョンで落とし穴を埋めていますが、常に不完全であり、新たな落とし穴が発生します。
【補足】
元の設計を見ても、PHPよりもJSの方が確実に優れています。ブレンデン・アイヒ氏は設計と実装にわずか 10 日しかかかりませんでしたが、それでもラスムスよりもはるかに高かったです。ラスムス自身は、これはただの遊びのためであり、デザイン言語のためではまったくなかったと述べた。
言語の特徴について少しだけ。 JS にはクロージャがあり、大きな欠点がたくさんある場合でも、多くの優れたライブラリやフレームワークを作成するのに十分なサポートを提供します。 PHPはこれまでクロージャを追加してきましたが、使いにくいのと同じくらい役に立ちません。
【追加】
@鲁小夫がコメントで PHP の大文字と小文字の規則について不満を述べました。「php は Unix スタイルに従っています。つまり、変数は大文字と小文字が区別されますが、関数は大文字と小文字が区別されません。センシティブ。" "。この「UNIX スタイル」については聞いたことがありません。
PHP の大文字化ルールの起源については、私が書いたこの記事を参照してください: なぜ PHP の大文字化ルールは非常に不規則なのでしょうか? · 問題 #29 · hax/hax.github.com · GitHub あなたは言語の落とし穴を気にする必要があるほど進化しましたか?構文が違うだけじゃないの? PHP の元のバージョンはテンプレート言語でした。 。 。 おそらく、ニーズは時代によって異なります。PHP の本来の目的は、動的な Web ページを迅速に作成するための言語を作成することでした。PHP では、文字列を記述するのではなく、コードを HTML に初めて埋め込みました。 PHP の創設者は当時頭を悩ませたかもしれませんが、今日の人々が MVC を普及し、ビュー コードとロジック コードの分離に忙しくなるとは予想していませんでした。 PHP のコンセプトは当時、動的な Web ページを作成する技術として非常に成功していたので、すぐにヒットしました。 PHP 自体は動的な Web ページのために生まれたものであると同時に、多くの点で他の言語とは異なる可能性があるため、PHP はすべてのバージョンで主流の汎用言語に発展しようとしています。よく言えば「成長」ですが、悪く言えば「穴を埋める」と言えば聞こえはいいのですが。 1 つは個人ホーム ページ (最新の再帰的略語でも単に PHP: ハイパーテキスト プリプロセッサ です。
もう 1 つは Javaスクリプト です。
から)
JS がユニバーサル中間言語になった今でも、PHP は Web しか実行できません。
実際、Brendan Eich はそれを実装しています。 JS の最初のバージョンでは検討されていましたが、PHP については、バージョン番号のアップグレードとパッチ適用以外に何も検討されていませんでした。
もちろん、Hack/HHVM は後継です。 PHP コミュニティの顔を叩きましたが、プロモーションがなければ役に立ちません
さて、PHP を見ると、必要なものがすべて揃っており (ジェネリックや ADT も追加された)、ハイエンド プログラミングのように見えます。
JavaScript を見てみると、それは Andres Hejlsberg と Erich Gamma の手によって作られたものです。
車輪の再発明に関して言えば、PHP 6 や ECMAScript 4 について聞いたことはありませんか? これはjsがハッキングされた最悪の時期です 構文的に言えば、特に JSON の導入後は JavaScript が勝ちます。
C や Java に近いという観点から見ると、PHP の方がとっつきやすいです。
さまざまなライブラリを除けば、
JavaScript は非常に合理化されており、組み込みオブジェクトはわずかですが、ほとんどのプログラミング ニーズを満たすことができます。
PHP は、さまざまな組み込み関数や一貫性のない名前があり、肥大化しているように見えます。 PHP は世界で最高の言語です。 私は熱心な PHP ハッカーですが、あなたのハッキングには意味がありません。PHP を学んだ直後は使いにくいことをご存知ですか?使いにくい点を教えてください。
学習するときに先入観を持っていませんか? PHP の唯一の利点は、すぐに学習できることです (またハックしました)
言語は理解できないほど複雑ですか?

phpidentifiesauser'ssessionsingsinssessionCookiesIds.1)whensession_start()iscalled、phpgeneratesauniquesidstoredsored incoookienadphpsessidontheuser'sbrowser.2)thisidallowsphptortorieSessiondatadata fromthata

PHPセッションのセキュリティは、次の測定を通じて達成できます。1。session_regenerate_id()を使用して、ユーザーがログインまたは重要な操作である場合にセッションIDを再生します。 2. HTTPSプロトコルを介して送信セッションIDを暗号化します。 3。Session_Save_Path()を使用して、セッションデータを保存し、権限を正しく設定するためのSecure Directoryを指定します。

phpsessionFilesToredInthededirectoryspecifiedBysession.save_path、通常/tmponunix-likesystemsorc:\ windows \ temponwindows.tocustomizethis:1)uesession_save_path()tosetaCustomdirectory、ensuringit'swritadistradistradistradistradistra

toretrievedatafrompsession、Startthessession withsession_start()andAccessvariablesshe $ _SessionArray.forexample:1)Startthessession:session_start()

セッションを使用して効率的なショッピングカートシステムを構築する手順には、次のものがあります。1)セッションの定義と機能を理解します。セッションは、リクエスト全体でユーザーのステータスを維持するために使用されるサーバー側のストレージメカニズムです。 2)ショッピングカートに製品を追加するなど、基本的なセッション管理を実装します。 3)製品の量管理と削除をサポートし、高度な使用状況に拡大します。 4)セッションデータを持続し、安全なセッション識別子を使用することにより、パフォーマンスとセキュリティを最適化します。

この記事では、PHPでインターフェイスを作成、実装、および使用する方法について説明し、コード組織と保守性の利点に焦点を当てています。

この記事では、PHPのCrypt()とpassword_hash()の違いについて、パスワードハッシュの違いについて説明し、最新のWebアプリケーションの実装、セキュリティ、および適合性に焦点を当てています。

記事では、入力検証、出力エンコード、およびOWASP ESAPIやHTML浄化器などのツールを使用して、PHPのクロスサイトスクリプト(XSS)を防止します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ホットトピック









