ホームページ バックエンド開発 PHPチュートリアル 10人のトップマスターがPHP開発を指導_PHPチュートリアル

10人のトップマスターがPHP開発を指導_PHPチュートリアル

Jul 20, 2016 am 10:57 AM
php web 世界 存在する 開発する 流れ できる 言語

Web 開発の世界では、PHP は最も人気のある言語の 1 つです。PHP からは、必要なスクリプトを簡単に見つけることができます。残念ながら、「ベスト プラクティス」を使用して PHP プログラムを作成する人はほとんどいません。ここでは、PHP の 10 のベスト プラクティスを紹介します。もちろん、それらはそれぞれマスターによって証明されています。

1. 適切なタイミングで PHP を使用する - Rasmus Lerdorf

PHP の作成者である Rasmus Lerdorf ほど PHP が合理的であることを理解している人はいません。彼は 1995 年に PHP 言語をリリースしました。それ以来、PHP は草原の火は開発キャンプ全体を焼き尽くし、インターネットの世界を変えました。ただし、Rasmus はこのような理由で PHP を作成したわけではありません。 PHP は、Web 開発者の実際的な問題を解決するために生まれました。

多くのオープンソース プロジェクトと同様に、PHP は人気が高まっていますが、その人気の動機は通常の哲学では説明できず、あまりにも人気があるため、ある種自画自賛的ですらあります。これは、Web のさまざまな問題を解決するためのツールの必要性によって引き起こされたケースとして使用できます。したがって、PHP が最初に登場したとき、そのようなツールのニーズはすべて PHP に集中していました。

ただし、PHP ですべての問題を解決できると期待することはできません。 Lerdorf 氏は、PHP は単なるツールであり、PHP がその能力を超えている状況は数多くあることを初めて認めました。

作業に応じて適切なツールを選択してください。私は多くの企業を訪問して PHP を導入して使用するよう説得してきましたが、これは PHP があらゆる問題に適しているという意味ではありません。これは、ほとんどの問題を解決できる単なるフロントエンド スクリプト言語です。

Web 開発者として、PHP を使用してすべての問題を解決しようとするのは非科学的であり、時間を無駄にします。 PHP が動作しない場合は、ためらわずに他の言語を試してください。

2. スケーラビリティを向上させるためにマルチテーブル ストレージを使用する - Matt Mullenweg

PHP における Matt Mullenweg の権威に疑問を抱く人はいません (強力なコミュニティの力のサポートに依存して) 彼は地球上で最も人気のあるブログ システムを開発しました。 : WordPress WordPress を作成した後、Matt と彼のチームは WordPress MU に基づく無料のブログ サイトである WordPress.com プラットフォームを立ち上げました。現在、WordPress.com には約 400 万人のユーザーがおり、毎日 140,000 件以上の投稿を投稿しています。

ウェブサイトを簡単にスケールアップする方法を知っている人がいるとすれば、それは Matt Mullenweg です。 2006 年、Matt は WordPress のデータ構造に将来を見据えた改善を加え、WordPress MU がすべてのブログ データを 1 つの巨大なテーブルに詰め込むのではなく、ブログごとに独立した MYSQL テーブルを使用する理由を説明しました。

この方法をテストしましたが、スケーラビリティを拡張するにはコストがかかりすぎることがわかりました。全体的なデータ構造を使用すると、大量のトラフィックに直面してサーバー ハードウェアの問題に直面することになります。 MU内。ユーザーは個別のテーブルに分散されており、簡単に整理できます。たとえば、WordPress.com はユーザー データを 4,096 のデータベースに保存しており、これらのデータベースは大規模なデータ アクセスを分散し、トラフィックや圧力を分散することができます。

データ テーブルの移植性により、コード (ブログ) の実行が高速になり、システムのスケーラビリティが向上します。 Matt は、強力なキャッシュ戦略と柔軟なデータベース利用戦略を利用して、最も人気のある Facebook と WordPress.com が PHP で安定して動作し、驚くべき量のトラフィックを処理できることを人々に示しました。

3. ユーザーを決して信用しない - Dave Child

Dave Child は、優れた「多くのプログラミング言語のチートシート」で有名な、Added Bytes (以前の ilovejackdaniels.com) ウェブサイトの中心人物です。 Dave は英国の多くの企業に勤務しており、プログラミング界の権威としての地位を確立しています。

Dave は、PHP 開発者向けに、「PHP で安全なコードを書く」にまとめられた思慮深いアドバイスをたくさん提供しています。ユーザーを決して信頼しないでください。ユーザーはあなたを傷つけることさえあります。

