![]() ![]() ![]()
Какой рейтинг вас больше интересует?
|
Главная /
Каталог блоговCтраница блогера 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']);
![BlogRider сегодня BlogRider сегодня](/themes/1/i/menu/th/blogrider_today.png)
![Самый-самый блог Самый-самый блог](/themes/1/i/menu/tt/tough.png)
![Изменения рейтинга Изменения рейтинга](/themes/1/i/menu/th/rating_changes.png)
![]() | ||
+382 |
399 |
Follow_through |
+328 |
331 |
שימותו הקנאים |
+320 |
334 |
Tomas50 |
+317 |
357 |
krodico |
+307 |
359 |
Ланин Сергей |
![]() | ||
-4 |
42 |
Similis_Deo |
-5 |
2 |
Dark Music in Your Heart | Dark Music in Your Heart |
-6 |
9 |
BrightBand |
-15 |
135 |
Музпросвет в мыслях |
-16 |
167 |
Trance Music - Транс музыка |
![Главные темы Главные темы](/themes/1/i/menu/th/main_themes.png)
Загрузка...
![Загрузка... Загрузка...](/themes/1/i/loader/loader.gif)
взяты из открытых общедоступных источников и являются собственностью их авторов.