|
sum ↓
|
 |
|
01 Июль, 2010, 08:45:31
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 0
Сообщений: 25 Сила слова: 0
|
Собственно сабж, тема отличная от фреймворков, есть у кого примеры?
|
|
|
|
|
Записан
|
select * from life
|
|
|
|
sum ↓
|
 |
|
01 Июль, 2010, 09:33:35 , спустя 48 минут 4 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 0
Сообщений: 25 Сила слова: 0
|
сделаю задел:
для php4 реализация паттерна сингелтон:
имеем обычный класс
class a{
var $a;
function a(){
$this->a = 'value';
}
function getA{
return $this->a;
}
}
для того чтобы не описывать переменную для объекта данного класса в теле программы вообще. Когда необходимо - достаточно вызвать a::getInstance() и мы получим нужый нам объект. Причем объект будет один и тот же - обратите внимание на модификатор static в описании метода.
$a = & a::getInstance();
class a {
var $a;
function a (){
$this-> a = 'value';
}
function getA {
return $this-> a;
}
// функция
function &getInstance (){
static $instance;
if (! isset($instance)) {
$cl = __CLASS__;
$instance = new $cl();
} // if
return $instance;
}
}
для php5 можно переписать и не юзать &, а то я его постоянно забываю )
|
|
|
|
|
Записан
|
select * from life
|
|
|
|
artoodetoo ↓
|
 |
|
01 Июль, 2010, 09:36:56 , спустя 3 минуты 21 секунду
|
НЕ ХУЕТА!
ХУЕТА!
|
с особым цинизмом
Группа: в ухо Карма: 124
Сообщений: 3805 Сила слова: 3.26
|
а для чего этот синглтон?
я бы посоветовал начать MVC с описания вызовов, а не реализации. условно. от точки входа, до представления.
|
|
|
|
|
Записан
|
|
|
|
|
Givi ↓
|
 |
|
01 Июль, 2010, 09:53:20 , спустя 16 минут 24 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Адекваты Карма: 42
Сообщений: 2305 Сила слова: 1.82
|
sum, ну коли так, то для 5 пыхи и __CLASS__ юзать не стоить. Есть для этого функции спецовые (get_class...).
А вообще вот такой (кстати, стандартный из документации) у меня синглтон:
class ClassName {
private static $instance; // singleton
private function __clone () {}
public static function getInstance () {
if (self:: $instance === null) {
self:: $instance = new self;
}
return self:: $instance;
}
}
По сути можно даже малость ужать функцию getInstance:
return self::$instance === null ? new self : self::$instance; Спустя 1 минуту 24 секунды добавил artoodetoo, кстати, я вот как раз себе пробовал это сделать, но так как нормального опыта реализации нету, то и создать описание такого типа не могу, ибо не очень понимаю что за чем следует.
п.с. Знаю, что так делать очень по-ламерски, но тут уж пока как могу.
|
|
|
|
|
Записан
|
Все, что говорят другие - неправда! До тех пор, пока ты сам в это не поверишь. Если человек дурак, то... чур это не я!
|
|
|
|
phpdude ↓
|
 |
|
01 Июль, 2010, 10:13:52 , спустя 20 минут 32 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 344
Сообщений: 20789 Сила слова: 1.65
|
ололол, нихуя у вас тут терки то
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
Givi ↓
|
 |
|
01 Июль, 2010, 11:37:07 , спустя 1 час 23 минуты 15 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Адекваты Карма: 42
Сообщений: 2305 Сила слова: 1.82
|
phpdude, не надо тут гнать на нас, дай покидаться типа умными мыслями =)
|
|
|
|
|
Записан
|
Все, что говорят другие - неправда! До тех пор, пока ты сам в это не поверишь. Если человек дурак, то... чур это не я!
|
|
|
|
artoodetoo ↓
|
 |
|
01 Июль, 2010, 12:04:39 , спустя 27 минут 32 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
с особым цинизмом
Группа: в ухо Карма: 124
Сообщений: 3805 Сила слова: 3.26
|
а если таким образом:
- пишем хелловорлд
- выносим текст на внешнее хранение, заводим для этого класс - получаем "модель"
- обрамляем вывод текста полноценным html и выносим в отдельный типа шаблон. пишем класс чтения шаблонов — получаем представление
- все, что не модель и не представление — это контроллер. оформляем роутинг в отдельный класс, чтение конфигурации, если надо реестр приложения и т.д
точка-точка-запятая — вышла рожица кривая
ручки-ножки-огуречик — вот и вышел человечек
|
|
|
|
|
Записан
|
|
|
|
|
Sinkler ↓
|
 |
