Классы должны работать вместе, чтобы достичь желаемого результата. Если вы ищете внедрение зависимости, в частности, или другие методы, они объясняются в большинстве публикаций ООП.
Но если, скажем, ваш класс Mysql предоставляет ряд функций, которые будут использоваться вашим пользовательским классом, вы можете внедрить экземпляр класса Mysql в ваш пользовательский класс при создании экземпляра:
class User {
private $db = null;
public function __construct($mysql) {
$this->db = $mysql
}
public function getUserName($userID){
$sql = "SQL_QUERY";
$result = $this->db->ExecuteQuery($sql);
}
}
Пожалуйста, убедитесь, что вы читаете CONS of Dependency Injection и понимаете, ПОЧЕМУ этот метод предпочтительнее других. Если вы хотите изменить класс Mysql на DBClass и не нарушать существующий код, вам придется реализовать те же методы. Конечно, это может стать более «сложным», поэтому может потребоваться тщательный дизайн (ваши классы могут расширять абстрактные классы или реализовывать интерфейсы) ....
Я предлагаю вам потратить некоторое время на литературу и изучить некоторые закономерности, чтобы получить общее представление ... этого достаточно, чтобы начать работу (на мой взгляд, хорошая отправная точка)