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

Сделал я недавно некий тест, который выдал любопытные данные. Коими хочу поделиться, дабы помочь многим прояснит спорные ситуации.
Везде только и пишут, что насколько быстры массивы, насколько медлителен Active Record… Но когда видишь конкретные цифры гораздо легче понимать что на сколько лучше другого.

Используемые материалы:

— обычный ноутбук: Intel core 2 duo 2.13GHz, RAM 6 GB
— php 5.3
— apache 2.2
framework Yii 1.1.10
Active Record

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

Данный пост является переводом не статьи, как принято, а доклада+презентации, поэтому текст поста достаточно вольный.

Думаю, всем хорошо известно и очевидно, что PHP — один из самых популярных языков программирования, на котором написано множество веб-проектов, начиная с персональных homepage-страниц и заканчивая мастодонтами типа Facebook, Vimeo, WordPress и даже YouPorn :)

PHP появился в 1995 году, при этом полноценная поддержка ООП была реализована только в PHP5, который вышел в 2005 году. За это время было написано большое количество кода, как хорошего, так и плохого, а точнее сказать сильно устаревшего и тяжело сопровождаемого.

Многие проекты, как и экосистема PHP в целом, к настоящему моменту стали представлять подобие оживленного городского квартала.

Как реанимировать ваш PHP проект с помощью Symfony2 компонентовЧитать полностью »

Фреймворк для автоматического тестирования веб-приложений на PHP — Codeception живет и развивается. Но в этот раз вместо скупой порции новостей я бы хотел представить вам первый скринкаст в котором показаны азы работы с Codeception. Если вы только читали про Codeception, то вам обязательно стоит взглянуть на него в действии. Ну а если не читали, но у вас есть веб-сайт, который бы вы хотели протестировать — тоже взгляните.
Читать полностью »

Когда я начинал программировать на PHP, еще мало кто думал о фильтрации переменных, все писали код на коленке и никто не слышал о словосочетании «SQL-инъекция». Не был исключением и я. Как и большинство людей, начинающих изучать веб-программирование, я не задумывался о том, какие переменные я получаю извне и где их использую. Я просто писал код, выполняющий именно то, что от него требовалось, а о безопасности я не беспокоился.

С тех пор утекло много воды, люди стали умнее, а способы взлома страниц — изощреннее. Сейчас, если ты не будешь отслеживать корректность данных, то тебя сможет взломать любой школьник, используя программы вроде Sqlmap или Havij (или любые другие). SQL injection, XSS, PHP injection — это лишь часть проблем, вызываемых непроверяемыми данными.
Читать полностью »

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

В этот раз мы приглашаем PHP и Web специалистов в наши офисы в Одессе 6 июля и в Киеве 10 июля на встречу с опытным веб разработчиком Лукасом Смиттом. Тема обсуждения: Exploring Symfony2 by Code. Внимание! Доклад и обуждение будут проходить на английском языке без перевода.

О докладе:
Speakers Corner: Знакомимся с Symfony2 в Киеве и Одессе вместе с гуру Lukas Kahwe Smith
В рамках доклада вы не увидите стандартных слайдов и презентаций. Мы будем вместе изучать элементы кода в эдиторе, вызывать команды в CLI и смотреть на получнный результат в браузере, подробно обсуждая все происходящее. Мы увидим как Symfony2 обрабатывает запрос от начала до самого конца. В ходе обсуждения станет понятно, как устроен Symfony2, каковы приемущества и основные недостатки использованных подходов. Будут также рассмотрены некоторые примеры опен-сорс решений, расширяющих стандартные возможности фрэймворка. По окончании мероприятия каждый вынесет для себя суть философии Symbony2, плюсы и минусы в использовании и общие конфепции. Вы можете просмотреть файлы заранее на github ->

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

Sypex Geo — быстрое определение города по IPВ начале года я публиковал статью Определение страны по IP: тестируем скорость алгоритмов, в которой упоминался мой «велосипед» отличающийся высокой скоростью работы. Одним из популярных вопросов стала возможность определения города по IP.

И вот несколько месяцев спустя, проект начинавшийся, как «for fun» перерос в самостоятельный проект.
Открыт отдельный сайт посвященный проекту Sypex Geo, на котором можно скачать свежие версии API и баз данных, а также ознакомиться с документацией.

Для желающих скорее протестировать правильность определения города по IP — вот ссылка на демо-страницу. А под хабракатом, я опишу некоторые технические подробности и приведу результаты небольшого тестирования.
Читать полностью »

В данном маленьком топике я хотел бы рассказать об одном очень простом рецепте (который многим из вас, вероятно знаком) в контексте фреймворка Yii. Речь идет о динамическом изменении правил валидации формы — когда правила валидации изменяются в зависимости от выбора пользователя вашего приложения, сделанного, например, путем выбора значения из списка или установленного чекбокса.
Читать полностью »

Каждый разработчик время от времени сталкивается с непонятными ошибками. Как правило, их причина неочевидна и чтобы их пофиксить, нужно детально понять, что происходит в коде. Для отладки на localhost удобно использовать модуль xdebug. Когда выполнение кода доходит до точки останова, xdebug соединяется к IDE, которая слушает порт (по умолчанию 9000). Если вы находитесь в прямой видимости удаленного сервера, то можно прописать в конфиге xdebug ваш ip, и производить отладку по той же схеме. Но если компьютер разработчика находится за NAT, то прямой доступ с сервера к нему невозможен.
Я давно использую xdebug на localhost, но, разобравшись с port forwarding, научился отлаживать на удаленном сервере и решил написать инструкцию, которая может быть полезной каждому разработчику, а главное — она работает.
В качестве IDE я использовал PhpStorm, браузер Chrome, ОС Ubuntu. Port forwarding без проблем работает и в windows.
Читать полностью »

Вместо предисловия
Занялся я с недавних пор Yii «по производственной необходимости». До этого сидел на ZF. Некоторые вещи в Yii кажутся неудобными или негибкими. В частности отсутствие раздельное конфигурации и работа с frontend/backend. Правда AR порадовал )). Но о чем это я?!

Ближе к делу
Начнем с самого начала, с удобной и гибкой конфигурации. Разумеется что перед решением по разделению конфигурации для паблик сервера и разработчика я полазил по форумам, посмотрел что пишут на хабре… Но все решения сводятся к определению имени хоста и решения на его основе о нужной конфигурации. Но увольте, есть же тестеры, есть команды разработчиков, есть много еще чего. В общем предлагаемый подход мне не нравится. Предлагаю свое решение по примеру ZF. Все очень просто. Я использую apache, поэтому решение для него. Весть секрет заключается в определении серверной переменной APPLICATION_ENV, а все остальное как везде.

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

Напишу сразу, чтоб небыло вопросов в дальнейшем.

Для меня:
backend — серверная часть (работа с БД, обработка данных, и т.д.), вообщем все, чего клиент не видит.
frontend — все что видит клиент (верстка, JS скрипты, флеш и т.д.)

Очень часто я вижу сообщения с очередными «велосипедами» как разделить фронтенд часть от бекенд части (мухи отдельно, котлеты отдельно).

Не так давно в одной из статей на Хабре предлагали фронтенд делать XSLT файлами (аля как в Java), еще раньше все ударились в MVC архитектуру. Но мне это все не нравится и я сейчас объясню почему.

1. Мне _не_ нравится что вьюхи лежат в проекте (да, я плохой backend dev и редко хочу копаться в вьюхах).
2. Мне _не_ нравится что я преобразовываю корректные данные чтоб они «красиво легли в вьюху».
3. Мне _не_ нравится что вообще связан фронтенд и бекенд.

Вам тоже это не нравится? Тогда вам подкат.

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


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