ホームページ バックエンド開発 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)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

今まで知らなかったことを後悔している 7 つの PHP 関数 今まで知らなかったことを後悔している 7 つの PHP 関数 Nov 13, 2024 am 09:42 AM

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

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)パフォーマンスオーバーヘッドをもたらす可能性があります。

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。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

See all articles