PHP はあなたが思っているよりもはるかに優れています
機能紹介: Linux 愛好家向けの Linux 技術記事、ニュース情報、コミュニケーション プラットフォームを提供します。厳選された最新の Linux 情報と技術記事を毎日配信します。Linux コマンド クエリ、Linux 情報検索、WeChat グループ コミュニケーションをサポートします。
PHP については、多くの賢明な人々からも多くの苦情が寄せられています。 Jeff Atwood が PHP について別の苦情を書いた後、私は PHP の良い面について考えました。
これらの苦情の最大の問題は、古いバージョンの PHP をまだ使用している多くの人々からの苦情であることです。彼らは、PHP が言語レベルとコミュニティ レベルの両方で急速に進化していることを気にしたくない、または認めたくないのかもしれません。実際、他のどの言語や Web プラットフォームよりも速く進化しています。いつもそうだったわけではありませんが、PHP は過去 5 年間にわたって素晴らしい歩みを続けてきました。
PHP コミュニティの最近の驚くべき成果について話す前に、いくつかの興味深い数字を見てみましょう。PHP は、サーバーサイド プログラミング言語が知られている Web サイトの 77.9% で使用されています。 WordPress は世界中の Web サイトの 16.6% で使用されています。使用率が最も高い 3 つの CMS ウェブサイト構築システムは、WordPress のシェアが 54.3%、Joomla のシェアが 9.2%、Drupal のシェアが 6.8% です。 3 つの製品はすべて PHP で書かれています。
PHP は何か正しいことをしているはずですよね?
さて、PHP のユニークなスキルは、何年にもわたって変化してきたにもかかわらず、依然として技術者以外の人にとって最も簡単に学習できる言語であるということです。PHP を使用すると、動的な Web サイトを他のテクノロジーよりも速く構築できます。 、手間をかけずにウェブサイトをホストすることもできます。 PHP は世界で最も優れた設計言語ではないかもしれませんが、物事を成し遂げることができることに疑いの余地はありません。
PHP 言語
PHP5.0 (2004 年リリース) は、非常に実用的なオブジェクト モデルをもたらしました...待て、私が話しているのは 8 年前にリリースされたもののことです。 PHP の最新バージョンである PHP 5.4 は、現代の Web 言語で夢見ることしかできなかった機能を提供します。はい、PHP はネームスペースをサポートします。はい、PHP はクロージャをサポートします。はい、PHP はトレイトをサポートします。
少し時間はかかりますが、PHP5.4 は全体的なエクスペリエンスを以前よりも向上させるためにいくつかの構文を導入しています。はい、PHP は配列の定義に [ ] の使用をサポートしています。はい、PHP は次のような関数を呼び出す新しく作成されたオブジェクトをサポートしています (新しい Foo ())->bar(); はい、PHP は $foo->bar()[1] のような要素を取得するための配列をサポートしています。
PHP は自らの間違いからも学びました: register_globals と magic_quotes は完全に削除されました。
PHP にはローカル テストを容易にする Web サーバーが組み込まれており、マイクロ秒で開始できます。
次の課題: PHP を説明するインターネット上のチュートリアルをどのように更新できるでしょうか? PHP プログラムで WebSocket をサポートする最適なテクノロジは何ですか?
PHP エコシステム
良い言語を持つことは良いことですが、良いエコシステムを持つことはさらに良いことです。 PHP エコシステムはここ数年で大きく進化しました。
Git
Git についてはあまり話したくありません。Git はあらゆるところで使用されており、PHP はすぐに Git を採用しました。 PHP 自体を含め、ほぼすべての PHP ライブラリ、フレームワーク、製品は Git を使用します。
作曲家
2 年前、私は symfony 1 でハッキングした醜い PEAR コードを削除して、プラグインを使用したいと考えていました。 PEAR のようなモノリシック インストールではなく、プロジェクトの依存関係を管理できるものに置き換えたかったので、ソフトウェアの依存関係を管理するための最適なアルゴリズムを見つけようとしました。 Perl から Ruby、Debian から Redhat まで、可能な限りすべてのことを試してきました。どの結果も私を満足させませんでした。たまたま私自身の解決策がうまくいっただけです...もちろん、これは単なる私の経験です。そこでZYppに出会って、それで終わりでした。 ZYpp は、ブール充足可能性問題解決を使用して依存関係を管理します。 Nils Adermann と Jordi Boggiano の熱心な努力のおかげで、PHP には依存関係を管理する優れたツール Composer が組み込まれました。
はい、PHP には他の言語よりも優れた依存関係管理ツールがあります。
Git、Composer、および PHP 組み込み Web サーバーのおかげで、PHP プロジェクトのダウンロード/テスト/インストールが簡単になりました。
Symfony (PHP5.4 を使用) をテストしたいですか?
$composer.phar create-project symfony/framework-standard-edition
$ cd フレームワーク-標準版
$ ./app/console サーバー:run
Silex をテストしてみませんか?
$composer.phar create-project fabpot/silex-skeleton
$ cd サイレックススケルトン
$ php -S localhost:8888 -t web/
Composer をまだ知りませんか?それについては知っておくべきです。
メインの Composer リポジトリ Packagist を参照すると、すでに 1900 を超えるパッケージがあり、3 か月以内に何百万回もインストールされています。
次の課題: 次の PHP バージョンには Composer が組み込まれますか?
協力
コミュニティの協力がこの記事の焦点であり、私が最も誇りに思っていることです。 PHP プロジェクトでは、他のプロジェクトを無視できるほど大きなプロジェクトであっても、コラボレーションが改善され始めています。
phpBB、Drupal、ez Publish、Symfony、および他の多くのプロジェクト (phpDocumentor、PHPUnit、Behat、Zikula、Propel、Doctrine、Midgard など) がコードを共有しています。確かに、彼らはお互いに競争相手ですが、お互いに協力することが重要であることを理解しています。 Composer は、この種のコラボレーションを非常にうまく促進します。
次の課題は、より多くのプロジェクトにこのトレンドに参加するよう説得することです。
結論
繰り返しますが、PHP は最高のプログラミング言語ではないかもしれません。その癖については私が最初に言いますが、PHP は断然最高の Web プラットフォームです。

