[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Классы и глобальные переменные
Страницы: 1, 2, 3
Ranerg
SlavaFr, вот ты говоришь про зависимость, а что если создать абстрактный класс, который будет включать класс Registry, и от этого абстрактного класса можно наследоваться, тогда меньше будет связей и всякого копипаста:) А, например, использование класса Регистрации можно прописать в конструкторе вспомогательных классов.

$database = new DB("Some arguments"); // Registry - зарегистировались еще в конструкторе
$cookie = new Cookie("Some arguments"); // Такая же ситуация
$session = new Session("Some arguments"); // Ну и тут как в двух предыдущих строчках

class User extends Abstract_User{
// Тут интересный код
}
abstract class Abstract_User{
// Тут описание взаимодействия с Registry
}

Думаю проблем будень меньше. Правда у меня не один будет такой класс:) Их будет несколько и не все нужно вспомогательные классы включать.. Может быть это дело Интерфейсов?
Ranerg
kaww, мне не нравятся реализация Синглтона. Но мне нравится стиль Одиночки, когда создается только один экземпляр объекта:) На самом деле, если залазить в мои "интимные" мысли, то я почему-то не любил, когда несозданный класс используют как библиотеку функций:) Да и "::" мне не нравитя, когда используют в несозданных классах:) Но я отошел от темы Синглтона:)
    Сложны в отладке и тестировании
    Проблемы со Сборщиком Мусора
    Нарушает Закон Дементры (Правда на это мне вообще без разницы)
    При расширении проекта с Синглтонами могут возникнуть проблем
    И еще кажется что-то было связано с глобальной областью видимости, вроде бы там твердо застревало и поэтому возникают проблемы со Сборщиком Мусора:)
    Увеличение зависимости кода:) Там явно задается имя класса:)
Я не знаю, что сказать:) Для меня это не самое хорошее решение реализации единственного проекта:)
SlavaFr
Цитата (Ranerg @ 3.01.2013 - 14:34)
Увеличение зависимости кода:) Там явно задается имя класса:)

Так точно. Проблема присутствует вообще при вызове статических методов и вызовов оператора new. Избежать конечно совсем, не получится, но надо стремиться использовть это где нибудь в Main, Bootstrap , или классах занимающихся конструированием Объектов.
Следующая проблематика состоит в том, что PHPUnit не может создать Mok-Объекты с статическими методами.


_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
Ranerg
SlavaFr, сейчас даже не в силах воспользоваться поисковиками, чтобы понять о чем ты говоришь:) Завтра прочитаю, отпишусь и постараюсь уже класс Cookies написать:)
Быстрый ответ:

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