Обновить
128K+

PHP *

Скриптовый язык общего назначения

95,02
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Продуктивное использование PHPStorm

Время на прочтение7 мин
Охват и читатели331K
В процессе использования IDE иногда случайно, иногда специально находятся полезные фишки, сочетания клавиш и прочие заложенные разработчиками приятные штуки, которые никогда не оседают в памяти без регулярного их использования и всячески ускользают при чтении мануалов.

Не претендуя на библию или «настольную статью программиста» я хочу поделиться полезными находками в моей любимой IDE, не скатываясь в тупую копипасту мануалов и скучных списков хоткеев, только то, что я сам использую постоянно и над чем удивляются коллеги: «о! а так можно?»
Что ж там такое?

Дайджест интересных новостей и материалов из мира PHP за последние две недели №3 (20.10.2012 — 02.11.2012)

Время на прочтение5 мин
Охват и читатели22K


Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.

Приятного чтения!
Читать дальше →

MongoDb for developers. Неделя 1

Время на прочтение7 мин
Охват и читатели47K
Вечер добрый, хабр. На прошлой неделе стартовал курс «MongoDb for developers» от 10gen, о котором уже писали на хабре. Если вы смотрели уроки, то можете смело проходить мимо. Остальным — добро пожаловать.

В этой статье будет изложен основной материал первой недели обучения. Если аудитория проявит интерес — то подобные посты будут выходить в конце каждой недели.

Мы вкратце рассмотрим, что представляет собой MongoDB, сравним разницу в структурах данных между монго и реляционными базами для простого веб-приложения, поиграемся с шеллом, и немножко покодим на пхп и питоне.

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

Fuelphp в полевых условиях

Время на прочтение4 мин
Охват и читатели8K
Приветствую вас, хабралюди и интересующиеся. Написание этого поста было делом времени, поэтому не стал откладывать и решил написать сейчас. Ранее я уже публиковал описание возможностей Fuelphp. На тот момент я только создал русский сайт документации, группу, написал несколько тестовых приложений на данном фримворке.

В этой статье хочу поделиться своим опытом использования данного инструмента в реальном проекте. Нужно было сделать удаленную админ панель и через api реализовать управление сайтами-клиентами. Требования: модульность, оптимизация под нагрузки, использование API Youtube, ЧПУ.

Далее я буду указывать конкретную задачу, а напротив опишу какие инструменты использовались и насколько эффективно:
Читать дальше →

Модификация в БД табличных или множественных полей документов

Время на прочтение10 мин
Охват и читатели5.7K
Часто в проектах требуется обновление в БД множественных полей каких-либо документов. Наверное существуют готовые решения, но вбив в гугл «изменение множественных свойств документов», «обработка множественных полей», «обработка табличных полей» и т.д., я не нашел никакого решения, поэтому решил написать свое и заодно описать его в этой статье.

Читать дальше →

Мобильные приложения для iOS и Android на php

Время на прочтение1 мин
Охват и читатели18K
Миллионы php разработчиков смогут разрабатывать мобильные приложения для iOS и Android на php. Этим утром на ZendCon, Zend chief executive Andi Gutmans анонсировал, что Zend Studio 10, позволит делать мобильные приложения на php.
В числе новых возможностей:
  • WYSIWYG drag-and-drop конструктор мобильного интерфейса
  • Интеграция с проектом Apache Cordova для доступа к нативному API телефона (работа с камерами, акселерометрами)
  • Интеграция с PhoneGap, которая позволит публиковать приложения в различных app stores


Источник:
venturebeat.com/2012/10/23/huge-news-php-developers-can-now-design-build-and-publish-mobile-apps-right-in-zend-studio

Использование преимуществ встроенного PHP сервера

Время на прочтение7 мин
Охват и читатели42K
Одним из крутейший новшеств в php 5.4 является встроенный сервер, созданный специально для разработки и тестирования. Теперь вы можете писать и тестировать свой код не имея полноценного веб-сервера — просто запустите встроенный сервер, протестируйте свой код, и выключите его, когда закончите.
Сервер, так же, предоставляет возможность и для творческого использования. Например, вы можете распространять портативное web-приложение на CD или USB, или даже как десктопное приложение, созданное на PHP без использования GTK или других графических библиотек.
Читать дальше →

