Вы пробовали заказать в Макдональдсе жаренного на орудийном шомполе поросенка с домашним вином и, на десерт, девушку рядом с вами за столиком, для приятной беседы во время трапезы? Даже не думали об этом?? Вот-вот — статья как раз об этом, о стереотипах программиста и лени, двигающей прогресс. А если серьезно — в статье мы напишем очень полезный многим высокопроизводительный сетевой сервер на PHP за пару часов. Я совершенно серьезно :-)
Читать полностью »
Рубрика «php» - 174
Производительный сетевой сервер на PHP
2013-10-22 в 13:23, admin, рубрики: php, битрикс, Блог компании 1С-Битрикс, веб-кластер, Веб-разработка, высокая производительность, Серверная оптимизация, метки: PHP, битрикс, веб-кластер, Веб-разработка, серверная оптимизацияНовый PhpStorm 7: за пределами языка
2013-10-22 в 12:09, admin, рубрики: composer, drupal, ejs, google app engine, IDE, javascript, jetbrains, php, phpstorm, rest, ssh, stylus, symfony2, vagrant, Блог компании JetBrains, Веб-разработка, отладка, метки: composer, drupal, ejs, google app engine, IDE, javascript, jetbrains, PHP, phpstorm, rest, ssh, stylus, symfony2, vagrant, отладкаСпешим сообщить о выходе PhpStorm 7 — новой версии IDE для разработки на PHP от JetBrains.
PhpStorm 7 позволит вам не отставать от последних изменений в PHP и других языках для веб-разработки. В этом выпуске IDE интегрирован ряд современных инструментов и предусмотрено еще больше возможностей для расширения за счет поддержки основных PHP-фреймворков.
В 7-й версии вас ждут многие новые фичи, а также улучшения, коснувшиеся всех подсистем продукта.
Давайте посмотрим, что нового в PhpStorm 7!
Читать полностью »
PHP RUtils — небольшая библиотека для обработки русского текста
2013-10-22 в 10:07, admin, рубрики: php, string, русский язык, метки: PHP, string, русский языкВ работе на языке Python я частенько использую библиотеку Pytils для работы с русским текстом, и мне очень не хватало этой библиотеки при работе на PHP. Возможно, я искал плохо, но все, что я находил, не предоставляло подобных возможностей либо не слишком отвечало моим понятиям о чистом коде.
И вот, однажды я решил портировать библиотеку на PHP, и теперь хочу поделиться ею с народом и очень надеюсь на помощь в ее улучшении: буду рад советам, баг-репортам и особенно pull-реквестам. Библиотека находится на GitHub'е: github.com/Andre-487/php_rutils
Возможности библиотеки
PHP RUtils — порт Pytils на PHP. Это утилиты для работы с русским текстом. Утилиты разделены на следующие модули (классы):
- Numeral — работа с числами: склонение существительных в зависимости от количества, числа прописью, суммы денег в рублях и копейках прописью.
- Dt — работа с датами: расширение формата дат PHP русскими именами месяцев, дней недели; временные периоды (например, 24 976 дней назад).
- Translit — транслитерация, подготовка строк для использования в URL'ях, именах файлов.
- Typo — небольшой набор правил типографики простого текста.
Active Record против Data Mapper-а для сохранения данных
2013-10-21 в 16:16, admin, рубрики: active record, orm, patterns, php, ооп, переводы, метки: active record, orm, patterns, PHP, оопЭти 2 шаблона проектирования описаны в книге Мартина Фаулера «Шаблоны корпоративных приложений» и представляют собой способы работы с сохранением данных в объектно-ориентированном программировании.
Пример шаблона Active Record
class Foo
{
protected $db;
public $id;
public $bar;
public function __construct(PDO $db)
{
$this->db = $db;
}
public function do_something()
{
$this->bar .= uniqid();
}
public function save()
{
if ($this->id) {
$sql = "UPDATE foo SET bar = :bar WHERE id = :id";
$statement = $this->db->prepare($sql);
$statement->bindParam("bar", $this->bar);
$statement->bindParam("id", $this->id);
$statement->execute();
}
else {
$sql = "INSERT INTO foo (bar) VALUES (:bar)";
$statement = $this->db->prepare($sql);
$statement->bindParam("bar", $this->bar);
$statement->execute();
$this->id = $this->db->lastInsertId();
}
}
}
//Insert
$foo = new Foo($db);
$foo->bar = 'baz';
$foo->save();
В этом упрощенном примере, дескриптор базы данных вводится в конструкторе Foo (Использование инъекции зависимостей здесь позволяет тестировать объект без использования реальной базы данных), и Foo использует его, чтобы сохранять свои данные. Do_something — просто метод-заглушка, заменяющий бизнес логику.Читать полностью »
Публичные свойства, геттеры и сеттеры или магические методы?
2013-10-20 в 21:24, admin, рубрики: magic methods, php Как правило, мнения расходятся касательно того, хорошей ли практикой является использование публичных свойств в PHP классах или всё же стоит использовать геттеры и сеттеры (и хранить свойства приватными или защищёнными). Ещё одно, компромиссное мнение, состоит в том, чтобы использовать магические методы __get()
и__set()
.
У каждого из подходов существуют свои достоинства и недостатки, давайте взглянем на них…
Читать полностью »
Дайджест интересных новостей и материалов из мира PHP за последние две недели № 28 (6—20 октября 2013)
2013-10-20 в 18:38, admin, рубрики: composer, drupal, gae, HHVM, laravel, php, rfc, slim, symfony 2, symfony cmf, yii, Zephir, Блог компании Zfort Group, Веб-разработка, дайджест, Новости, подборка, ссылки, метки: composer, drupal, gae, HHVM, laravel, PHP, rfc, slim, symfony 2, symfony cmf, yii, Zephir, Веб-разработка, дайджест, новости, подборка, ссылки
Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Приятного чтения!
Читать полностью »
PHP JSON был удален из PHP 5.5?
2013-10-20 в 17:33, admin, рубрики: json, json_decode, json_encode, linux, open source, phpВозможно некоторые из Вас обновив php до версии 5.5 на своих Linux машинах, обнаружили добрую часть своих приложений неработающими по причине фатальной ошибки похожей на эту:
PHP Fatal error: Call to undefined function json_encode()
Почему так произошло читайте в вольном переводе cтати «Has PHP JSON been removed in PHP 5.5?»,
под катом.
Читать полностью »
Стали доступны свежие результаты тестирования производительности фреймворков от Techempower
2013-10-17 в 12:50, admin, рубрики: benchmark, framework, php, веб-дизайн, Веб-разработка, метки: benchmark, frameworkДля тех кто еще не знаком с тестами веб фреймворков которые регулярно проводит Techempower очень рекомендую сделать это сейчас заглянув по ссылке www.techempower.com/benchmarks/
Пока что для широкого доступа опубликованы только результаты 6-го раунда. С этого времени добавились несколько новых ферймворков к каждой из платформ (кстати включая и PHPixie) и разработчики уже больше двух месяцев ждали следующего раунда, который вот-вот будет иметь место.
Drupal 8 — революционные изменения
2013-10-16 в 9:09, admin, рубрики: cms, drupal, php, метки: cms, drupal, PHPВ быстро меняющемся мире IT, да и не только, выигрывают те, кто постоянно развиваются: остановился — значит проиграл. Это справедливо в частности и для CMS. Стараясь идти в ногу со временем, не за горами выход новой версии CMS Drupal 8.
На данный момент, доступна 3 альфа версия Drupal 8. Было создано несколько инициативных групп, работающих над основными направлениями: Управление конфигурациями, Дизайн, Мобильные устройства, Многоязычность и Вебсервисы. Над ядром работает около 1600+ разработчиков. В новой версии сделано более 500 нововведений и изменений. Ниже я упомяну, по моему мнению, наиболее значимые из них. Изменения описываются по отношению к Drupal 7, т.е. предполагается что читатель знаком с Drupal 7.
Читать полностью »
Мой путь php-разработчика. История создания онлайн конструктора веб-форм FormDesigner.ru
2013-10-16 в 6:10, admin, рубрики: php, Веб-разработка, метки: PHPВ данном посте я расскажу, как я начал заниматься php-программированием, как я развивался и как появился на свет сервис по генерации веб-форм FormDesigner.ru.
Над созданием подобного сервиса я задумывался давным-давно. Все началось в далеком 2008г.
Как только я начал заниматься веб-программированием мне хотелось создать что-то интересное и полезное для пользователей. Читая на различных форумах темы, в которых пользователи просили совета, как организовать на сайте форму обратной связи или форму для проведения опроса или голосования, пришла в голову идея сделать скрипт по генерации веб-форм различной сложности. Чтобы пользователь без специальных знаний и навыков в программировании мог без проблем создать нужную ему форму, потратив на это минимум сил и времени.
Читать полностью »