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

Захотелось мне прописывать экшны и параметры с проверкой в моем контроллере примерно таким образом:

class Controller {     /**      * Тестовое действие      * @a /^[0-9]+$/i      * @b /^[0-9a-z]+$/i      */     function testAction ( $a, $b = 'something' ) {         echo 'a: '.$a.', b: '.$b;     } } 

Идею прописывать необходимые параметры передаваемые в URL прямо в аргументах функции я подглядел в Symfony2. Там же использовались комментарии PHPdoc для определения маршрутов. Выглядело это как чудо и я решил разобраться магия это или наука.

Disclaimer!
Всё написанное не претендует на технологическую новизну, а является демонстрацией возможностей PHP Reflection API. Преобразователь ЧПУЧитать полностью »

Логотип фреймворка Nette Было очень приятно совершенно случайно обнаружить сайт этого фреймворка во второй половине рабочего дня. Новые фреймворки появляются редко, а тем более редко попадаются механизмы, которые нравятся с первого взгляда. На Хабре описания Nette я не нашел, поэтому поспешил поделиться своей находкой с Вами.

Во-первых, мне сразу приглянулось название. Nette. Это почти как Latte. Только Nette. Как оказалось позднее, есть и Latte — собственный встроенный подающий надежды шаблонизатор. Ого.

Во-вторых, при беглом осмотре сразуЧитать полностью »

Привет, читатели!
Хочу рассказать о проекте Agora, которым занимается наша команда.
Agora — это платформа, позволяющая организовать дистрибьюцию товаров через интернет. Платформа интегрируется с ERP дистрибьютора и автоматизирует прием заказов, просмотр остатков, получение актов взаиморасчетов и много другое. Пользователь работает в веб-интерфейсом платформы и все его действия отражаются в ERP дистрибьютора.

В статье “Как я написал «драфт» системы В2В” в блоге нашей компании я описал некоторые проблемы, c которыми мы столкнулись, создавая нашу платформу.Читать полностью »

Веб разработка / [Перевод] PDO vs. MySQLi При обращении к базе данных в PHP, у нас есть два варианта: MySQLi и PDO. Что нужно знать, прежде чем выбрать какой? Различия, поддержка баз данных, стабильность и производительность — это все обсудим в этой статье.

Краткая таблица:

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

PDO MySQLi
Поддержка баз данных 12 различных драйверов только MySQL
API ООП ООП + процедурный
Соединение Легкое Легкое
Именованные параметры Да Нет
Object mapping Да Да
Prepared Statements
на стороне клиента
Да Нет

В большинстве веб-приложений статические JavaScript-файлы устраивают разработчика на 100%. Однако же иногда бывает лучшим решением подключить PHP и сгенерировать содержимое JS-файла «на лету» (например, получить актуальные цены на продукты из БД и передать их JavaScript-программе для валидации формы заказа). Как же это сделать?

Способ первый: простой

Конечно же, самое простое решение состоит в том, чтобы включить код PHP внутрь секции вашего HTML-шаблона, поскольку есть шансы, что у него будет расширение .php.

<script>     var jsVar = "<?php echo $phpVar ?>"; </script>


Даже если расширение шаблона .htm или .html, то в большинстве случаевЧитать полностью »

Распространенное мнение о появлении панка, состоит в том, что панк был реакцией на крайности современного рока, в частности прогрессивного рока того времени. Реальность, безусловно, намного сложнее, но я подозреваю, что доля правды в этом есть. Рок-н-ролл в поздние 60-е и 70-е, похоже, был областью “Золотых Богов”, недоступной простому смертному. Контраст между группами типа Rush и Black Flag был огромен.

Шутки ради, давайте взглянем на ударника группы Rush Нила Пирта. Вот его барабанная установка:

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

Twitter / Простой сервис уведомлений через Twitter
Twitter уже для многих людей стал повседневным средством общения и получения информации. Лично я каждый день открываю его по несколько раз с телефона, да и на десктопе клиент запущен постоянно.
Возникла идея, что неплохо бы получать через него какие-то напоминания, раз уж я пользуюсь им каждый день.
За вечер был написан небольшой бот для напоминаний.

Само собой первая мысль была найти аналоги. Несколько таких сервисов можно найти после недолгого гугления.
Но меня они не устроили по нескольким причинам.

Некоторые такие сервисы предлагают заполнить форму наЧитать полностью »


Вступление

Много существует статей на Хабре, описывающих интересные и сложные аспекты веб-разработки, но много существует читателей, которые, находясь в начале своей карьеры веб-разработчика, хотели бы видеть материал, который позволил бы сделать первый шаг от «PHP за 24 часа» до разработки на серьезном уровне, и я хотел бы поделиться своим опытом в этом деле.

Особенности веб-приложения делают его разделенным на две части: клиентскую и серверную. На стороне клиента работает код на JavaScript (может быть, где-то можно найти и VBScript, но мы, пожалуй, не будем рассматривать этот случай), на серверной же — много что, в принципе, но мы рассмотримЧитать полностью »

image

Уважаемые веб-разработчики, программисты, руководители проектов и просто увлеченные программированием, от лица компании Microsoft я рад пригласить вас на новую полностью технологическую конференцию WebProfessionals, посвященную технологиям веб-разработки.

Конференция пройдет 3 апреля в городе Самара, в отеле Holiday Inn, где соберутся несколько сотен участников, чтобы выслушать ведущих экспертов компании Microsoft и представителей сообщества разработчиков, компаний Abbyy, 1C-Битрикс, Parcsis/Turbomilk, Inln,Читать полностью »

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


Для кастомизации magento можно использовать перезапись методов в блоках и модулях (это самый распространенный способ), но можно воспользоваться и другим способом – это создание наблюдателя и нового события.

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


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