Простой блог на фреймворке Laravel 5

25.08.2015

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

Много лет назад я написал CMS для своего блога на чистом php с БД на файлах, глобальная паутина не стоит на месте и уже давно пришло время все переделывать. 
Тратить много времени на блог не хочется, но и в очередной раз использовать WordPress тоже нет желания, захотелось поиграться с Laravel и в результате получилась эта статья и новая CMS для блога.  
То что Вы сейчас видите на сайте - уже новая версия, сделанная на нем.  
В этой статье я опишу как начать разрабатывать блог на laravel 5 c MySQL. 
Сделать блог на этом фреймворке очень просто, но не на столько, чтобы у меня нашлось время сделать полноценный туториал от начала до конца. Я думаю это и не нужно, главное начать, а дальше пойдет)
Если хотите полностью код со всеми коммитами, ищите у меня на визитке ссылку на аккаунт на github, подписывайтесь, клонируйте, форкайте.

Заливка WSO через adminer в CMS Cotonti

11.07.2015

Неприятная ситуация: попался недобросовестный заказчик, который после приема работы вместо оплаты сменил пароли и перестал отвечать в skype. У меня крайне редко такое бывает, но вот попался халявщик, я прождал значительное количество дней ожидая ответа, а ответа от него больше нет.
Доступ запрещен
Чтобы не допустить такой несправедливости к себе, было принято решение залить на сайт шелл (WSO 2.5), это утилита, которая предоставляет веб-интерфейс для удаленной работы c сайтом на уровне операционной системы (на правах www-data пользователя). Как это получилось сделать без доступа к FTP или SSH - читаем далее.

Установка на Linux нескольких версий PHP

03.11.2014

Не секрет, что в PHP не соблюдается обратная совместимость. Язык постоянно развивается, добавляются новые плюшки, плохие старые библиотеки и функции выбрасывают. Актуален вопрос тестирования или разработки на разных версиях пыхи.

Рассмотрим один из способов. Нам поможет PHPBrew.
PHPBrew MAC

В функционале утилиты PHPBrew: построение множества версий php с настраиваемым набором расширений внутри домашней директории (без root доступа), компиляция php модуля apache для разных версий отдельно, простое переключение версий (без root доступа).
Смотрите дальше как избежать некоторых трудностей в работе с этим полезным инструментом.

Установка веб-сервера Zend Server на Windows

26.08.2012
Захотелось посмотреть как работает Zend Server на Windows. В этом скринкасте представляю процесс установки.
Внизу будет ссылка на скачивание версии, где я убрал триальное ограничение (насколько успешно пока точно не знаю).
Версия сервера 5.6. Вы уж извините, но на виртуалке только Windows XP, семерки свободной не было. Это не должно сильно повлиять. Перейдем к установке:

Запуск установки
...

Zend Framework, PHPUnit, модульное тестирование

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

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

В Zend Framework для этого уже все подготовлено (ну почти). Речь пойдет о версии ZF 1.11.11, которая сейчас считается последней stable.

При создании проекта, рядом с каталогом application создается каталог tests, в котором файлы phpunit.xml, bootstrap.php и application/controllers/IndexControllerTest.php Контроллер в последнм файле наследует класс Zend_Test_PHPUnit_ControllerTestCase, который создает нам основу для написания тестов для инструмента PHPUnit.
PHPUnit
PHPUnit можно установить через pear в консоли:
pear channel-update pear.php.net
pear upgrade pear
pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear channel-discover pear.symfony-project.com
pear install phpunit/PHPUnit

...

Zend Framework - Регистрация и авторизация

01.01.2012
Продолжаю изучать Zend Framework, для этого реализовываю несложный тестовый проект. Сейчас покажу какая у меня получилась регистрация-авторизация пользователей. Этот код берет за основу пример авторизации из документации и доводит его до рабочего состояния, а также дополняет регистрацией.
Zend Framework
Я только начал разбираться с Zend, поэтому вряд ли стоит смотреть на этот код как на образец, лучше поискать ошибки и указать мне на них :)

При помощи Zend Tool создаем необходимые классы и action-ы:
zf create controller Auth
zf create action login Auth
zf create action login Auth
zf create form Login
zf create form Signup