Асинхронные запросы к MySQL

Время на прочтение3 мин
Охват и читатели37K
В mysqlnd появилась возможность выполнять запросы к MySQL асинхронно, то есть продолжить работу скрипта не дожидаясь выполнения запроса и формирования результата. Преимущество такого подхода очевидно, ведь можно выполнить массу полезной работы во время ожидания запроса, но для начала я приведу немного другой пример:

Допустим у Вас есть 3 запроса (q1, q2, q3), каждый запрос выполняется за определенное время (t1, t2, t3), например так:

SELECT 1 AS val, SLEEP(1) AS sleep
SELECT 2 AS val, SLEEP(2) AS sleep
SELECT 3 AS val, SLEEP(3) AS sleep


В случае синхронного выполнения запросов, Вы сможете получить результаты их выполнения через t1 + t2 + t3 (ex: 6 секунд), а в случае асинхронного выполнения запросов уже за max(t1, t2, t3) (ex: 3 секунды)

Примеры работы с асинхронными запросами, а также другие примеры работы с mysqlnd можно найти на github

Под катом reverse engineering, segfault и больше подробностей работы с асинхронными запросами

Переводим книги с помощью Яндекс.API

Время на прочтение4 мин
Охват и читатели17K

Зачем это надо


Однажды мне пришло в голову прочитать одну книгу на родном языке автора, английском. После прочтения нескольких страниц стало понятно, что читать придется долго, так как за каждым незнакомым словом приходилось тянуться за словарем, искать нужную страницу, ломать глаза о множество других слов, похожих на искомое… Да еще и таскать с собой лишних полтысячи страниц. Вот и вздумалось собрать небольшой словарик, именно под эту книгу, в который можно было бы заглянуть в любой ситуации — даже когда нет доступа в Интернет.

Что из этого получится


На выходе мы получим самый обычный .txt — файл, в котором на каждой строчке по алфавиту будут размещены редкие слова из книги и их перевод. Такой словарик можно легко встроить, например, в MIDlet для мобильного телефона, или же непосредственно на сайт.
Читать дальше →

Дайджест интересных новостей и материалов из мира PHP за последние две недели №2 (06.10.2012 — 19.10.2012)

Время на прочтение4 мин
Охват и читатели25K


Предлагаем вашему вниманию очередную подборку с ссылками на новости из мира PHP.

Приятного чтения!
Читать дальше →

Избавление Kohana ORM от лишних запросов к БД

Время на прочтение5 мин
Охват и читатели14K
ORM, несомненно, мощная и удобная вещь, но запросы генерируются не только не всегда оптимальные, но еще и лишние. При создании объекта модели ORM должен знать информацию о всех полях соответствующей таблицы БД. Что приводит к нежелательным запросам к БД.
Читать дальше →

Удобное встраивание RESTful API в проект

Время на прочтение6 мин
Охват и читатели42K
Ни для кого не секрет, что наличие API идет на пользу любому проекту. Но часто, при ошибке в архитектуре системы или же добавлении его к готовому проекту, накладные расходы на поддержку и тестирование отнимают достаточно много времени.

Я хочу представить сообществу нашу реализацию RESTful архитектуры, без дублирования кода и с минимальными изменениями существующей бизнес-логики. Или Как добавить в проект API за пять минут?
Читать дальше →

Расширяем возможности Asterisk, используя PHP

Время на прочтение4 мин
Охват и читатели58K
Все слышали про мини-АТС нового поколения имя которой Asterisk. Так уж случилось что я заинтересовался этой системой и даже успел сделать пару коммерческих проектов.

В этой статье я хочу немного расказать об интеграции звездочки с языком программирования php. При этом мы будем использовать класс phpagi.