セッション関連のXSS攻撃からアプリケーションを保護するには、次の測定が必要です。1。セッションCookieを保護するためにHTTPonlyとセキュアフラグを設定します。 2。すべてのユーザー入力のエクスポートコード。 3.コンテンツセキュリティポリシー(CSP)を実装して、スクリプトソースを制限します。これらのポリシーを通じて、セッション関連のXSS攻撃を効果的に保護し、ユーザーデータを確保できます。

PHPセッションのパフォーマンスを最適化する方法は次のとおりです。1。遅延セッション開始、2。データベースを使用してセッションを保存します。これらの戦略は、高い並行性環境でのアプリケーションの効率を大幅に改善できます。

thesession.gc_maxlifettinginttinginphpdethinesthelifsessessiondata、setinseconds.1)it'sconfiguredinphp.iniorviaini_set()。 2)AbalanceSneededToAvoidPerformanceIssues andunexpectedLogouts.3)php'sgarbagecollectionisisprobabilistic、影響を受けたBygc_probabi

PHPでは、session_name()関数を使用してセッション名を構成できます。特定の手順は次のとおりです。1。session_name()関数を使用して、session_name( "my_session")などのセッション名を設定します。 2。セッション名を設定した後、session_start()を呼び出してセッションを開始します。セッション名の構成は、複数のアプリケーション間のセッションデータの競合を回避し、セキュリティを強化することができますが、セッション名の一意性、セキュリティ、長さ、設定タイミングに注意してください。

セッションIDは、機密操作の前、30分ごとにログイン時に定期的に再生する必要があります。 1.セッション固定攻撃を防ぐためにログインするときにセッションIDを再生します。 2。安全性を向上させるために、敏感な操作の前に再生します。 3.定期的な再生は長期的な利用リスクを減らしますが、ユーザーエクスペリエンスの重量を量る必要があります。

PHPのセッションCookieパラメーターの設定は、session_set_cookie_params()関数を通じて達成できます。 1)この関数を使用して、有効期限、パス、ドメイン名、セキュリティフラグなどのパラメーターを設定します。 2)session_start()を呼び出して、パラメーターを有効にします。 3)ユーザーログインステータスなど、ニーズに応じてパラメーターを動的に調整します。 4)セキュリティを改善するために、セキュアとhttponlyフラグを設定することに注意してください。

PHPでセッションを使用する主な目的は、異なるページ間でユーザーのステータスを維持することです。 1)セッションはsession_start()関数を介して開始され、一意のセッションIDを作成し、ユーザーCookieに保存します。 2)セッションデータはサーバーに保存され、ログインステータスやショッピングカートのコンテンツなど、さまざまなリクエスト間でデータを渡すことができます。

サブドメイン間でセッションを共有する方法は?一般的なドメイン名にセッションCookieを設定することにより実装されます。 1.セッションCookieのドメインをサーバー側の.example.comに設定します。 2。メモリ、データベース、分散キャッシュなど、適切なセッションストレージ方法を選択します。 3. Cookieを介してセッションIDを渡すと、サーバーはIDに基づいてセッションデータを取得および更新します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

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

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

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