• Как получить доступ к экземпляру класса на php из любого места скрипта

    Техника синлетонов на php

    Программистам php, приходится мириться с тем, что переменная объявленная в любом месте скрипта, не видна ни в одной из функций или методов.

    Конечно, есть  ключевое слово global.Но вписывать туда  все используемые переменные очень проблематично, и захламляет код программы.

    Поясню на примере:

    Пусть есть класс db - обертка над стандартным mysql_query. И класс read_books, который может увеличивать количество просмотров определенной кники по его id.

    В большинстве случаев используют такую конструкцию:

    <?php 
    class read_books{
    	function __construct(){
    		$this->db =  new db();
    		$this->db->connect();
    	}
    	function f($id){
    		$this->db->query('update books set hits=hits+1 where id='.$id);
    	}
    }
    $rd = new read_books();
    $rd->f(122);