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

Форум PHP

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

 

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

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

тема: Как выполнить некоторый метод, при любом обращении к объекту?

Сообщения:  [1-7] 

 
 автор: Gemorroj   (18.03.2010 в 11:43)   письмо автору
 
   для: Filsh   (18.03.2010 в 10:50)
 

Просто это на примере всего 2 простых метода. А в реальных условиях их оч много, и можно просто забыть при создании нового метода написать еще и вызов дополнительного.

  Ответить  
 
 автор: Filsh   (18.03.2010 в 10:50)   письмо автору
 
   для: Gemorroj   (18.03.2010 в 08:40)
 

Для этого есть методы класса, в которых все можно реализовать

  Ответить  
 
 автор: Саня   (18.03.2010 в 10:16)   письмо автору
 
   для: Gemorroj   (17.03.2010 в 22:02)
 

А прямо в теле функции а() поставить вызов b() и наоборот? Некрасиво из-за блокировок?

  Ответить  
 
 автор: Тень&   (18.03.2010 в 09:21)   письмо автору
 
   для: Gemorroj   (18.03.2010 в 08:40)
 

Такого нет

  Ответить  
 
 автор: Gemorroj   (18.03.2010 в 08:40)   письмо автору
 
   для: buldovsky   (18.03.2010 в 08:14)
 

buldovsky, конструктор выполнится 1 раз при создании объекта, а мне нужно чтобы метод выполнялся при КАЖДОМ обращении к объекту.

  Ответить  
 
 автор: buldovsky   (18.03.2010 в 08:14)   письмо автору
 
   для: Gemorroj   (17.03.2010 в 22:02)
 

<?php
class Test {

    function 
__construct() {
        ...
    }
}
?>

  Ответить  
 
 автор: Gemorroj   (17.03.2010 в 22:02)   письмо автору
 
 

Т.е. к примеру, есть код
class Test
{
    public function a ()
    {
        echo 'a';
    }

    public function b ()
    {
        echo 'b';
    }
}

$obj = new Test;

$obj->a(); // вызвался метод a и в придачу еще один, нужный мне
$obj->b(); // вызвался метод b и в придачу еще один, нужный мне

как подобное реализовать?
вызывать руками нужный мне метод оставляю только на крайний случай, если не найдется более красивых решений.
еще пришло в голову сделать через __call, т.е. меняем имена методов на несуществующие, а в __call пишем обработку. Но тоже, вариант, на мой взгляд, корявый.

  Ответить  

Сообщения:  [1-7] 

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

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