Ограничение доступа при помощи .htaccess

Иногда удобным методом ограничить доступ к разделам сайта  (например, к панели администратора или каким-то конфиденциальным данным) есть ограничение доступа при помощи .htaccess (или, по другому, basic authentication). Конечно, с помощью скриптов это можно сделать изящнее, удобнее, а иногда даже безопаснее. Дело в том, что вся информация для получения доступа отправляется с каждым запросом в виде заголовков. Но если это не критично, то можно использовать; это наверное, самый быстрый вариант.

Работа с формами у Symfony framework (Урок 12. Формы. Введение)

В этой заметке научимся создавать и обрабатывать формы у Symfony framework.

Формы можно как создавать "с нуля", так и использовать ORM (модели таблиц с баз данных). Для начала рассмотрим второй вариант. На практике чаще всего встречается именно такие формы. Ведь в большинстве случаев все, что вводится в форме где-то сохраняется (в БД).

Размещение проекта на Symfony framework на сервере

Как вы знаете с уроков, публичная директория Symfony framework по умолчанию web/, а рядом с ней лежат директории фреймворка. Это значит, что для нормальной работы и красивых адресов DocumentRoot на сервере должен быть настроен именно на папку web/. Но это не всегда удобно и даже не всегда возможно на хостингах. В большинстве случаев у вас не будет возможности править DocumentRoot.

Растягивание блока на пустое пространство родительского элемента (div expand)

Сегодня столкнулся с неприятной проблемой - при блочной верстке понадобилось растянуть блок на пустое пространство родительского элемента по вертикали (div expand). Естественно, по горизонтали никакой трудности нету - просто задать отображение блочным (display: block) и будет счастье =).

Список рутинных задач web-программирования

programmistПри изучении нового фреймворка, или языка web-программирования иногда возникает непонятное чувство замешательства, вы ставите себе вопросы: Когда можно считать, что вы выучили продукт на приличном уровне? Когда можно считать, что вы его знаете, а если некоторые вещи и не знаете, то сможете налету схватить/прочитать в мануале/прогуглить?

Работа с базами данных у Symfony framework. Введение (Урок 9. Ознакомление с Doctrine)

Мы уже не маленькие, уже умеем работать с контроллером, настраивать routing систему для обработки входных данных контроллером и создавать представление. Следующим логическим шагом будет обучение работе с базами данных у Symfony framework на примере Doctrine.

Конвертация движка таблицы в MySQL

Иногда нужно конвертировать движок таблицы MySQL в уже существующей базе данных.

Например, мне понадобилось создать связи между таблицами. Для их создания таблицы должны быть InnoDB (чтобы поддерживать foreign key).

Старые Wordpress (и не только) проекты используют MyISAM, потому что до версии MySQL 5.5.4 это был движок по умолчанию. Но он не поддерживает множество полезных функций, таких как внешние ключи, транзакции и т.д. Все эти функции поддерживает более современный движок InnoDB, который теперь используется по умолчанию.

ru en

Create relations in MySQL database using phpmyadmin

After reading this article, you will be able to create relations in MySQL database using phpmyadmin. If for some reasons you don't want to use phpmyadmin, please look at SQL queries below.

So, what reason to store relations in the database? After all, your application also solves this task. Actually, it's all about the restrictions and actions upon changes, which can be set using relations.

For example, you can deny deleting category while any article connected with it. Or remove all articles if category removed. Or set NULL in relation field. In any case, using relations increases fault tolerance and reliability of the application.

You need to use an InnoDB engine to create a relation. Only this engine supports foreign keys. If you have MyISAM tables, you can read how convert it to InnoDB.

Symfony framework. Шаблоны. Assets. Assetic. Stylesheets (Урок 8. Assets и Twig)

Итак, в предыдущем уроке мы научились использовать шаблонизатор Twig у Symfony framework. Теперь мы знаем, как написать простенький шаблон. Но не знаем, как подключать внешние компоненты (stylesheets, js, images) и т.д., а также создавать ссылки на собственные страницы.