ООП в Php4

Тема в разделе "PHP программирование", создана пользователем ExtremeRuff, 19 янв 2006.

Статус темы:
Закрыта.
  1. ExtremeRuff

    ExtremeRuff Гость

    Зная что с помощью функции
    Код (Text):
    register_shutdown_function()
    как то можно проэмулировать деструктор, но так и этак но у меня не получатся, может кто знает, как в пхп4 сотворить такое, вот допустим для такого примера-
    Код (Text):
    Class TDemoClass {
    var intCount;
    //Конструктор
    TDemoClass (){
     $this->intCount=1000;
    }
    Destructor (){
     unset($this->intCount);
    }
    }
     
  2. develop7

    develop7 Гость

    <!--QuoteBegin-ExtremeRuff+19:01:2006, 03:24 -->
    <span class="vbquote">(ExtremeRuff @ 19:01:2006, 03:24 )</span><!--QuoteEBegin-->Зная что с помощью функции
    Код (Text):
    register_shutdown_function()
    как то можно проэмулировать деструктор, но так и этак но у меня не получатся, может кто знает, как в пхп4 сотворить такое, вот допустим для такого примера-
    Код (Text):
    ...skipped...
    [snapback]29509" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Знаете, register_shutdown_function вообще-то слегка для другого предназначена -
    По-русски говоря, указанная callback-функция получает управление после завершения работы ВСЕГО скрипта - с include-ми, eval-ами и require. Т.о., для того, чтобы выступать в роли деструктора, ОНО маленько не подходит - неправильно это.
    Далее. Реализация механизма деструктора классов - это, батенька, ФПЕАР, читать каменты. И доки. И форум. И ньюсы. И все.
     
  3. Andrew Stephanoff

    Andrew Stephanoff Гость

    Вот что написано в комментах на php.net
    Код (Text):
    --8<--- cls_TEST.php --------------------------------------------->8--
    <?
    // Class
    class TEST {
     var $Value;
     // Constructor
     function TEST($in_Value = 0){
      // Register destructor
      register_shutdown_function(array(&$this, '_TEST'));
      $this->Value = $in_Value;
      $this->_Log('TEST');
     }
     // Destructor
     function _TEST() {
      $this->_Log('_TEST');
     }
     // Private function
     function _Log($in_Msg) {
      $oF = fopen('E:/temp/TEST.log', 'a');
      fwrite($oF, sprintf("%s : %-5s = %d\n",
                date('Y-m-d H:i:s', time()),
                $in_Msg,
                $this->Value));
      fclose($oF);
     }
    }
    ?>
    --8<--- test_TEST.php -------------------------------------------->8--
    <?
    // include class TEST
    include_once('cls_TEST.php');
    $o1 = new TEST(1);
    $o2 =& new TEST(2);
    $o3 &= new TEST(3);
    ?>
    --8<-------------------------------------------------------------->8--
    Код (Text):
    2003-11-22 15:10:43 : TEST = 1
    2003-11-22 15:10:43 : TEST = 2
    2003-11-22 15:10:43 : TEST = 3
    2003-11-22 15:10:43 : _TEST = 1
    2003-11-22 15:10:43 : _TEST = 2
    2003-11-22 15:10:43 : _TEST = 3
     
  4. Guest_ExtremeRuff_*

    Guest_ExtremeRuff_* Гость

    Andrew Stephanoff, спасибо огромное! То что надо! :(
     
Загрузка...
Похожие Темы - ООП Php4
  1. Trafik
    Ответов:
    0
    Просмотров:
    537
  2. NLP
    Ответов:
    10
    Просмотров:
    3.560
  3. Sevas
    Ответов:
    1
    Просмотров:
    1.060
  4. Shouldercannon
    Ответов:
    1
    Просмотров:
    2.326
  5. akat
    Ответов:
    11
    Просмотров:
    5.290
Статус темы:
Закрыта.

Поделиться этой страницей