Кодирую на рнр сравнительно недавно и неглубоко. Озадачился изучением ООП.
Суть вот в чем:
есть файл index.php - основная страница. в ней идет подключение файла functions.php - там подключается бд, и запрашивается список существующих модулей (из бд). после чего инклудами подключаются эти модули. И вот теперь вопрос: как мне из файла модуля обратиться например к БД, или к функции, которая была объявлена в классе в файле functions.php?
Я спинным мозгом чувствую, что без повторного инклуда файла functions.php не обойтись. Или есть в ООП такая возможность?
Иначе нафиг он вообще нужен, ооп этот... и без него прекрасно жилось.
Спустя 1 час, 32 минуты, 4 секунды (18.07.2012 - 07:47) vagrand написал(а):
Цитата |
functions.php - там подключается бд |
Надо сделать отдельный файл с отдельным классом, который будет реализовывать функционал подключения к БД и вопроленния запросов.
Для модулей надо создать родительский класс, в котором через конструктор передавать объект класса для работы с БД. Тогда во всех модулях ты сможешь воспользоватся этим объектом.
А вообще ты спрашиваеш элементарные вещи и видно что не читал нормальной документации по ООП в PHP.
Спустя 2 часа, 24 минуты, 17 секунд (18.07.2012 - 10:11) Quieteroks написал(а):
Цитата |
Я спинным мозгом чувствую, что без повторного инклуда файла functions.php не обойтись. |
Вообще если ты из index файла уже загрузил объект и сразу после этого подгружаешь модули, то в модулях, по идее, уже есть доступ к объектам и функциям файла function.
Пример:
Файл index
include function.php
Файл funnction
function tets() {
return 'test';
}
include modul.php
Файл любого модуля...
echo test();
Результат будет вывод сообщения из функции.
Ну или я не так понял вопрос.
Спустя 25 минут, 27 секунд (18.07.2012 - 10:36) nikolasline написал(а):
require_once("file_name.php"); //подключение файла
$class = new ClassName; //экземпляр класса
$class->function_name(); // вызов функции
Спустя 1 час, 3 минуты, 18 секунд (18.07.2012 - 11:40) Guest написал(а):
Вот сделал как сказал Quieteroks (а точнее убрал всякие вот эти class'ы, public'и и все заработало. Но ведь это процедурное программирование.
А и катись оно лесом, это ООП, не понимаю я его.
А и катись оно лесом, это ООП, не понимаю я его.
Спустя 1 час, 39 минут, 59 секунд (18.07.2012 - 13:20) DarkLynx написал(а):
Цитата (Guest @ 18.07.2012 - 08:40) |
Вот сделал как сказал Quieteroks (а точнее убрал всякие вот эти class'ы, public'и и все заработало. Но ведь это процедурное программирование. А и катись оно лесом, это ООП, не понимаю я его. |
Просто еще не дошли до этого.. Рано или поздно если будете заниматься, придете к мысли что нужно что то новое и тогда ООП откроет перед Вами свои врата..
Спустя 2 часа, 46 минут, 36 секунд (18.07.2012 - 16:06) kamanch написал(а):
DarkLynx
Ну ты прям, как миссионер в свою веру зазываешь Врата свои открывает, блин... а прощение грехов?
Ну ты прям, как миссионер в свою веру зазываешь Врата свои открывает, блин... а прощение грехов?
Спустя 3 часа, 6 минут, 16 секунд (18.07.2012 - 19:12) bodja написал(а):
Цитата |
Врата свои открывает, блин... а прощение грехов? |
Открывает врата с прощением грехов,как на крещении.
А если серьезно,если не понимает ,правильно делает ,что не пишет.
Поймет ,тогда станет все на свои места.