![]() ![]() ![]()
Какой рейтинг вас больше интересует?
|
Главная /
Каталог блоговCтраница блогера Хабрахабр: PHP / Блог / Захабренные/Записи в блоге |
![]() |
Хабрахабр: PHP / Блог / Захабренные
Голосов: 1 Адрес блога: http://habrahabr.ru/blog/php/ Добавлен: 2008-06-12 19:52:35 блограйдером ZaiSL |
[Из песочницы] Mooha — нодовый интерфейс для PHP
2013-11-11 13:48:34 (читать в оригинале)
Мне часто приходилось сталкиваться с нодовыми интерфейсами в программах. Начиная с музыкальных модульных приложений, заканчивая пакетами для создания трехмерной графики.
Идея графического управления логикой программы мне всегда казалась очень элегантным, а в некоторых случаях, единственным удачным решением. Позже, когда помимо музыки и видео я увлекся программированием (в основном PHP, так уж сложилось), мне захотелось попробовать, пусть даже в качестве эксперимента, создать графическую оболочку для выполнения тех нехитрых задач, с которыми я сталкивался в своей работе.
Читать дальше →
Тэги: mysql, php, веб-разработка, графическая, нодовые, потоковое, программирование, разработки, системы, среда
Постоянная ссылка
[Из песочницы] PubSub в браузере с помощью вебсокетов и протокола WAMP
2013-11-11 12:04:51 (читать в оригинале)Изучая методы реализации real-time обновления данных в браузере, я обнаружил "WAMP" — протокол прикладного уровня для обмена сообщениями, основанный на вебсокетах.
Протокол реализует два распространенных высокоуровневых шаблона для обмена данными: PubSub и RPC (Remote Procedure Call).
Эти шаблоны многим известны и широко применяются в различных областях программирования и межпроцессного взаимодействия:
- RPC — удаленный вызов процедур. В процессе принимают участие клиент и сервер. Первый отправляет запросы на вызов процедуры на сервере, а второй их выполняет и отправляет результат клиенту. В типичном веб-приложении это может быть, например, запрос на создание комментария или на добавление поста в избранное
- Publish/Subscribe (PubSub) — метод обмена сообщениями, в котором клиенты «подписываются» на интересующие их события и могут сами генерировать подобные события. Рассылкой информации подписчикам занимается третья сторона — «брокер». В WAMP шаблон PubSub реализован на основе «топиков», или каналов. Например, на сайте такими каналами могут быть «комментарии», «новости», «личные сообщения».
В контексте веб-разработки наиболее интересным вариантом применения протокола WAMP является использование шаблона PubSub. С его помощью можно легко решить задачу обновления информации на открытой у пользователя странице сайта: например, чтобы отобразить только что добавленный комментарий или показать уведомление о получении нового сообщения.
Реализация WAMP существует в виде библиотек под множество языков и платформ, включая, конечно, javascript в виде проекта autobahn.
Читать дальше →
Дайджест интересных новостей и материалов из мира PHP № 29 (20 октября — 10 ноября 2013)
2013-11-11 04:33:53 (читать в оригинале)
Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Приятного чтения!
Читать дальше →
Тэги: api, drupal, gae, google, group, hhvm, laravel, leaflet.js, php, php.net, phpstorm, rfc, symfony, translate, yii, zfort, блог, веб-разработка, дайджест, компании, новости, подборка, ссылки
Постоянная ссылка
Функции в PHP 5.6 — что нового?
2013-11-08 17:16:29 (читать в оригинале)
Слева направо: Rasmus, Build 5.4, Version 5.5, Relise 5.6
Сегодня хочу поделиться своим видением того, как будет выглядеть работа с функциями уже в ближайшем мажорном релизе PHP — 5.6. Для этого я изучил рабочие предложения и нашёл там немало вкусняшек:
- Новый синтаксис для функций с переменным числом аргументов и радостный отход в историю мороки с func_get_args():
function fn($reqParam, $optParam = null, ...$params) { }
- Опускаем указание значений для необязательных аргументов:
function create_query($where, $order_by, $join_type = '', $execute = false, $report_errors = false) { } create_query('deleted=0', 'name', default, default, /*report_errors*/ true);
- Импорт функций из пространства имён:
use function foo\bar\baz; baz();
- Исключения вместо набивших оскомину фатальных ошибок:
<?php function call_method($obj) { $obj->method(); } call_method(null); // oops! try { call_method(null); // oops! } catch (EngineException $e) { echo "Cool Exception: {$e->getMessage()}\n"; }
- Добавление модификатора deprecated:
deprecated function myOldFunction() { }
- Вызов методов и доступ к свойствам создаваемого объекта:
new foo()->xyz; new baz()->bar();
Также искушённого читателя ждёт эксклюзив: изучая чужие умные мысли, я и сам решился написать собственный RFC. Сейчас вы не увидите его в списке предложений, так как на данный момент он находится на самом начальном этапе — на рассылке internals@lists.php.net.
А начну обзор с RFC, который уже реализован и гарантированно попадает в релиз 5.6.
Синтаксис для функций с переменным числом аргументов
Реализовано в PHP 5.6, Принято 36 голосами против 1И сразу в бой: рассмотрим код, который показывает как переменный аргумент ...$params будет заполняться в зависимости от количества переданных аргументов:
function fn($reqParam, $optParam = null, ...$params) {
var_dump($reqParam, $optParam, $params);
}
fn(1); // 1, null, []
fn(1, 2); // 1, 2, []
fn(1, 2, 3); // 1, 2, [3]
fn(1, 2, 3, 4); // 1, 2, [3, 4]
fn(1, 2, 3, 4, 5); // 1, 2, [3, 4, 5]
$params будет пустым массивом, если число переданных аргументов меньше, чем число объявленных. Все последующие аргументы будут добавлены в массив $params (с сохранением порядка). Индексы в массиве $params заполняются от 0 и по возрастанию.
Читать дальше →
time() или now() как зависимость от глобального окружения
2013-11-08 01:24:05 (читать в оригинале)Сразу скажу, что опытным программистом откровения не будет, грабли тривиальные.
Все знают, что в моделях недопустимо использовать суперглобальные массивы $_POST, $_SESSION, $_SERVER и т.д., поскольку это
Я говорю о времени — такую зависимость вы добавляете в свой код, когда используете в php-модели time() ( date() без аргумента timestamp) или в MySql-запросе now() (sysdate в Oracle). «Хакнуть» время сервера, чтобы узнать как поведет себя ваш запрос завтра или вчера — задача нетривиальная.
Как это происходит.
Читать дальше →



Категория «Закон»
Взлеты Топ 5
![]() | ||
+102 |
141 |
АСНУ - движение вперед! |
+70 |
106 |
World Weapon |
+66 |
91 |
Sergei Davidis |
+63 |
109 |
STROIKA24.EU |
+39 |
110 |
Автоклуб78 |
Падения Топ 5
![]() | ||
-2 |
22 |
БИЗНЕС - ЗДОРОВЬЕ - ЖИЗНЬ |
-9 |
4 |
Японская_Джульета |
-10 |
3 |
Prestissima |
-12 |
96 |
Artemy Velker |
-13 |
55 |
Найти работу? Легко! Все об эффективном поиске работы. Шаблоны р |

Популярные за сутки
Загрузка...

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