Почитайте о инкапсуляции. И совет - не делайте внутри классов exit или инициализацию подключения к базе. Ленивая инициализация намного удобнее.
class OCIConnect
{
private $link = null;
public function __construct($user, $pass, $host) {
// fixme: это не стоит делать в конструкторе, лучше использовать ленивую инициализацию.
$this->link = oci_connect($user, $pass, $dbHost);
if (!$this->connect) {
$m = oci_error();
throw new Exception(sprintf('Connection error: %s', $m['message']));
}
}
public function exec($sql)
{
// exec sql
}
}
class Agent
{
/**
* @var $connection
**/
private $connection;
function __construct(OCIConnect $connection)
{
$this->connection = $connection;
}
public static function getData($sql,$bind = null) {
// do something
$this->connection->exec($sql);
}
}