Сегодня 14 февраля, пятница ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7278
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
RMCreative.ru - Блог
RMCreative.ru - Блог
Голосов: 1
Адрес блога: http://rmcreative.ru/feed/
Добавлен: 2008-06-12 21:34:00 блограйдером ZaiSL
 

Прячем флаги в замыкания

2015-06-23 11:19:14 (читать в оригинале)

window.addEventListener('click', function () {
    var i = 0;
    return function () {
        window.alert('You\'ve clicked it ' + (++i) + ' time(s).');
    };
}());

Благодаря замыканиям JavaScript позволяет не выносить флаги за функцию-обработчик и тем самым не засорять области видимости уровнями выше.

Выполнить данный кусочек кода можно в консоли любого браузера. Для демонстрации щёлкайте по любому месту открытой страницы.

Кстати, я выкладываю этот и другие интересные кусочки кода на gostash.ru



Вызвать private метод класса в PHP без Reflection

2015-06-10 23:32:23 (читать в оригинале)

В комментариях к заметке о вызове private метода через Reflection Roman верно подметил, что можно использовать вместо Reflection анонимные функции. Вот только его вариант работает с PHP7.

Оказывается, можно проделать такое чуть иначе и в PHP 5.4:

class PrivacyViolator
{
    private $caller;
 
    function __construct()
    {
        $this->caller = function ($method, $args) {
            return call_user_func_array([$this, $method], $args);
        };
    }
 
    function callPrivateMethod($object, $method, $args)
    {
        $this->caller->bindTo($object, $object);
        return $this->caller($method, $args);
    }
}
 
$myObject = new MyClass();
$privacyViolator = new PrivacyViolator();
$privacyViolator->callPrivateMethod($myObject, 'hello', ['world']);


Видео с DevConf 2014: собачники против

2015-05-27 14:48:33 (читать в оригинале)

В этом году я на DevConf, к сожалению, не попадаю, но организаторы порадовали видео с прошлого раза.

Доклад рассказывали сразу три человека: Иван Матвеев, Григорий Кочанов и я. Тема холиварная, про оператор @.

Посмотреть можно на сайте DevConf



Копируем в буфер обмена без Flash

2015-05-26 11:21:05 (читать в оригинале)

Tello уже довольно продолжительное время позволяет нажать CTRL + C при наведённом на карточку курсоре мыши и получить в буфер обмена ссылку на эту карточку. Удобно, но вроде ничего необычного, я такое уже делал в Stay.com при помощи Flash.

Trello не использует Flash и это заметили пользователи StackOverflow. Через какое-то время подтянулся автор кода и рассказал, как это работает.

На самом деле с буфером обмена Trello не работает. При нажатии CTRL текст пишется в создаваемый <textarea> и туда ставится фокус. То есть когда мы нажимаем C текст копируется. Когда CTRL отпускается, <textarea> скрывается.

Код приведён там же в вопросе на StackOverflow.



Вызвать private метод класса в PHP

2015-05-25 23:19:52 (читать в оригинале)

Бывает, не хочется портить API ради тестирования, но нужно как-то добраться до private метода. Сделать это можно вот так:

function callPrivateMethod($object, $method, $args)
{
    $classReflection = new \ReflectionClass(get_class($myClass));
    $methodReflection = $classReflection->getMethod($method);
    $methodReflection->setAccessible(true);
    $result = $methodReflection->invokeArgs($object, $args);
    $methodReflection->setAccessible(false);
}
 
$myObject = new MyClass();
callPrivateMethod($myObject, 'hello', ['world']);


Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 

 


Самый-самый блог
Блогер ЖЖ все стерпит
ЖЖ все стерпит
по сумме баллов (758) в категории «Истории»
Изменения рейтинга
Категория «Музыка»
Взлеты Топ 5
+382
399
Follow_through
+328
331
שימותו הקנאים
+320
334
Tomas50
+317
357
krodico
+307
359
Ланин Сергей
Падения Топ 5


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.