
Программистам 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);