何度繰り返しても足りないほどの Web 開発の基本原則があります。それは、決してユーザーを信頼せず、Web サイト上のすべてのデータ単位がユーザーから収集された悪意のあるコードであると想定しないことです。多くの場合、クライアント上のフォームによって送信されたコンテンツを検証するには JavaScript を使用する必要があります。これに慣れている場合は、これが良い習慣になります。セキュリティが重要である場合、これは学ぶべき最も重要な原則です。

デイブは現在、著書「Writing Secure PHP」シリーズの例を整理することに取り組んでいます。本の最後に、次のように述べています。

最後に、少し偏執的になってください。自分のサイトが決して攻撃されることはないと考えている場合を除き、問題に正面から向き合ってください。実際に攻撃されたら、悪い状況に陥ることになるからです。すべてのユーザーをサイトに攻撃と防御をもたらすハッカーと見なし、サイトのセキュリティを保護するためにあらゆる手段を講じ、同時に対応する問題の解決策を考える必要があります。

4. PHP キャッシュをもっと使用する - Ben Balbo

Ben Balbo は、開発者やデザイナーにガイダンスを提供する Web サイトである Site Point を開発しています。彼は Melbourne PHP Development and Open Source Club のメンバーであるため、PHP について一定の理解があり、PHP キャッシュに関して一定のアイデアと経験を持っています。

アクセス数は多いが頻繁に更新されていないサイト (ある種の CMS をベースにしたブログなど) の場合は、いくつかの変更が必要になる可能性があります。これらの変更にはそれほど時間はかかりませんが、かなりの時間がかかります。パフォーマンス。 複雑で更新が速いサイトにキャッシュ メカニズムを確立したい場合、そのプロセスは複雑になる可能性がありますが、利点は明らかです。

PHP キャッシュ テクノロジは数多くありますが、Ben は次のテクノロジを推奨しました:

  • 関数の実行結果をキャッシュする
  • 有効期限を設定する
  • IE でダウンロードしたファイルをキャッシュする
  • テンプレート キャッシュ テクノロジ
  • Cache_Lite

PHP のおかげで動的言語の機能として、キャッシュ メカニズムは頻繁に更新されないサイトにとって非常に重要です。

5. IDE、テンプレート、スニペットを使用して PHP 開発を加速する - Chad Kieffer

Chad Kieffer は、UI デザインとデータベースの最適化に取り組んでいないときは、ブログ 2 大さじの経験で多くのテクニックを共有します。チャドは多くの面で包括的な開発を行っているため、他のプログラマーが見つけられない問題を頻繁に見つけて、関連する経験、特に Web サイト開発方法を形成することができます。彼はウェブサイト開発のあらゆる側面に携わっているため、彼のアドバイスはウェブサイト開発の全体像を改善するのに非常に役立ちます。

Chad は、Eclipse PDT (Eclipse の PHP 開発パッケージ) などの IDE を使用し、いくつかのテンプレート テクノロジとオープン ソース プロジェクトを使用することで、PHP の開発速度を効果的に向上できると考えています。

コンパクトな計画、長い To Do リストと期限により、開発者は非常にイライラします。ただし、Eclipse テンプレートなどの一部の機能を使用すると、コーディング時間とエラーの可能性を効果的に削減できます。

一般的に、どのプロジェクトでも自動化の度合いが高くなるほど、プロジェクトの完了にかかる時間は短くなります。頻繁に使用されるフレームワークやテンプレートの開発に時間をかけておけば、後でさらに時間を節約できます。同時に、Eclipse や PDT パッケージなどの IDE を使用すると、IDE が自動的に終了し、セミコロンを入力してローカルでデバッグできるため、効率が大幅に向上することがわかります。

6. PHP フィルター関数を上手に活用する - Joey Sochacki

Joey Sochacki は Matt Mullenweg ほど有名ではないかもしれませんが、経験豊富な開発者でもあり、ブログ Devolio を通じて多くの技術的経験を共有しています

Joey は、PHP コードを作成するときにフィルタリングが必要な場所がたくさんあるにもかかわらず、PHP の組み込みフィルタリング機能に注意を払うプログラマーは多くないことに気付きました。

データのフィルタリングは頻繁に必要になることですが、機能豊富な PHP 組み込みフィルタリング関数の多くは知られていません。 filter_* などの PHP 組み込み関数を使用すると、データ型検証/URL/電子メールおよび IP アドレス検証/特殊文字処理などを含む、ほぼすべてのフィルタリング タスクを処理できます。