В mySQL создаем таблицу для пользователей:

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(50) NOT NULL,
  `password` varchar(32) DEFAULT NULL,
  `password_salt` varchar(32) DEFAULT NULL,
  `real_name` varchar(150) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `username` (`username`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
...

Установка Zend Sever с Zend Framework

28.12.2011
Установка Zend Sever с Zend Framework
- на Linux, как оно есть на самом деле...

zfCE

Вступление

Уже приличное время работаю с Kohana, пришло время попробовать "монстра" от Zend. Заодно решил поставить ихний Zend Sever [s]с блэкджеком[/s]. Посмотрим насколько все просто или не очень.

Устанавливаем через репозитории,,,

Настройка дополнительного локального Linux сервера

12.11.2011
Мой домашний зоопарк пополнил старенький зверек Intel Celeron 3,2Ghz. Компьютер должен работать без перезагрузки, на нем будут трудиться мои веб-пауки и другие ресурсоёмкие системы. Для этого снабдил его дополнительным вентилятором и поставил в самую дальнюю комнату, чтоб шум не мешал.
Сначала поставил на него Debian, но замучившись с настройкой wi-fi адаптера, снес ее и поставил Linux Mint 11.
linux mint 11
Настройка адаптера, как оказалось, была очень простой:
sudo apt-get install firmware-b43-installer

Установка связки apache-php-mysql не вызвала проблем, воспользовался синаптиком чтобы выбрать все нужные пакеты. Для быстрого обмена файлами между своим основным компом поставил Samba - софт для расшаривания файлов, в чем помог пакет для настройки с графическим интерфейсом.
gsamba
Но при копировании файла в 100 мб выяснилось что...

Локальный виртуальный сервер на Ubuntu

17.08.2011
Данный мануал поведает о том, как установить полноценный локальный Linux сервер для выполнения php скриптов на виртуальной машине VirtualBox и операционной системе Ubunu 11.04.
В первую очередь эта запись для моих клиентов, которые заказывают сложные системы веб-приложений, которые при переносе с нормального сервера на всякие дилетантские Windows сборки серверов типа Denwer, отказываются работать. Я много лет не пользуюсь такими сборками, как и ОС Windows, поэтому не могу предусмотреть некоторые различия в поведении кода на таких демо серверах.
Если вы, вместо денвера, сделаете сервер на линуксе (пускай даже на виртуальной машине), то вы как минимум получите опыт работы с этой ОС и безопасный независимый от основной ОС сервер, который можно как забэкапить, так и в любой момент удалить или заменить. Это будет именно полноценный сервер, с возможностью использовать системные linux команды, скрипты на perl и python (например скрипт для создания скриншотов сайтов), менять и снимать любые ограничения, устанавливать и удалять любое ПО без влияния на основную ОС. Очень многие серьёзные веб-ресурсы и хостинги используют операционные системы Ubuntu и Debian.
...

Создание фильтра в opencart (1.4.8)

31.12.2010
В этой записи я описал инструкцию как в магазинном движке opencart версии 1.4.8 добавить возможность фильтровать записи по определенному полю, в инструкции это возраст (для магазина детских игрушек).

Скрипт для проверки заплаток в сайтах на распрастраненных движках

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

Компьютерный сленг

17.05.2010

Неплохой словарик... ;) взят из вики.

    * :-) — смайлик, улыбка, краткое изображение улыбающегося человека во время текстового общения.
    * ![выражение] — отрицание фразы, соответственно выражениям !(expession) в некоторых языках программирования. Например: «!волнует» — «не волнует». Можно использовать во фразах: ЯТ!П — Я такое не пью.
    * <3 — (англ. Love (a sideways heart) — Любовь (лежащее на боку сердце)[источник не указан 223 дня]
    * 10x — (англ. Thanks) спасибо
    * 2 — (англ. to — к, до, в) указание направления, обращение (например: 2 имя)
    * 2.71 — замена буквы «e» (применяется для эвфемизации матерных выражений)
    * 2U — (англ. To you) Для вас
    * 3 — В качестве японского именного суффикса -?? (яп. -сан?)[6]. Цифра 3 в японском языке читается и записывается хираганой абсолютно так же.
    * 3.14 — замена слога «пи» (иногда применяется для эвфемизации матерных выражений)
    * 4 — (англ. for — для) например, «4U» — (англ. for you) «для тебя».
    * 4YI — к вашему сведению. См.: FYI.