[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Статические классы?
Prodex
Реализацию глобальности можно сделать нескольки путями (пример класс Reguset):
1) Сделать класс полностью статическим
пример:
$var = Request::getVar();

2) Реализовать класс через петтерн Синглетон
пример:
$request = Request::getInstance();
$var = $request->getVar();

3) Сделать фрон-контроллер в системе и вызывать класc из него:
пример:
$var = Api::getRequest()->getVar();

какой способ вы используете в своих системах (CMF/CMS)? А какой получается шустрее?



Спустя 43 минуты, 51 секунда (17.08.2009 - 18:48) Crэker написал(а):
У вас класс Reguset превращается в Request.
Второй вариант

Спустя 15 минут, 52 секунды (17.08.2009 - 19:04) Guest написал(а):
Цитата (Crэker @ 17.08.2009 - 15:48)
У вас класс Reguset превращается в Request.
Второй вариант

опечатался,...

Спустя 2 минуты, 32 секунды (17.08.2009 - 19:06) Crэker написал(а):
Ничего страшного rolleyes.gif

Спустя 9 минут, 52 секунды (17.08.2009 - 19:16) Guest написал(а):
А если по делу, что скажете?

Спустя 13 минут, 56 секунд (17.08.2009 - 19:30) Crэker написал(а):
По делу посоветую использовать ООП из php5
Там это выглядит так:
class example
.......
static function test(){}
.......


а вне класса
example::test()

А у вас я выбрал второй вариант

Спустя 14 минут, 38 секунд (17.08.2009 - 19:44) Guest написал(а):
Цитата (Crэker @ 17.08.2009 - 16:30)
По делу посоветую использовать ООП из php5
Там это выглядит так:
class example
.......
static function test(){}
.......


а вне класса
example::test()

А у вас я выбрал второй вариант

А чем 3-ий вариант не угодил, любопытно?

PS: в третем создается экземпляр класса, что не мешает делать наследование. А что касается статических классов, то там с этим посложнее будет (это если сделать поля, т.к. там одно поле получается для всех потомков)

Спустя 8 минут, 6 секунд (17.08.2009 - 19:53) glock18 написал(а):
Я обычно использую смесь 2 и 3 способов.

что-то типа:
Base::App()->request->requestUrl
App что типа getInstance для объекта приложения.
А уже у этого объекта берутся компоненты вроде request и т.п.

Спустя 12 минут, 34 секунды (17.08.2009 - 20:05) Prodex написал(а):
Цитата (glock18 @ 17.08.2009 - 16:53)
Я обычно использую смесь 2 и 3 способов.

что-то типа:
Base::App()->request->requestUrl
App что типа getInstance для объекта приложения.
А уже у этого объекта берутся компоненты вроде request и т.п.

Ты случаем Yii Framework не смотрел, а то стиль как у них.

Еще меня прибило использовать в имен метода, который получает информацию, преставку get. Типа Api::app()->getRequset()

Спустя 10 минут, 40 секунд (17.08.2009 - 20:16) glock18 написал(а):
Цитата (Prodex @ 17.08.2009 - 17:05)
Ты случаем Yii Framework не смотрел, а то стиль как у них.

Да, я с ним работал около 2 месяцев.

Цитата (Prodex @ 17.08.2009 - 17:05)
Еще меня прибило использовать в имен метода, который получает информацию, преставку get. Типа Api::app()->getRequset()

Это дело вкуса. Я лично люблю использовать связку __get и __set. С ней правда не знаю как комментарии писать для IDE, чтобы она могла узнать что за объект возвращается/что за метод вызывается. А так больше не вижу минусов.

Спустя 9 минут, 24 секунды (17.08.2009 - 20:25) prodex написал(а):
может покажешь свои исходники. просто интересно как другие кодируют.

icq: 363-002-005
email: prodex_of@mail.ru
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.