フィルタリングは複雑なものですが、joey の発見はあなたに多くのインスピレーションを与え、PHP の強力なフィルタリング機能を認識させることになると思います。

7. PHP フレームワークを使用する - Josh Sharp

Zend、CakePHP、Code Igniter またはその他の PHP フレームワークを使用するかどうかについては多くの論争がありますが、Web 開発者の心の中にはそれぞれ独自の考慮事項があります。 。 標準。

Josh Sharp 自身もパンとバターのサービスを提供する Web サイトを作成したため、PHP フレームワークを使用して Web サイトを開発した経験があります。彼は、プロジェクト開発に PHP フレームワークを使用すると、効果的に時間を節約し、エラーの可能性を減らすことができると信じています。なぜかというと、彼は PHP が本当に使いやすいと考えているからです。

PHP の使いやすさには時々欠陥があります。その構文が緩いため、多くの誤ったコードが作成されることが多いためです。ただし、PHP フレームワークを使用すると、エラーの可能性が大幅に減少します。

PHP フレームワークを使用すると、コード構造がより標準化され、時間を大幅に節約できます。

8. PHP フレームワークを使用しない - Rasmus Lerdorf

Josh の見解に反して、PHP の創始者である Rasmus Lerdorf は、PHP フレームワークを使用しないのが最善であると考えています。フレームワークに基づいた方がパフォーマンスが向上します。 Drupalcon 2008 での講演で、Rasmus 氏は「Hello World」の例を使用して、あるフレームワーク PHP と単純な PHP のパフォーマンスを比較しました。その結果、フレームワーク PHP のパフォーマンスが大幅に遅れていることがわかりました。

9. バッチ処理の使用 - Jack D. Herrington

Jack Herrington は PHP の世界に精通しており、有名な IBM DeveloperWorks に 30 以上の記事を寄稿しており、「PHP Hacks」という本も出版しています。彼は本当の専門家です。

Herrington は、バックグラウンドで実行できるプログラム スクリプトをバッチ処理と Cron を使用して置き換えることを推奨しています。Web ユーザーはオンラインでの処理を待ちたがらないため、一部のものはバックグラウンドで処理する方が適しています。

確かに、これは場合によっては少しやりすぎですが、Cron、MySQL、PHP オブジェクト指向メソッド、Pear::DB などの便利なツールを使用してバッチ処理ツールを作成することは、同じ複雑なものではないことが明らかです。案件。

Jack は、cron、PHP、MySQL を使用してバックグラウンドで一部のタスクを処理する方が、マルチプロセスのビジネス ロジックよりもはるかにコスト効率が高いと考えています。

両方の方法を試してみましたが、Cron は「Keep It Simple, Stupid」(KISS) の原則に非常に一致しており、バックグラウンド処理が簡単になります。マルチプロセスのビジネスロジックと比較して、メモリオーバーフローのリスクがありません。単純なバッチ スクリプトを作成し、cron で実行できます。このスクリプトは、処理する必要のあるタスクがあるかどうかを定期的にチェックし、処理後に自動的に終了するため、プロセスが停止しているかどうかを心配する必要はありません。無限ループにはまってしまいました。

10. タイムリーなエラー報告を有効にする - David Cummings

David Cummings は CMS ソフトウェア サービスの提供を専門とする会社を経営しており、PHP 開発で非常に豊富な経験を持っています。 David はかつて「最初に学んでいればよかった 2 つの PHP ヒント」を書きました。そのうちの 1 つは、時間内のエラー報告を有効にすることで、時間を大幅に節約できるというものでした。

最も重要なことは PHP のエラー報告を最大限に有効にすることだと私は人々に言いますが、なぜでしょうか? PHP は多くの小さな問題を隠すことができるからです:

  • 変数が事前定義されていない
  • コード スニペットでの使用できない変数の参照

未定義定数の使用 オブジェクト指向のアプローチを使用してクラス ライブラリを作成していない限り、これらの要素は大した問題ではないように思えるかもしれません。多くの場合、エラー報告をオフにすると、コードの保守コストが高くなる可能性があります。

エラー レポートはコードの問題を簡単に見つけるのに役立ちます。エラー レポートのレベルが十分に高い場合は、微妙なエラーをすぐに発見できるため、全体的なデバッグ時間を節約できます。

上記の内容の紹介を通じて、PHP 開発について新たな理解をしていただければ幸いです。


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/445765.html技術記事 Web 開発の世界では、PHP は最も人気のある言語の 1 つですが、PHP から必要なスクリプトを簡単に見つけることができます。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

