Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: private function __construct()

Сообщения:  [1-10]   [11-16] 

 
 автор: psychomc   (14.12.2010 в 00:16)   письмо автору
 
   для: neadekvat   (13.12.2010 в 20:17)
 

хм...надо пересмотреть мое видение ситуации. этот вариант мне уже кажется более правильным, нежели сделать класс абстрактным :)

  Ответить  
 
 автор: neadekvat   (13.12.2010 в 20:35)   письмо автору
 
   для: ride   (13.12.2010 в 20:32)
 

Таки да, два раза думал, писать или не писать, что там еще статический член надо вводить, решил, что для демонстрации работоспособности это будет лишнее)

  Ответить  
 
 автор: ride   (13.12.2010 в 20:32)   письмо автору
 
   для: neadekvat   (13.12.2010 в 18:39)
 

у вас тут один объект никак не получится)
если вы хотели привести пример шаблона singleton, то примерно так
<?php
class Singleton
{
   static private 
$_instance null;
    private function 
__construct() {}

    public static function 
getInstance()
    {
        if(
self::$_instance === null)
            
self::$_instance = new self();
        return 
self::$_instance;
    }
}

$obj Singleton::getInstance(); 

  Ответить  
 
 автор: neadekvat   (13.12.2010 в 20:17)   письмо автору
 
   для: psychomc   (13.12.2010 в 20:04)
 

Чтобы нельзя было создать объект.
Например, если необходимо проследить, чтобы у класс был только один объект.

  Ответить  
 
 автор: psychomc   (13.12.2010 в 20:04)   письмо автору
 
   для: neadekvat   (13.12.2010 в 18:39)
 

чес сказать в первый раз такое вижу.
в чем смысл? создается объект "более изящным" способом? :)
мне как-то всегда казалось, что если конструктор недоступен из вне или из производных классов, то не нужен он

  Ответить  
 
 автор: neadekvat   (13.12.2010 в 18:39)   письмо автору
 
   для: psychomc   (13.12.2010 в 18:32)
 

Отчего же бред?
Насколько я знаю, есть такой шаблон проектирования:
<?php
class someclass
{
    private function 
__construct() {}

    public static function 
make_object()
    {
        return new 
someclass;
    }
}

$obj someclass::make_object();

  Ответить  
 
 автор: psychomc   (13.12.2010 в 18:32)   письмо автору
 
   для: Суррогат   (13.12.2010 в 16:49)
 

кстати php правильно ругается.
ибо private function __construct() по логике - это брэд.

  Ответить  
 
 автор: psychomc   (13.12.2010 в 18:08)   письмо автору
 
   для: neadekvat   (13.12.2010 в 17:52)
 

:-)

  Ответить  
 
 автор: neadekvat   (13.12.2010 в 17:52)   письмо автору
 
   для: psychomc   (13.12.2010 в 17:48)
 

А, понял о чем вы. Сначала подумалось, что это вы так советуете "обойти" ошибку, выдаваемую интерпритатором о.О

  Ответить  
 
 автор: psychomc   (13.12.2010 в 17:48)   письмо автору
 
   для: neadekvat   (13.12.2010 в 17:41)
 

с целью запрещения создания объекта

  Ответить  

Сообщения:  [1-10]   [11-16] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования