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

Доброго времени суток, товарищи.

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

Я занимаюсь разработкой ресурса для кросс-постинга в социальные сети. Изначально продукт был предназначен только для Вконтакте и Facebook и для работы с API было выделено по одному контроллеры и по одной модели, плюс модель для работы с cURL. Пока была необходимость работать только с двумя социальными сетями такая классовая структура проекта не выглядела удручающей. Но стоило добавить работу ещё с несколькими соц. сетями, стало очевидно что такая модель ведёт к хаосу и полному бардаку как на стороне работы с API так и на стороне клиента. Чего стоит ветвление из 10 else if для просмотра данных пользователя или 10 ajax запросов для отправки сообщений в социальные сети. Было принято решение отрефакторить весь этот ужас, воспользовавшись паттерном Фабрика. Всё представлялось просто: описываем интерфейс с общим функционалом работы с API, делаем фабричный класс и единственный контроллер, который будет реквайрить фабричный класс. Но как только начали переносить функционал на новую парадигму, нас осенило. Вся работа в бд, пользовательскими данными, логами и https держится на CI моделях и библиотеках. Тут то я понял как был неправ, когда писал в курсовой что CodeIgniter не накладывает ограничений на разработчика — ещё как накладывает. Стоит немного шагнуть в своём решении за рамки модели MVC, возникает проблема — как включить это решение в проект.
Читать полностью »

Disclaimer

Этот урок поможем вам познакомиться с Yii2. В данный момент Yii2 абсолютно не готов для продакшена. Я не рекомендую использовать его в рабочих проектах.

Начнём

Сегодня авторы Yii Framework анонсировали публичное превью Yii2. Между Yii1 и Yii2 довольно много изменений.

Этот урок описывает создание простого блога на Yii2. В процессе мы будем скачивать и устанавливать Yii2, создавать базовое приложение, подключаться к базе данных и описывать логику создания, обновления, чтения и удаления постов.

Для продолжения вам потребуется:

  • Вебсервер, например Apache или Nginx. Я буду использовать Nginx. Использование Apache будет отличаться незначительно, поэтому не волнуйтесь если у вас нет поблизости сервера с Nginx.
  • Север базы данных для нашего приложения. Я выбрал MySQL 5.5
  • Базовые знания PHP. Я постараюсь объяснять всё так просто, как это возможно, но чем лучше вы знаете PHP, тем проще вам будет двигаться дальше.
  • Базовые знания Yii или MVC. Если у вас нет никакого опыта работы с MVC, то я рекомендую вам прочесть основы MVC. Вы можете прочитать этот урок и без знания MVC, но вам будет гораздо легче понимать происходящее, разбираюсь в теме MVC.

Вперёд!
Читать полностью »

В своем комментарии: habrahabr.ru/post/177709/#comment_6169843 я описал проблему расширения из соответствующей статьи, кроме редиректов также есть проблемы с выводом логов AJAX запросов и возможно в некоторых случаях с iframe заголовками.
Я решил разобраться почему это происходит и понял, что то мое утверждение было слишком категоричным. После того как webRequest перестал быть экспериментальным developer.chrome.com/extensions/experimental.webRequest.html теперь можно писать логеры «на заголовках» обрабатывающие все, ранее проблемные, ситуации. Я не ставлю своей целью разобрать все такие ситуации, просто хотел бы показать — как можно модифицировать расширение Chrome Logger для решения части вышеуказанных проблем и возможно заинтересовать желающих разобраться с расширениями Google Chrome на простом примере. Может быть у кого-то после прочтения поста возникнет желание написать свое расширение.
Читать полностью »

Логирование ошибок PHP на почту
Недавно поймал себя на мысле, что мне в PHP не хватает удобной работы с ошибками, как при разработке, так и в продакшене.

Действительно, держать tail -f /var/log/php_error.log в консоле можно, но переключаться в нее и назад мне показалось неудобным. К тому же, ошибки в продакшене — каждая из них это потерянный клиент, человек, которого мы не порадовали и с этим нужно бороться.
Читать полностью »

