ホームページ  >  記事  >  バックエンド開発  >  PHP 開発者が半分の労力で 2 倍の結果を得る 10 のヒント_PHP チュートリアル

PHP 開発者が半分の労力で 2 倍の結果を得る 10 のヒント_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-20 11:07:22750ブラウズ

1. Web サイトのインデックス ページを正しく作成する方法 すべての Web サイトを作成するとき、最初に行うことの 1 つは、Web サイトのインデックス ページを作成することです。 PHP
初心者の場合、インデックス ページを作成するときの一般的なアプローチは、インデックス ページに必要なコンテンツのみをプログラムし、他のリンク用に別のページを作成することです。ただし、PHP プログラミングを実装するより効率的な方法を学びたい場合は、多くの Web サイトで使用されている「index.php?page=home」モードを使用できます。 2. Request Global Array を使用して
データを取得します 実際、値を取得するために $_GET 配列と $_POST 配列を使用する理由はありません。グローバル配列 $_REQUEST を使用すると、get または form リクエストを取得できます。したがって、ほとんどの場合、
データを解析するためのより効率的なコードは次のようになります: $action = isset($_REQUEST['action']) $_REQUEST['action'] : 0; 3. var_dump を使用して、 PHP コードのデバッグ PHP デバッグ
技術
を探しているなら、var_dump があなたが探しているものであると言わざるを得ません。このコマンドは、php 情報の表示に関するすべてのニーズを満たすことができます。コードのデバッグのほとんどのケースは、PHP での値の取得に関連しています。 4. PHP はコード ロジックを処理し、Smarty
はプレゼンテーション層を処理します。Smarty は、PHP で書かれた template
PHP テンプレート エンジンです。現在、業界で最も有名な PHP テンプレート エンジンの 1 つです。論理コードと外部コンテンツを分離し、元々 HTML コードと混在していた PHP コードを論理的に分離する、管理と使用が簡単な方法を提供します。簡単に言えば、その目的は、PHP プログラマーをフロントエンド スタッフから分離し、プログラマーがフロントエンド スタッフのページ デザインに影響を与えることなくプログラムの論理コンテンツを変更し、フロントエンド スタッフがページを再修正できるようにすることです。プログラムのプログラミング ロジックには影響しません。これは、複数人のコラボレーション プロジェクトで特に重要です。 5. 本当にグローバル値を使用する必要がある場合、Config ファイル
を作成してグローバル値を頻繁に作成するのは悪い習慣ですが、実際の状況ではこれが必要になる場合があります。 データベース チュートリアル
テーブルまたはデータベース接続情報にはグローバル値を使用することをお勧めしますが、PHP コードではグローバル値を頻繁に使用しないでください。あるいは、グローバル変数を config.php ファイルに保存する方が良い方法です。 6. 定義されていない場合はアクセス禁止です! ページを正しく作成した場合、index.php または home.php の外にあるindex.php ページに他の人がアクセスする理由はありません。 Index.phpにアクセスしたら、変数を取得することで必要なページを開くことができます。インデックス ページには次のようなコードが含まれている必要があります:
define('yourPage',1); 次に、他のページには次のコードが含まれている必要があります。目的は、他の PHP ページへの直接アクセスを防ぐことです。このようにして、index.php を経由せずに他の
ウェブページ
にアクセスしようとすると、「アクセスが拒否されました」というメッセージが表示されます。
7. データベース クラスを作成する データベース プログラミング (PHP では非常に一般的なタスク) を行っている場合は、データベース管理 機能
を処理するデータベース クラスを作成することをお勧めします。サンプルコードは次のとおりです:
public function dbExec($query) $result = $ , true); この 関数query ステートメントのみを受け取ります。 を実行します。発生する可能性のあるエラーも処理します。ここに監査コードを含めることもできますが、私は同様の監査関数を使用することを好みます: // 指定された引数が 0 以上の整数値であるかどうかをチェックします - 複数の引数があります 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 ("予期しない変数値", TRUE);}} 8. PHP ファイルは入力を処理し、class.php ファイルは特定の関数を処理します コードが混乱しないようにするための重要な方法: ユーザー入力を取得した後、指示されるように再定義します。ユーザー入力時に、それを他の関数に差し引いて処理します。原理は非常に単純で、php ファイルは必要な入力をすべて受け取り、その実行をクラス ファイル内の関数にリダイレクトします。たとえば、「index.php?page=profile&action=display」のような URL があるとします。 URL は profile.php によって取得され、アクションは「表示」です。次に、単純な switch 関数を使用して、実際の表示関数を実行します:
require_once PROJECTROOT.'libs/messages.class.php'; $message = new Message switch ($action) { case 'display': $ message- >display(); Break; $message は、クラス内の関数を呼び出すことによって使用される単なるオブジェクトです。
9.
SQL
ステートメントを理解し、常にサニタイズする 前に述べたように、PHP Web サイトの最も重要な部分は 99% の場合データベースです。したがって、SQL の正しい使用方法に精通している必要があります。関連テーブルやその他の高度な
テクニックを学びましょう。以下に MySQL を使用した関数の例を示し、この記事の関数 #7 を使用して確認します。 プライベート関数 getSentMessages($id) { $this->util->sanitizeInput($id); $pm_table = $GLOBALS['config']['privateMsg']; $users = $GLOBALS['config']; ['users']; $sql = "$pm_table PM、$users USR から PM.*, USR.username を name_sender として選択します。 WHERE id_sender = '$id' 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; ORDER BY date_sent DESC"; 順序。ここでの SQL の使用法に注意してください。エイリアスと関連テーブルの使用方法を理解する必要があります。 10. オブジェクトが 1 つだけ必要な場合は、シングルトン パターンを使用します。PHP の非常に一般的な状況では、オブジェクトを 1 回作成するだけで、それをプログラム全体で使用できます。この好例は、一度初期化されるとどこでも使用できるスマート変数です。この状況に適した実装は、シングルトン パターンです。サンプルコードは次のとおりです:
Function SmartyObject () {if ($ Globals ['Config'] ['Smartyobj'] == 0) {$ Smarty = New Smartygame () ] = $Smarty;} Else $smarty = $GLOBALS['config'][ 'SmartyObj']; return $smarty; 新しい Smarty オブジェクトを作成します。それ以外の場合は、オブジェクトがすでに作成されており、それを返すだけでよいことを意味します。


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/444959.html技術記事 1. Web サイトのインデックス ページを正しく作成する方法 Web サイトを作成するとき、最初に行うことの 1 つは、Web サイトのインデックス ページを作成することです。あなたが PHP の初心者で、これを書いているのであれば...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。