Patrón Singleton en PHP
Les dejo un ejemplo del patrón singleton aplicado en php. Es bien útil para manejar las conexiones a la base de datos.
Saludos ...<span style="color: #000000;"><span style="color: #000099;"><?php <span style="color: #ff0000;"><span style="color: #0000bb;"> 2. </span><span style="color: #007700;">class </span><span style="color: #0000bb;">DB </span><span style="color: #007700;">{ </span><span style="color: #0000bb;">3. </span><span style="color: #007700;">private static </span><span style="color: #0000bb;">$_singleton</span><span style="color: #007700;">;</span><span style="color: #0000bb;"> 4. </span><span style="color: #007700;">private </span><span style="color: #0000bb;">$_connection</span><span style="color: #007700;">; </span><span style="color: #0000bb;">5. </span><span style="color: #007700;">private function </span><span style="color: #0000bb;">__construct</span><span style="color: #007700;">()</span><span style="color: #0000bb;"> 6. </span><span style="color: #007700;">{ </span><span style="color: #0000bb;">7. $this</span><span style="color: #007700;">-></span><span style="color: #0000bb;">_connection </span><span style="color: #007700;">= </span><span style="color: #0000bb;">mysql_connect</span><span style="color: #007700;">();</span><span style="color: #0000bb;"> 8. </span><span style="color: #007700;">} </span><span style="color: #0000bb;">9. </span><span style="color: #007700;">public static function </span><span style="color: #0000bb;">getInstance</span><span style="color: #007700;">() </span><span style="color: #0000bb;">10. </span><span style="color: #007700;">{ </span><span style="color: #0000bb;">11. </span><span style="color: #007700;">if (</span><span style="color: #0000bb;">is_null </span><span style="color: #007700;">(</span><span style="color: #0000bb;">self</span><span style="color: #007700;">::</span><span style="color: #0000bb;">$_singleton</span><span style="color: #007700;">)) { </span><span style="color: #0000bb;">12. self</span><span style="color: #007700;">::</span><span style="color: #0000bb;">$_singleton </span><span style="color: #007700;">= new </span><span style="color: #0000bb;">DB</span><span style="color: #007700;">();</span><span style="color: #0000bb;"> 13. </span><span style="color: #007700;">}</span><span style="color: #0000bb;"> 14. </span><span style="color: #007700;">return </span><span style="color: #0000bb;">self</span><span style="color: #007700;">::</span><span style="color: #0000bb;">$_singleton</span><span style="color: #007700;">; </span><span style="color: #0000bb;">15. </span><span style="color: #007700;">} </span><span style="color: #0000bb;">16. </span><span style="color: #007700;">} </span><span style="color: #0000bb;">17. $db </span><span style="color: #007700;">= </span><span style="color: #0000bb;">DB</span><span style="color: #007700;">::</span><span style="color: #0000bb;">getInstance</span><span style="color: #007700;">();</span><span style="color: #0000bb;"> 18. 19. ?></span></span></span></span>

Enviar un comentario nuevo