Форум → Программирование → PHP для идиотов → механизм наследования в ооп
механизм наследования в ооп
Страницы: ← Предыдущая страница →
-
Апрель 3, 2010, 11:42 п.п., спустя 10 минут 4 секунды
не нравятся слова - замени на другие. вопрос не как лучше а как сделать -
Апрель 3, 2010, 11:44 п.п., спустя 2 минуты 44 секунды
soulgarden, что в твоем понимании "ядро" ?
зачем его надо наследовать ?
лично я это вижу так, у приложения есть базовый класс, назовем его Application.
он статичен.
он умеет подгружать обьекты.
у него есть статик метод run(), который запускает наше приложение.
лично я вижу "ядро" таким.
но, "ядро" это может быть полноценный модуль в котором есть абстрактные классы для наших моделей, контроллеров, блоков. А так же класы типа Session. Url, Cache, Date, …… etcСпустя 97 сек.так что ты поподробнее обьясни, чем является твое "ядро", и что ты от него хочешь -
Апрель 3, 2010, 11:45 п.п., спустя 1 минуту 4 секунды
soulgarden,
1. Это не вам лично было адресовано, простите если вы подумали что вам
2. Не важно какие там слова, я вообще о таких беседахhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
Апрель 4, 2010, 12:03 д.п., спустя 17 минут 16 секунд
soulgarden, что в твоем понимании "ядро" ?
зачем его надо наследовать ?
лично я это вижу так, у приложения есть базовый класс, назовем его Application.
он статичен.
он умеет подгружать обьекты.
у него есть статик метод run(), который запускает наше приложение.
лично я вижу "ядро" таким.
но, "ядро" это может быть полноценный модуль в котором есть абстрактные классы для наших моделей, контроллеров, блоков. А так же класы типа Session. Url, Cache, Date, …… etcСпустя 97 сек.так что ты поподробнее обьясни, чем является твое "ядро", и что ты от него хочешь
тут дело не в ядре, аппликухе и вообще не в фреймворке, это просто пример, видно неудачный. другой пример, base_controller и пользовательский контроллер его наследующий. разработчик оперирует пользовательским контроллером страницы. чтоб не нужно было подгружать разные либы, они инстанцированв в base_coontroller'е
вопрос в том, как их инстанцировать их, чтоб не вызывать из пользовательского контроллера конструктор контроллера baze_c…r
и чтобы если какой-то другой контроллер приложения тоже отнаследовал baze_с..er, то тот не снова инстанцировал все те нужные либы а взял уже их из себя, истанцированных ранее.Спустя 100 сек.
soulgarden,
1. Это не вам лично было адресовано, простите если вы подумали что вам
2. Не важно какие там слова, я вообще о таких беседах
ну дык я говорю что беседа о другом, фреймворк взять только для примера -
Апрель 4, 2010, 12:23 д.п., спустя 20 минут 22 секунды
блин, ну так в чем проблема то ?
создал какойто базовый контроллер, наследуйся от него и просто не перекрывай конструктор.<?php
class Controller_Abstract
{
public function __construct($request, $response)
{
$this->_request = $request;
$this->_response = $response;
NRG::app()->getFrontController()->setAction($this);
$this->_construct();
}
protected function _construct()
{
return $this;
}
}
class Module_Controller extends Controller_Abstract
{
}Спустя 226 сек.если надо чтобы "нужные либы" создались лишь раз, то сделай их синглтонами -
Апрель 4, 2010, 8:24 д.п., спустя 8 часов 46 секунд
Мне кажется, soulgarden, тебе не хватает практики чтобы всё сложилось в цельную картинку.ιιlllιlllι унц-унц -
Апрель 4, 2010, 1:16 п.п., спустя 4 часа 52 минуты 37 секунд
лично я это вижу так, у приложения есть базовый класс, назовем его Application.
он статичен.
он умеет подгружать обьекты.
у него есть статик метод run(), который запускает наше приложение.
лично я вижу "ядро" таким.
но, "ядро" это может быть полноценный модуль в котором есть абстрактные классы для наших моделей, контроллеров, блоков. А так же класы типа Session. Url, Cache, Date, …… etcСпустя 97 сек.так что ты поподробнее обьясни, чем является твое "ядро", и что ты от него хочешь
ахуеть, я так в BL сделал. Значит я наверно на правильном путиclass BLM_MyModule implements BL_ModuleInterface
{
protected $request;
public function __construct(BL_Application $app) // implementation
{
$this->request = $app->getRequest();
// $app->getResponse();
}
public function process() // implementation
{
if ($this->request->isActiveForm('comments') {
// проверяем форму, сохраняем ее
} else {
// показываем форму
}
}
}
Страницы: ← Предыдущая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!