シングルトンパターンは、説明に最適な例はロギングです。
他のパターンのPHPコードを後で作成して共有します。理解が深まると幸いです。 PHP のデザインパターンの概念。
コンテンツをクリップボードにコピー
<?php<br/>/*<br/>* 1.アプリケーションログのシングルトンパターン<br/>* 2. __autoload() が実行できるように、クラスファイル名を class.log.php<br/>* として記述することをお勧めします。クラスを自動的にロードします <br/>* 3.Author:NoAngels<br/>* 4.E-mail:flare_1023@163.com QQ:82535599<br/>*/<br/>final class log{<br/> #Constructor、ログ ファイルが存在しない場合は作成します。それ以外の場合は、後で使用するためにファイルを開きます F Private function __construct () {<br/> if (! $ This-& GT; __fopen ('Application.log', 'AB+')) {<br/> $ this- & gt; Create orログ ファイルの読み取りに失敗しました ' ;<br/> $this->__errorHandler();<br>変数を使用してシングルトン設計パターンを実装する U 静的関数 getInstance () {<br> if (seld :: $ __ instance == null) {<br> Self :: $ __ インスタンス = 新しいログ ミス処理メカニズム __errorHandler(){<br> use using using using out off out out out out of through ’ s to ’ s private __errorHandler’s ’ ’ d------ __fp , time()."|||".$temp."rn") === FALSE){<br> );<br>戻り値 = 1) {<br> $ Outarray = Array () <br> While (! Feof ($ This-& GT; __f)) {<br> $ line = fgets ($ This- & GT; __ FP) ! {t $ TMP = Explode ("|||", $ LINE, 2); <br> $ Outarray [] = $ tmp; <br>} <br> if ($default == 1) {<br> $ this- > __printLog($outArray); ($arr as $temp){<br> echo '記録時刻:'。 ('Y-m-d H:m:s' , $temp[0]).'<br/>理由:'.$temp[1].'<br/>';<br>attachedテストファイル
<br>
<br>コード:<br><br><?php<br>try{<br> if(!@mysqli_connect('localhost', 'root', '10d237776')){<br> throw new Exception('mysql connect failed!');
}} catch(Exception $e){ print 'y';log::getInstance()->gt;inLog($e->getMessage());
<br><br>
<br>
<br>
<br>
<br>
<br><br>