新機能を備えたPHP5の例外処理機構_PHPチュートリアル
php(現在の主流の開発言語として)以前のエラー処理
php(現在の主流の開発言語として)
5では、以前はプログラムのエラーを処理するために次の3つの方法が使用されていました:
1.スクリプトレベルの警告または致命的なエラーを生成するには、trigger_error() または die() 関数を使用します。クラス メソッドまたは関数でエラー フラグ (false など) を返すか、後で確認できるプロパティまたはグローバル変数 ($error など) を設定し、適切な場所でその値を確認してから、実行を続行するかどうかを決定します。プログラム (if ($error==1){} など);
3. PEAR を使用してエラーを処理します;
(1) die() またはtrigger_error() を使用します
die() 関数を使用すると、プログラムを終了します。以下は、ディレクトリからクラス ファイルをロードしようとする単純なクラスです。
コードリストindex.php
(現在の主流の開発言語として) ?>
(現在の主流の開発言語として) // php
(現在の主流の開発言語として) ) 主流の開発言語) 4 require_once(cmd_php
(現在の主流の開発言語として)4/Command.php(現在の主流の開発言語として)); class CommandManager {
var $cmdDir = "cmd_php
(現在の主流の開発言語として)4";
function getCommandObject($cmd) {
$path = "{$this->cmdDir}/{$cmd}.php
(現在の主流の開発言語として) "; if (!file_exists($path)) {
die("$path が見つかりません
");
}
require_once $path;
if (!class_exists($cmd)) {
die("クラス $cmd が存在しません");
}
$ret = new $cmd();
if (!is_a($ret, Command)) {
die("$cmd is not a Command");
}
return $ret;
}
}
?>
これはphp
(現在の主流として)開発言語)「コマンド パターン設計パターン」を実装する簡単な例 (「Java とパターン」を参照) このクラスを使用するプログラマ (クライアント コード作成者) は、(たとえば) cmd_php ディレクトリにクラスを配置できます。 (現在の主流の開発言語として)4 ディレクトリ) ファイルに含まれるクラスと同じ名前が付けられ、このクラスが Command クラスのサブクラスになると、クラス メソッドは使用可能な Command オブジェクトを生成します。 () メソッドは、見つかったコマンドを実行するクラスに定義されています。つまり、getCommandObject() メソッドによって返されたオブジェクトが、execute() を実行します。
親クラスの Command クラスをもう一度見てみましょう。 cmd_php
(現在の主流の開発言語として)4/Command.php(現在の主流の開発言語として)ファイル
コードリスト cmd_php
(現在の主流の開発言語として)4/Command。 php (現在の主流の開発言語として) ?>
(現在の主流の開発言語として) // php
(現在の主流の開発言語として) 4 class Command {
functionexecute() {
die("Command::execute() は抽象メソッドです");
}
}
?>
ご覧のとおり、Command は (現在主流の開発言語として) php
です 4、直接インスタンス化することはできませんが、まずそこからサブクラスを派生させてからインスタンス化する必要があります (現在の主流の開発言語として) php5 を使用する場合は、より良い方法を使用できます。abstract キーワードを使用します。クラスとメソッドを「抽象」として宣言するには: コードリスト?>
(現在の主流の開発言語として)
/ / php (現在の主流の開発言語として)
5 抽象クラス コマンド { abstract function use();
}
?>
以下は、上記の抽象クラスの実装で、execute()メソッドをオーバーライドし、実際に実行可能な内容を追加したものです。このクラスは realcommand という名前で、cmd_php
(現在の主流の開発言語として)
4/realcommand.php (現在の主流の開発言語として) ファイルにあります。
コードリスト cmd_php(現在の主流の開発言語として)4/realcommand.php(現在の主流の開発言語として) ?>
(現在の主流の開発言語として) ) 主流の開発言語)
// php(現在の主流の開発言語として) 4
require_once Command.php(現在の主流の開発言語として);
class realcommand extends Command {
functionexecute() {
print "realcommand::execute() は注文どおりに実行されています、ああ!
";
}
}
?>
このような構造を使用すると、コードを非常に柔軟にすることができます。周囲のフレームワークを変更することなく、いつでも新しい Command クラスを追加できます。しかし、いくつかの潜在的な要因に注意を払う必要があります。スクリプトの実行を中止するには、クラス ファイルが存在すること、そのクラスがファイル内に存在すること、およびそのクラスが Command のサブクラスであること (例では、realcommand と同様) を確認する必要があります。クラスが失敗すると、スクリプトの実行は終了します。これはコードのセキュリティを反映しています。ただし、このコードは柔軟性が不十分であり、クラス メソッドは肯定的な操作しか実行できません。 Command オブジェクトは、スクリプト実行のより広い範囲でエラーを処理することはできません (もちろん、エラーを処理する必要はありません。周囲のコードを使用してクラス メソッドに接続を追加しすぎると、これを再利用できなくなります)。クラスの入手が難しくなり、拡張も難しくなります)
http://www.bkjia.com/PHPjc/509137.html

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

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