ホームページ バックエンド開発 PHPチュートリアル PHP 開発者の生産性を向上させる 10 の方法

PHP 開発者の生産性を向上させる 10 の方法

Mar 19, 2018 pm 03:08 PM

開発作業において、PHP言語の「やり方」をマスターすると、使いやすくなり、開発効率が大幅に向上します。したがって、この記事では、PHP 開発スキルのトップ 10 を紹介します。お役に立てれば幸いです。

1. Web サイトのインデックス ページを正しく作成する方法

Web サイトを作成するとき、最初に行うことの 1 つは、Web サイトのインデックス ページを作成することです。 PHP を初めて使用する場合、インデックス ページを作成するときの一般的なアプローチは、インデックス ページに必要なコンテンツのみをプログラムし、他のリンク用に別のページを作成することです。ただし、PHP プログラミングを実装するより効率的な方法を学びたい場合は、多くの Web サイトで使用されている「index.php?page=home」モードを使用できます。

2. Request Global Array を使用してデータをキャプチャします

実際、値をキャプチャするために $_GET 配列と $_POST 配列を使用する理由はありません。グローバル配列 $_REQUEST を使用すると、get または form リクエストを取得できます。したがって、ほとんどの場合、データを解析するためのより効率的なコードは次のようになります。 '

] : 0;
  1. 3. PHP コードのデバッグには var_dump を使用します PHP デバッグ テクノロジを探している場合は、var_dump が目的であると言わざるを得ません。このコマンドは、php 情報の表示に関するすべてのニーズを満たすことができます。コードのデバッグのほとんどのケースは、PHP での値の取得に関連しています。 4. PHP はコードロジックを処理し、Smarty はプレゼンテーション層を処理します

    Smarty は、PHP で書かれたテンプレート PHP テンプレート エンジンであり、現在業界で最も有名な PHP テンプレート エンジンの 1 つです。論理コードと外部コンテンツを分離し、元々 HTML コードと混在していた PHP コード ロジックを分離する、管理と使用が簡単な方法を提供します。簡単に言うと、その目的は、PHP プログラマーをフロントエンド担当者から分離し、プログラマーがフロントエンド担当者のページ設計に影響を与えることなくプログラムの論理コンテンツを変更し、フロントエンド担当者が影響を与えずにページを再変更できるようにすることです。プログラムのプログラム ロジック これは、複数人の共同作業を伴うプロジェクトでは特に重要です。

5. 本当にグローバル値を使用する必要がある場合は、構成ファイルを作成します

グローバル値を頻繁に作成するのは悪い習慣ですが、実際の状況ではこれが必要になる場合があります。データベース テーブルまたはデータベース接続情報にはグローバル値を使用することをお勧めしますが、PHP コードではグローバル値を頻繁に使用しないでください。あるいは、グローバル変数を config.php ファイルに保存する方が良い方法です。

6. 定義されていない場合はアクセス禁止です!

ページを正しく作成した場合、index.php または home.php 以外の人物がindex.php ページにアクセスする理由はありません。 Index.phpにアクセスしたら、変数を取得することで必要なページを開くことができます。インデックス ページには次のようなコードが含まれている必要があります:

define('yourPage'

,1);

次に、他のページには次のコードが含まれている必要があります:

    if
  1. (! yourPage'

    )) die(

    'アクセスが拒否されました'
  2. );

    これの目的は、他の PHP ページへの直接アクセスを防ぐことです。このようにして、index.php を経由せずに他の Web ページにアクセスしようとすると、「アクセスが拒否されました」というメッセージが表示されます。
  1. 7. データベース クラスを作成する データベース プログラミング (PHP では非常に一般的なタスク) を行っている場合は、データベース管理機能を処理するデータベース クラスを作成することをお勧めします。サンプルコードは以下の通りです。

           public function dbExec($query)    
     {    
         $result = $this->db->exec($query);    
         if (PEAR::isError($result))    
             errorRedirect($result->getMessage(), true);    
         else
             return $result;    
     }
    ログイン後にコピー
    この関数はクエリ文を受け取って実行するだけです。発生する可能性のあるエラーも処理します。ここに監査コードを含めることもできますが、私は同様の監査関数を使用することを好みます:
    // checks if arguments given are integer values not less than 0 - has multiple arguments   
     function sanitizeInput()    
     {    
         $numargs = func_num_args();    
         $arg_list = func_get_args();    
         for ($i = 0; $i < $numargs; $i++) {    
             if (!is_numeric($arg_list[$i]) || $arg_list[$i] < 0)    
                 errorRedirect("Unexpected variable value", true);    
        }    
     }
    ログイン後にコピー

    8. 入力を処理するための 1 つの php ファイルと、特定の関数を処理するための 1 つの class.php ファイル

