<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # tp5 單例模式 ## 單例模式 ### 需要三個條件 1. 擁有一個構造函數 并且為private 2. 擁有一個靜態成員變量用來保持類的實例 3. 擁有一個訪問這個實例的靜態方法 ### 為了簡化操作 在extend目錄下面建立一個Single.php ``` <pre class="calibre13">``` <span class="token"><</span><span class="token">?</span>php <span class="token2">class</span> <span class="token3">Single</span> <span class="token1">{</span> <span class="token6">/** 單例模式 * @var 單例模式需要三個條件 * 1. 擁有一個構造函數 并且為private * 2. 擁有一個靜態成員變量來保持類的實例 * 3. 擁有一個訪問這個實例的靜態方法 */</span> <span class="token6">// 條件二: 擁有一個靜態成員變量來保持類的實例</span> <span class="token2">static</span> <span class="token2">public</span> $instance <span class="token">=</span> <span class="token2">null</span><span class="token1">;</span> <span class="token6">// 條件一:擁有一個構造函數 并且為private 為了防止外部調用new來創建對象</span> <span class="token2">private</span> <span class="token2">function</span> <span class="token3">__construct</span><span class="token1">(</span><span class="token1">)</span><span class="token1">{</span> echo <span class="token4">'new -class<br>'</span><span class="token1">;</span> <span class="token1">}</span> <span class="token6">// 條件三:擁有一個訪問這個實例的靜態方法</span> <span class="token2">public</span> <span class="token2">static</span> <span class="token2">function</span> <span class="token3">getInstance</span><span class="token1">(</span><span class="token1">)</span><span class="token1">{</span> <span class="token2">if</span> <span class="token1">(</span><span class="token">!</span>self<span class="token1">:</span><span class="token1">:</span>$instance<span class="token1">)</span><span class="token1">{</span> self<span class="token1">:</span><span class="token1">:</span>$instance <span class="token">=</span> <span class="token2">new</span> <span class="token3">self</span><span class="token1">(</span><span class="token1">)</span><span class="token1">;</span> <span class="token1">}</span> <span class="token2">return</span> self<span class="token1">:</span><span class="token1">:</span>$instance<span class="token1">;</span> <span class="token1">}</span> <span class="token2">public</span> <span class="token2">function</span> <span class="token3">getAbc</span><span class="token1">(</span><span class="token1">)</span><span class="token1">{</span> <span class="token2">return</span> <span class="token4">'abc'</span><span class="token1">;</span> <span class="token1">}</span> <span class="token1">}</span> ``` ``` 在首頁進行調用 ``` <pre class="calibre14">``` <span class="token"><</span><span class="token">?</span>php namespace app\index\controller<span class="token1">;</span> use Single<span class="token1">;</span> <span class="token2">class</span> <span class="token3">Index</span> <span class="token1">{</span> <span class="token2">public</span> <span class="token2">function</span> <span class="token3">index</span><span class="token1">(</span><span class="token1">)</span> <span class="token1">{</span> <span class="token6">// 寫法一</span> <span class="token6">// $a = \Single::getInstance()->getAbc();</span> <span class="token6">// \Single::getInstance()->getAbc();</span> <span class="token6">// \Single::getInstance()->getAbc();</span> <span class="token6">// \Single::getInstance()->getAbc();</span> <span class="token6">// \Single::getInstance()->getAbc();</span> <span class="token6">// 寫法二 因為是把類下載了extend目錄 所以可以在上部 使用use single;</span> $a <span class="token">=</span> Single<span class="token1">:</span><span class="token1">:</span><span class="token3">getInstance</span><span class="token1">(</span><span class="token1">)</span><span class="token">-</span><span class="token">></span><span class="token3">getAbc</span><span class="token1">(</span><span class="token1">)</span><span class="token1">;</span> echo $a<span class="token1">;</span> <span class="token1">}</span> <span class="token6">/**瀏覽器輸出 new-class abc * * 只返回了一次 new-class 意思就是不管調用了幾次 其實只調用了一次new class */</span> <span class="token1">}</span> ``` ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看