この元のコードを論理的に理解するにはどうすればよいでしょうか?

WBOY
リリース: 2016-06-13 12:17:05
オリジナル
842 人が閲覧しました

この元のコードを論理的に理解する方法

この投稿は 2015-03-27 22:59:53 に shopnc1 によって最終的に編集されました ロジックについて簡単に話しましょう もちろん、私はまだ理解していません。詳細は、おそらく私の意図を表現するためだと思います。
これは、MVC パターンである変数をスローするクラスです。 私が理解したいのは、次のコードが論理的にどのように対話するのかです。テンプレートに変数を追加するという目的を達成するために相互に連携します。最初に変数をスローする
には、 という重要なメソッド があり、ここで getlnstance( ) メソッドは次のとおりです。
<br />class Tpl{<br />	/**<br />	 * 抛出变量<br />	 *<br />	 * @param mixed $output<br />	 * @param  void<br />	 */<br />	public static function output($output,$input=''){<br />		self::getInstance();<br />		<br />		self::$output_value[$output] = $input;<br />	}
ログイン後にコピー


<br />class Tpl{<br />	/**<br />	 * 实例化<br />	 *<br />	 * @return obj<br />	 */<br />	public static function getInstance(){<br />		if (self::$instance === null || !(self::$instance instanceof Tpl)){<br />			self::$instance = new Tpl();<br />		}<br />		return self::$instance;<br />	}
ログイン後にコピー
それでは、ここで質問です。
出力メソッドの self::getInstance(); は何ですか。ここで理解するのが難しいのは、$instance です。そうであれば、意味は何ですか?
class Tpl{<br />	/**<br />	 * 单件对象<br />	 */<br />	private static $instance = null;
ログイン後にコピー
私の理解では (もちろん正しくないかもしれませんが)、出力には 2 つの文が含まれています。メソッドは 2 つの可能性を示しているようです。そうであれば、なぜ if 判断する必要はありません。2 つの可能性があるからです。

別の質問があります
self::$output_value[$output] = $ input; なぜ self を追加するのでしょうか? これは単に配列を代入するだけではないでしょうか?
------- 解決策のアイデア------------------
このテンプレート レンダリング クラスの実装には問題があります。詳しく調べる必要はありません。 public static function Output($output,$input=''){

self::getInstance();

このステートメントは、すべての静的メソッドを持つクラスには必要ありません。 self::$output_value[$output] = $input; }

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!