|
01 Июль, 2010, 12:17:56 , спустя 13 минут 17 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Похуй, пляшем!
Группа: Джедаи Карма: 73
Сообщений: 6804 Сила слова: 1.07
|
а если таким образом:
- пишем хелловорлд
- выносим текст на внешнее хранение, заводим для этого класс - получаем "модель"
- обрамляем вывод текста полноценным html и выносим в отдельный типа шаблон. пишем класс чтения шаблонов — получаем представление
- все, что не модель и не представление — это контроллер. оформляем роутинг в отдельный класс, чтение конфигурации, если надо реестр приложения и т.д
точка-точка-запятая — вышла рожица кривая
ручки-ножки-огуречик — вот и вышел человечек
в точку
|
|
|
|
|
Записан
|
|
|
|
|
Givi ↓
|
 |
|
01 Июль, 2010, 12:53:59 , спустя 36 минут 3 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Адекваты Карма: 42
Сообщений: 2305 Сила слова: 1.82
|
artoodetoo, спасибо за разъяснения. По сути я это себе так и представлял. Просто думал что ты имеешь виду "нарисовать" схему всего проекта, а не отдельного модуля. А у всего проекта кроме вьюшек-контроллеров-моделей есть ещё и системные фиговины, и вот тут и имею пока траблы с проектированием. Но намерен их победить :)
|
|
|
|
|
Записан
|
Все, что говорят другие - неправда! До тех пор, пока ты сам в это не поверишь. Если человек дурак, то... чур это не я!
|
|
|
|
Sinkler ↓
|
 |
|
01 Июль, 2010, 01:01:02 , спустя 7 минут 3 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Похуй, пляшем!
Группа: Джедаи Карма: 73
Сообщений: 6804 Сила слова: 1.07
|
artoodetoo, спасибо за разъяснения. По сути я это себе так и представлял. Просто думал что ты имеешь виду "нарисовать" схему всего проекта, а не отдельного модуля. А у всего проекта кроме вьюшек-контроллеров-моделей есть ещё и системные фиговины, и вот тут и имею пока траблы с проектированием. Но намерен их победить :)
именно из-за этих системных фиговин использую кейк, хотя сам начал писать что-то подобное, на вид немного страшное, но легкое и шустрое для мелочевки всякой
|
|
|
|
|
Записан
|
|
|
|
|
Givi ↓
|
 |
|
01 Июль, 2010, 02:31:54 , спустя 1 час 30 минут 52 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Адекваты Карма: 42
Сообщений: 2305 Сила слова: 1.82
|
Sinkler, вот и я сейчас этим занимаюсь... уже в который раз :). Пробую писать сам. И не только потому что нех делать. Но ещё и практика для меня тоже немаловажный фактор, а при написании своего практики будет вагон + конечно же моя лень берет своё :)
|
|
|
|
|
Записан
|
Все, что говорят другие - неправда! До тех пор, пока ты сам в это не поверишь. Если человек дурак, то... чур это не я!
|
|
|
|
phpdude ↓
|
 |
|
01 Июль, 2010, 02:36:42 , спустя 4 минуты 48 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 344
Сообщений: д-о-х-у-я! Сила слова: 1.65
|
олололо2!!!
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
Givi ↓
|
 |
|
01 Июль, 2010, 03:05:22 , спустя 28 минут 40 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Адекваты Карма: 42
Сообщений: 2305 Сила слова: 1.82
|
phpdude, хрен! олололо4-ый раз как минимум =)
|
|
|
|
|
Записан
|
Все, что говорят другие - неправда! До тех пор, пока ты сам в это не поверишь. Если человек дурак, то... чур это не я!
|
|
|
|
sum ↓
|
 |
|
02 Июль, 2010, 08:04:19 , спустя 16 часов 58 минут 57 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 0
Сообщений: 25 Сила слова: 0
|
Важные вещи говорит phpdude =))
|
|
|
|
|
Записан
|
select * from life
|
|
|
|
phpdude ↓
|
 |
|
02 Июль, 2010, 08:17:07 , спустя 12 минут 48 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 344
Сообщений: д-о-х-у-я! Сила слова: 1.65
|
sum, а то!
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|