コードが乱雑になっている 重要な方法は、ユーザー入力を取得した後、それを他の関数にリダイレクトして処理することです。原理は非常に単純で、php ファイルは必要な入力をすべて受け取り、その実行をクラス ファイル内の関数にリダイレクトします。たとえば、「index.php?page=profile&action=display」のような URL があるとします。 URL は profile.php によって取得され、アクションは「表示」です。次に、単純なスイッチ関数を使用して、実際の表示関数を実行します。

 require_once PROJECTROOT.&#39;libs/messages.class.php&#39;;     
    $message = new Message();     
switch ($action)   
{   
    case &#39;display&#39;:   
       $message->display();   
       break;     
...
ログイン後にコピー

上に示したように、メッセージ クラスを使用して、スイッチ チェックを開始します。 $message は、クラス内の関数を呼び出すことによって使用される単なるオブジェクトです。

9. SQL ステートメントを理解し、常にサニタイズしてください

正如我以前所提到的,任何php网站中最重要的部分有99%的可能是数据库。因此,你需要非常熟悉如何正确的使用sql。学会关联表和更多高级技术。下面我将展示一个使用MySQL的函数示例,并使用本文第7条函数进行审查。

private function getSentMessages($id)    
 {    
$this->util->sanitizeInput($id);    
    $pm_table = $GLOBALS[&#39;config&#39;][&#39;privateMsg&#39;];    
 $users = $GLOBALS[&#39;config&#39;][&#39;users&#39;];    
     $sql = "SELECT PM.*, USR.username as name_sender FROM $pm_table PM, $users USR    
         WHERE id_sender = &#39;$id&#39; AND sender_purge = FALSE AND USR.id = PM.id_receiver AND is_read = TRUE    
         ORDER BY date_sent DESC";    
 $result = $this->dbQueryAll($sql);    
    return $result;    
 }
ログイン後にコピー

首先,我们对用户输入进行检查(通过一个GET变量传递消息id),然后我们执行我们的SQL命令。注意这儿SQL的用法。你需要了解如何使用别名和关联表。

10、当你只需要一个对象时,使用单例模式

在PHP中相当常见的一种情形时,我们只需要创建一个对象一次,然后在我们的整个程序中使用它。一个很好的例子就是smarty变量,一旦被初始化后就可以在任何地方使用。这种情形的一个很好实现方案就是单例模式。示例代码如下:

function smartyObject()    
 {    
     if ($GLOBALS[&#39;config&#39;][&#39;SmartyObj&#39;] == 0)    
    {    
         $smarty = new SmartyGame();    
         $GLOBALS[&#39;config&#39;][&#39;SmartyObj&#39;] = $smarty;    
    }    
     else
         $smarty = $GLOBALS[&#39;config&#39;][&#39;SmartyObj&#39;];    
     return $smarty;    
 }
ログイン後にコピー

注意,我们拥有一个全局smarty变量(该示例中它在config.php中被初始化),如果它的值为0,我们将创建一个新smarty对象。否则,它意味着该对象已经被创建,我们只需要返回它。

以上がPHP 開発者の生産性を向上させる 10 の方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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 にアップグレードする方法について説明します。

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 は、

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

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

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

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プログラム 母音を文字列にカウントする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