Нужно как-то использовать метод класса в методе другого класса

danneo

Честный
Регистрация
13 Ноя 2007
Сообщения
1.527
Реакции
121
Есть два класса: работа с БД (class my_db) и различные функции (class myClass).
Хочу сделать запросы к БД, но не хочу писать кучу кода по подключению и т.п. Проще $db->query и т.д.
Знаю только через объявление переменной из глобального массива:
public function myMethod(){
global $db;
//тут делаем различные операции, типа $db->query
}
Есть еще способы использовать методы из класса my_db, чтобы не было лишних проблем с нагрузкой и безопасностью?
 
Тема интересная.
Но потихоньку пришёл к выводу.
global $db
И вызываем всё что нужно, не парим мозг себе и тем кто будет потом это видеть.
$db->то_что_нужно()
Подстраиваться надо под всех, а не подстраивать всех под себя
 
Если я правильно тебя понял, то тебе пора познакомится с шаблонами проектирования :)
Для просмотра ссылки Войди или Зарегистрируйся

И еще, наверное, и с autoload Для просмотра ссылки Войди или Зарегистрируйся
Это я как-то раньше изучал, наследования классов и т.п. Я это дело хочу сделать в DLE, где нет единого класса. Да и наследовать класс для работы с БД, как-то не хочется, ради одного метода.
 
autoload (Для просмотра ссылки Войди или Зарегистрируйся)
наше всё
Кидаешь в определенную папку(папки) все классы - пишешь в начале index.php свою функцию __autoload.
В любом месте скрипта, когда напишешь класс - функция подгрузит твой класс.

<?php
function __autoload($class_name) {
include $class_name . '.php';
}

$obj = new MyClass1();
$obj2 = new MyClass2();
?>
 
Вообще советую почитать про стандарты PSR(а именно Для просмотра ссылки Войди или Зарегистрируйся и Для просмотра ссылки Войди или Зарегистрируйся)
Реализацию класса можно посмотреть тут - Для просмотра ссылки Войди или Зарегистрируйся

Вообще я последнее время предпочитаю использовать autoload от composer (Для просмотра ссылки Войди или Зарегистрируйся). Он поддерживает как PSR-0, так и PSR-4(последнии версии).
 
Назад
Сверху