Рубрика «php» - 174

Вы пробовали заказать в Макдональдсе жаренного на орудийном шомполе поросенка с домашним вином и, на десерт, девушку рядом с вами за столиком, для приятной беседы во время трапезы? Даже не думали об этом?? Вот-вот — статья как раз об этом, о стереотипах программиста и лени, двигающей прогресс. А если серьезно — в статье мы напишем очень полезный многим высокопроизводительный сетевой сервер на PHP за пару часов. Я совершенно серьезно :-)
Производительный сетевой сервер на PHP
Читать полностью »

PhpStorm 7: за пределами языкаСпешим сообщить о выходе PhpStorm 7 — новой версии IDE для разработки на PHP от JetBrains.

PhpStorm 7 позволит вам не отставать от последних изменений в PHP и других языках для веб-разработки. В этом выпуске IDE интегрирован ряд современных инструментов и предусмотрено еще больше возможностей для расширения за счет поддержки основных PHP-фреймворков.

В 7-й версии вас ждут многие новые фичи, а также улучшения, коснувшиеся всех подсистем продукта.

Давайте посмотрим, что нового в PhpStorm 7!
Читать полностью »

В работе на языке Python я частенько использую библиотеку Pytils для работы с русским текстом, и мне очень не хватало этой библиотеки при работе на PHP. Возможно, я искал плохо, но все, что я находил, не предоставляло подобных возможностей либо не слишком отвечало моим понятиям о чистом коде.

И вот, однажды я решил портировать библиотеку на PHP, и теперь хочу поделиться ею с народом и очень надеюсь на помощь в ее улучшении: буду рад советам, баг-репортам и особенно pull-реквестам. Библиотека находится на GitHub'е: github.com/Andre-487/php_rutils

Возможности библиотеки

PHP RUtils — порт Pytils на PHP. Это утилиты для работы с русским текстом. Утилиты разделены на следующие модули (классы):

  • Numeral — работа с числами: склонение существительных в зависимости от количества, числа прописью, суммы денег в рублях и копейках прописью.
  • Dt — работа с датами: расширение формата дат PHP русскими именами месяцев, дней недели; временные периоды (например, 24 976 дней назад).
  • Translit — транслитерация, подготовка строк для использования в URL'ях, именах файлов.
  • Typo — небольшой набор правил типографики простого текста.

Читать полностью »

Эти 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 — просто метод-заглушка, заменяющий бизнес логику.Читать полностью »

Как правило, мнения расходятся касательно того, хорошей ли практикой является использование публичных свойств в PHP классах или всё же стоит использовать геттеры и сеттеры (и хранить свойства приватными или защищёнными). Ещё одно, компромиссное мнение, состоит в том, чтобы использовать магические методы __get() и__set().
У каждого из подходов существуют свои достоинства и недостатки, давайте взглянем на них…
Читать полностью »

Дайджест интересных новостей и материалов из мира PHP за последние две недели № 28 (6—20 октября 2013)

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

Приятного чтения!
Читать полностью »

Возможно некоторые из Вас обновив php до версии 5.5 на своих Linux машинах, обнаружили добрую часть своих приложений неработающими по причине фатальной ошибки похожей на эту:

PHP Fatal error: Call to undefined function json_encode()

Почему так произошло читайте в вольном переводе cтати «Has PHP JSON been removed in PHP 5.5?»,
под катом.
Читать полностью »

Для тех кто еще не знаком с тестами веб фреймворков которые регулярно проводит Techempower очень рекомендую сделать это сейчас заглянув по ссылке www.techempower.com/benchmarks/

Пока что для широкого доступа опубликованы только результаты 6-го раунда. С этого времени добавились несколько новых ферймворков к каждой из платформ (кстати включая и PHPixie) и разработчики уже больше двух месяцев ждали следующего раунда, который вот-вот будет иметь место.

Читать полностью »

image В быстро меняющемся мире IT, да и не только, выигрывают те, кто постоянно развиваются: остановился — значит проиграл. Это справедливо в частности и для CMS. Стараясь идти в ногу со временем, не за горами выход новой версии CMS Drupal 8.

На данный момент, доступна 3 альфа версия Drupal 8. Было создано несколько инициативных групп, работающих над основными направлениями: Управление конфигурациями, Дизайн, Мобильные устройства, Многоязычность и Вебсервисы. Над ядром работает около 1600+ разработчиков. В новой версии сделано более 500 нововведений и изменений. Ниже я упомяну, по моему мнению, наиболее значимые из них. Изменения описываются по отношению к Drupal 7, т.е. предполагается что читатель знаком с Drupal 7.
Читать полностью »

В данном посте я расскажу, как я начал заниматься php-программированием, как я развивался и как появился на свет сервис по генерации веб-форм FormDesigner.ru.

Над созданием подобного сервиса я задумывался давным-давно. Все началось в далеком 2008г.

Как только я начал заниматься веб-программированием мне хотелось создать что-то интересное и полезное для пользователей. Читая на различных форумах темы, в которых пользователи просили совета, как организовать на сайте форму обратной связи или форму для проведения опроса или голосования, пришла в голову идея сделать скрипт по генерации веб-форм различной сложности. Чтобы пользователь без специальных знаний и навыков в программировании мог без проблем создать нужную ему форму, потратив на это минимум сил и времени.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js