Новая версия WebMatrix 3: интеграция с облаком, TFS, Git, удаленный доступ к сайтам
Выпущена очередная версия бесплатного редактора кода и интегрированного средства разработки приложений WebMatrix 3. Среди функциональных возможностей WebMatrix 3 можно выделить следующие:

  • поддержка кода проектов HTML/CSS/JS, ASP.NET, PHP, Node.js;
  • встроенный редактор БД SQL Server и MySQL;
  • поддержка редакторами Jade, EJS, LESS, CoffeeScript;
  • галерея шаблонов популярных open source CMS: Joomla, Drupal, DotNetNuke, Orchard CMS, WordPress, phpBB и десятков других;
  • готовые стартовые проекты, в том числе Node.js c Express и Socket.io;
  • поддержка автодополнения и intellisense для ASP.NET, PHP, Node.js;
  • мобильная разработка: эмуляторы для мобильной веб-разработки, шаблоны мобильных сайтов;
  • инструменты анализа сайтов на вопросы SEO, ошибки, производительности;
  • система и галерея расширений от сообщества разработчиков;
  • поддержка галереи NPM-модулей для Node.js и репозитория Nuget для ASP.NET;
  • встроенная интеграция с системами контроля версий Git и TFS;
  • интеграция с облаком Windows Azure, публикация в облако проектов PHP, Node.js и ASP.NET, удаленный доступ к сайтам;
  • удаленный доступ к сайтам и публикация через протоколы FTP, WebDeploy, доступ к облачным размещениям.

WebMatrix 3 доступен бесплатно для загрузки на официальном сайте http://webmatrix.net/.

Быстрый обзор новинок третей версии доступен в этом видео на сайте Channel9. Для более подробного описания возможностей редактора обратитесь к этой статье и этому анонсу самой первой версии. Ниже вы найдете информацию о нововведениях в третей версии средства разработки.
Читать полностью »

Долгожданное превью не менее долгожданного фреймворка Yii 2 стало доступно для всех желающих.

Вольный перевод официальной новости:
«Мы рады сообщить, что превью Yii 2 доступно на Github. Это важное событие в разработке Yii 2, которая началась более двух лет назад — с тех пор мы полностью переписали его.

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

Мы искренне приглашаем вас поиграться с кодом Yii 2 и написать о своих впечатлениях нам, а так же приглашаем поучаствовать в его разработке»

Yii 2 на Github
Багтрекер Yii 2
Ветка форума посвященная Yii 2
Читать полностью »

Создаем динамические веб сайты с помощью PHP, MySQL, JavaScript и CSS. 2 е изд
Название оригинала: Learning PHP, MySQL, JavaScript, and CSS: A Step-by-Step Guide to Creating Dynamic Websites
Автор: Р. Никсон
Перевод книги: Н.Р. Вильчинский
Дата выхода: середина мая

В этом месяце у нас выходит второе обновленное издание западного бестселлера «Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript и CSS 2-е изд.». Книга также пользуется популярностью у нас. Отзывы на ozon.ru.
Читать полностью »

Здравствуйте жители Хабрахабра.

Возможно эта идея не нова (скорее всего так и есть) и я очередной велосипедист, но все же я хотел бы показать вам то что пришло мне в голову. Надеюсь этот метод кому-нибудь поможет, так же ожидаю советов от разработчиков, кто сталкивался с этим или каких-либо других вариантов. Поехали?

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

В марте этого года REG.RU и Jelastic объявили о стратегическом партнерстве. В ближайшее время у пользователей появится возможность подключить на сайте REG.RU популярные программные решения на базе облачной хостинг-платформы Jelastic PaaS.

Чтобы свести к минимуму количество возможных багов, было решено запустить открытый бета-тест облачного хостинга Jelastic. Участникам тестирования будет доступно множество программных решений, среди которых Joomla, WordPress, Magnolia и другие.

Что же такое Jelastic?

Jelastic – новое поколение хостинг-платформ для Java и PHP, предоставляющих возможность запуска и масштабирования Java / PHP-приложений без изменения кода.
Читать полностью »

Введение

Здравствуй, $habrauser!

Бывает так, что вам нужно импортировать файл Excel в базу MySQL, но готового решения нигде нет. Вот и я, когда меня попросил друг поискать легкий способ импорта, сперва решил загуглить поискать решение. Увы запрос php excel to mysql не дал ничего конкретного, или же был довольно таки не удобен. Тогда же я решил найти библиотеку для работы с Excel на PHP, мне попалась PHPExcel. Но опять же меня ждало разочарование, запрос phpexcel to mysql не дал ничего путного (я ленивый пользователь и дальше 1й страницы не хожу). В итоге я решил создать свой велосипед скрипт, которым и хочу поделиться с вами.
Читать полностью »


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