Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Соеобразный адаптер, на основе замыкания
Ron  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1042
Пользователь №: 41686
На форуме: 1 год, 3 месяца, 23 дня
Карма: 13




Всем првет!

Как считаете, вот такая конструкция имеет место быть, или это как раз и есть тот самый говнокод? ))

<?php
class
test
{
public function doSomethingAwesome($param, callable $callback = NULL)
{
$param += $param;
if($callback !== NULL)
{
$callback($param, $this); //$this or another object.
}
else
{
echo "default behavior"; //Yes, me shouldn't use outputs inside the class. ;)
}
}


public function logger($toDb)
{
/*INSERT INTO .... bla-bla-bla*/
echo $toDb;
}
}


$a = new test();

$a->doSomethingAwesome(10, function($param, $obj){
/*Do something with $param here*/
$obj->logger('The number is ' . $param);
});

$a->doSomethingAwesome(10);

Задача соорудить некий динамический адаптер между методами одного (или даже разных) классов. Цель не загромождать бизнес-логику при стандартном поведении. Которое будет выполняться, конечно же, в большинстве случаев. Замыкание больше как отработка исключительных ситуаций.

Приведенный выше пример не конкретная задача. Просто концепт.





--------------------
Жду 5.11.2017
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 10 месяцев, 29 дней
Карма: 40




Ron, пытался делать что-то подобное, но в итоге сделал вывод, что это лишнее, лучше уж использовать события.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Ron  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1042
Пользователь №: 41686
На форуме: 1 год, 3 месяца, 23 дня
Карма: 13




chee, имеется ввиду это? http://php.net/manual/ru/book.event.php

Что-то я не пойму как юзать... Судя по всему свирепая ботва! )


--------------------
Жду 5.11.2017
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11782
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 8 дней
Карма: 428

Трезвый :
7 лет, 3 месяца, 9 дней


Цитата (Ron @ 17.11.2015 - 21:38)
имеется ввиду это? http://php.net/manual/ru/book.event.php

я думаю, он имел в виду не это


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 10 месяцев, 29 дней
Карма: 40




Ron, в процедурном программировании это хуки, в ООП Наблюдатель


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Ron  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1042
Пользователь №: 41686
На форуме: 1 год, 3 месяца, 23 дня
Карма: 13




chee, я понял, спасибо! ) А то и смотрю, чего-то не то, или я уж совсем ничего не понимаю. )


--------------------
Жду 5.11.2017
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса