Форум → Программирование → PHP для идиотов → PHP и ООП → непонятки с ООП
непонятки с ООП
Страницы: ← Предыдущая страница • Следующая страница →
-
8 мая 2010 г. 23:46, спустя 20 минут 59 секунд
тогда сразу делай адаптеры. И внутри своего logout делай $this->adapter->logout -
9 мая 2010 г. 1:36, спустя 1 час 49 минут 38 секунд
Синглтон для единственности экземпляра класс. Это делается для ЕДИНСТВЕННОСТИ. Если ты, например, добавляешь объекты в поле класс, например в массив, то ты можешь добавить объекты в один экземпляр, а можешь в несколько. Так вот если тебе надо только в один, то надо использовать синглтон. Вот такой синий расклад )) -
9 мая 2010 г. 7:07, спустя 5 часов 31 минуту 5 секунд
SpartakuS, варианты:
- Singleton (т.к. статический метод можно вызвать из любой области видимости)
- Registry (т.к. статический метод можно вызвать из любой области видимости)
- передать готовый объект класса Cookie в конструктор User и сохранить в свойстве юзера.
Почитай про Инверсию зависимостиιιlllιlllι унц-унц -
10 мая 2010 г. 20:13, спустя 1 день 13 часов 6 минут
добавлю еще ссылку к artoodetoo, про S.O.L.I.D вкратце - http://blog.byndyu.ru/2009/10/solid.html -
-
31 мая 2010 г. 22:23, спустя 20 дней 23 часа 59 минут
Что то типа синглтон хранилища для глобал переменных. Хуита?<?php
/*
* Статический singlton класс, который служит для глобализации классов.
*
* @author vaseninm
* @version 1.0
*
*/
class Pixelio {
/*
* Переменная в которой будет записан объект
* @name $instance
*/
static private $instance = NULL;
static function get()
{
if (self::$instance == NULL) {
self::$instance = new Pixelio();
}
return self::$instance;
}
static function set($name, $var)
{
if (self::$instance == NULL) {
self::$instance = new Pixelio();
}
self::$instance->{$name} = $var;
}
private function __construct(){}
private function __clone(){}
}
?> -
31 мая 2010 г. 22:27, спустя 4 минуты 35 секунд
if (self::$instance == NULL) {
self::$instance = new Pixelio();
}
нахуй это?
заведи статическую переменную и в ней храни данные -
31 мая 2010 г. 22:31, спустя 4 минуты 12 секунд
SpartakuS, вопервых метод укажи область видимости (паблик, протектед, приват)
это что за нах ?self::$instance = new Pixelio();
ты же вроде пишешь что класс статическийСпустя 18 сек.блять, миня апиридилиСпустя 67 сек.
/**
* Registry collection
*
* @var array
*/
static private $_registry = array();
/**
* Retrieve a value from registry by a key
*
* @param string $key
* @return mixed
*/
public static function registry($key)
{
if (isset(self::$_registry[$key])) {
return self::$_registry[$key];
}
return null;
}
/**
* Register a new variable
*
* @param string $key
* @param mixed $value
* @param bool $graceful
* @throws Mage_Core_Exception
*/
public static function register($key, $value, $graceful = false)
{
if (isset(self::$_registry[$key])) {
if ($graceful) {
return;
}
self::throwException('Mage registry key "'.$key.'" already exists');
}
self::$_registry[$key] = $value;
} -
31 мая 2010 г. 22:33, спустя 1 минуту 28 секунд
Абырвалг, так чтоли?class Pixelio {
/*
* Переменная в которой будет записан объект
* @name $instance
*/
static public function get($name)
{
return $this->{$name} ;
}
static public function set($name, $var)
{
$this->{$name} = $var;
}
} -
31 мая 2010 г. 22:34, спустя 1 минуту 37 секунд
внутри статик нельзя $this использоватьself::$container[$name] = $var
Спустя 43 сек.блять, миня апиридили
хе-хе) -
-
31 мая 2010 г. 23:14, спустя 30 минут 43 секунды
<?php
/*
* Статический singlton класс, который служит для глобализации классов.
*
* @author vaseninm
* @version 1.0
*
*/
class Pixelio {
static private $_registry;
/*
* Доступ к классу. Получение переменных.
* @name get
* @param name
* @return object
*/
static function get($name)
{
return self::$_registry[$name] ? self::$_registry[$name] : NULL;
}
/*
* Записываем переменную в хранилище
* @param $name Имя для обращения Pixelio::get('name')
* @param $var Объект класса, к которому мы будем обращатся
* @return bool
*/
static function set($name, $var)
{
if (isset(self::$_registry[$name])) {
throw new Exception ('Такой объект уже записан.');
} else {
self::$_registry[$name] = $var;
return true;
}
}
}
?>
Вот так? -
31 мая 2010 г. 23:04, спустя 23 часа 50 минут 31 секунду
А ну в общем так. У нрг почти так же.Спустя 29 сек.А че посты не склеиваются?Спустя 14 сек.О бля. Склеиваются. -
31 мая 2010 г. 23:05, спустя 1 минуту
if (self::$_registry[$name]) {
return self::$_registry[$name];
} else {
return NULL;
}
можно через тренарный оператор в одну строку свернуть— self::$instance->{$name} = $var;
+++ self::$registry[$name] = $var; -
31 мая 2010 г. 23:10, спустя 4 минуты 58 секунд
спасибо кэп =)if (self::$_registry[$name]) {
return self::$_registry[$name];
} else {
return NULL;
}
можно через тренарный оператор в одну строку свернуть
Страницы: ← Предыдущая страница • Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!