Под катом я приведу примеры использования нескольких методов этого класса которые помогли мне.

а тут немного кода

Ближайшие события

mysqlnd

Время на прочтение2 мин
Охват и читатели49K
mysqlnd — расширение PHP, которое является драйвером для работы с MySQL по умолчанию в PHP 5.4. Оно работает напрямую с MySQL сервером, а значит, MySQL клиент, а также оверхед на работу с ним, больше не требуется!

image

Читать дальше →

Генератор SQL запросов на PHP

Время на прочтение14 мин
Охват и читатели30K
Где-то полтора года назад я начал заниматься web разработкой. Начинал с функционального программирования. Примерно пол года назад я перешел на ООП и стал использовать MVC архитектуру проектирования. Недавно появилась задача оптимизировать работу с базой данных, т. к. вся связь и работа с базой осуществлялась через один класс. Это было неудобно потому, что все время приходилось вручную писать SQL — запросы.
Читать дальше →

DEV {web} — конференция о Highload веб-разработке

Время на прочтение1 мин
Охват и читатели6.1K
13 октября в Санкт-Петербурге пройдет конференция о веб-разработке сложных высоконагруженных проектов — DEV {web}.

image

Если вам интересно как правильно использовать в проектах с многомиллионной посещаемостью Java, PHP, MySQL, Postgres, что делать для балансировки нагрузки и как правильно кэшировать и работать с сессиями пользователей — регистрируйтесь и приходите!

Дайджест интересных новостей и материалов из мира PHP за последние две недели №1 (21.09.2012 — 05.10.2012)

Время на прочтение4 мин
Охват и читатели19K


С весны этого года на Хабре в блоге нашей компании публикуются дайджесты интересных новостей из мира айти за последнюю неделю. Дайджест получает немало позитивных отзывов, но многие пользователи неоднократно спрашивали, планируется ли подобная подборка новостей в тематике программирования. И мы, наконец, готовы представить подобный дайджест для всех желающих. Новости, так или иначе, связаны с php, так как это один из основных языков программирования в нашей компании.

Дайджест планируем публиковать раз в две недели, если, конечно, он понравится читателям Хабра. Поэтому мы с радостью в комментариях готовы выслушать ваши советы, отзывы или рекомендации.

Приятного чтения!
Читать дальше →

Реализация пошаговой работы PHP-скрипта с помощью AJAX

Время на прочтение5 мин
Охват и читатели48K
Искал более-менее простое и универсальное средство для организации пошаговой работы скрипта, но так ничего и не нашел. Даже вопрос в QA задал, везде только общие фразы. Поэтому решил сам сделать такой инструмент.

Для чего это вообще нужно?


Бывает необходимо обработать скриптом какой-то очень уж большой файл, например, для импорта. Естественно, время работы скрипта увеличивается пропорционально размеру файла или количеству строк в нем.

Хотелось бы разбить обработку файла на несколько частей и запускать скрипт в работу уже по частям.
image
Принцип реализации давно известен — обмен данными между сервером и клиентом:
Клиент запускает скрипт, тот выполняет несколько итераций и возвращает клиенту номер строки, на которой он остановился. После этого клиент делает новый запрос, в котором передает скрипту этот номер и скрипт продолжает работу дальше.
Читать дальше →

Недокументированные изменения или PHP 5.4 и перегрузка функций

Время на прочтение3 мин
Охват и читатели13K
Как это было

Не так давно столкнулся с одной проблемой, возникшей при переезде на php 5.4. Задача состояла в тестировании функционала, который использовал родные функции. К слову, Fumocker отлично справляется с этой задачей, позволяя в тестах переопределять встроенные функции. Я написал пачку тестов и запустил их локально. Все тесты прошли успешно. Отлично! Задача была сделана и я был в полном счастье, пока не добавил проект в travis-ci. И? Сборка была сломана под php 5.4, когда под 5.3 всё светилось зелёным.

Именно этот факт навел меня на мысль, что между 5.3 и 5.4 должна быть разница в перегрузке функций.
Читать дальше →