session_start()が複数回呼び出されるとどうなりますか? session_start()が複数回呼び出されるとどうなりますか? Apr 25, 2025 am 12:06 AM

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

session_start()関数の重要性は何ですか? session_start()関数の重要性は何ですか? May 03, 2025 am 12:18 AM

session_start()iscrucialinphpformangingusersions.1)itInitiateSanewsessionifnoneExists、2)resumesanexistingsession、および3)SetSessionCookieforcontinuityAcrossRequests、ApplicationslicationSliviseSlikeUserauthicationAnticatent。

作曲家:AIを介したPHP開発の援助 作曲家:AIを介したPHP開発の援助 Apr 29, 2025 am 12:27 AM

AIは、作曲家の使用を最適化するのに役立ちます。特定の方法には次のものが含まれます。1。依存関係管理の最適化:AIは依存関係を分析し、最適なバージョンの組み合わせを推奨し、競合を減らします。 2。自動コード生成:AIは、ベストプラクティスに準拠したComposer.jsonファイルを生成します。 3.コードの品質を改善する:AIは潜在的な問題を検出し、最適化の提案を提供し、コードの品質を向上させます。これらの方法は、開発者が効率とコードの品質を向上させるのに役立つ機械学習および自然言語処理技術を通じて実装されています。

データ処理と計算にMySQL関数を使用する方法 データ処理と計算にMySQL関数を使用する方法 Apr 29, 2025 pm 04:21 PM

MySQL関数は、データ処理と計算に使用できます。 1.基本的な使用には、文字列処理、日付計算、数学操作が含まれます。 2。高度な使用法には、複数の関数を組み合わせて複雑な操作を実装することが含まれます。 3.パフォーマンスの最適化では、Where句での機能の使用を回避し、GroupByおよび一時テーブルを使用する必要があります。

H5:HTML5の重要な改善 H5:HTML5の重要な改善 Apr 28, 2025 am 12:26 AM

HTML5は5つの重要な改善をもたらします。1。セマンティックタグにより、コードの明確性とSEO効果が向上します。 2.マルチメディアサポートは、ビデオとオーディオの埋め込みを簡素化します。 3。フォームエンハンスメントは、検証を簡素化します。 4.オフラインおよびローカルストレージにより、ユーザーエクスペリエンスが向上します。 5。キャンバスとグラフィック機能は、Webページの視覚化を強化します。

作曲家:PHP開発者のパッケージマネージャー 作曲家:PHP開発者のパッケージマネージャー May 02, 2025 am 12:23 AM

Composerは、PHPの依存関係管理ツールであり、Composer.jsonファイルを介してプロジェクトの依存関係を管理しています。 1)依存関係情報を取得するためのComposer.jsonを解析する。 2)依存関係を解析して、依存性ツリーを形成します。 3)PackagistからVendorディレクトリへの依存関係をダウンロードしてインストールします。 4)Composer.Lockファイルを生成して、依存関係バージョンをロックして、チームの一貫性とプロジェクトの保守性を確保します。

cでタイプの特性を使用する方法は? cでタイプの特性を使用する方法は? Apr 28, 2025 pm 08:18 PM

Typetraitsは、Cでコンパイル時間タイプのチェックと操作に使用され、コードの柔軟性とタイプの安全性が向上します。 1)タイプの判断は、STD :: iS_integralおよびstd :: is_floating_pointを介して実行され、効率的なタイプチェックと出力を達成します。 2)std :: is_triviely_copyableを使用して、ベクトルコピーを最適化し、タイプに従って異なるコピー戦略を選択します。 3)コンパイル時間の意思決定、タイプの安全性、パフォーマンスの最適化、コードの複雑さに注意してください。タイプトライトの合理的な使用は、コードの品質を大幅に改善できます。

mysqlの文字セットと照合ルールを構成する方法 mysqlの文字セットと照合ルールを構成する方法 Apr 29, 2025 pm 04:06 PM

MySQLで文字セットと照合を構成する方法は次のとおりです。1。サーバーレベルでの文字セットとコレクションの設定:setNames'utf8 '; setCharacterSetutf8; setCollat​​ion_connection = 'utf8_general_ci'; 2。特定の文字セットと照合を使用するデータベースを作成します:createdatabaseexample_dbcharactersetutf8collat​​eutf8_general_ci; 3.テーブルを作成するときに文字セットとコレクションを指定:createTableExample_table(idint

See all articles