Основы Symfony 2

Опубликовано 2013.07.23 в разделе Php.

Выдержки и памятки из различных статей. Мои собственные заметки.
  • app/: Конфигурация приложения
  • src/: PHP код проекта
  • vendor/: Сторонние зависимости
  • web/: Корневая директория web-сервера

Создание бандла

Я работаю в режиме девелопера, так что корректируйте пути к файлам конфига. Пусть это будет бандл для работы с блогами.
  • В файл app/config/AppKernel.php добавил свой бандл
    1. $bundles[] = new Blog\BlogBundle\BlogBundle();
    куда добавлять - сразу поймёте, там всё просто.

Дневник программиста

Опубликовано 2013.07.18 в разделе Разное.

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

Yandex USER_NOT_PERMITTED

Опубликовано 2013.07.16 в разделе Разное.

При использовании сервиса Yandex Pinger может вываливаться ошибка USER_NOT_PERMITTED. В их доке и помощи об этом ни слова. Если вы используете один из плагинов к CMS - http://site.yandex.ru/cms-plugins/ - то вполне можете словить эту ошибку. Лечится так:
  • Открываете http://site.yandex.ru/searches/
  • Выбираете свой поиск
  • Вкладка "Индексирование"
  • Жмёте "Указать URL с помощью HTTP запроса"
  • Нажимаете "Редактировать" возле пункта "Список ваших IP-адресов"

Drupal hook_form_FORM_ID_alter

Опубликовано 2013.07.16 в разделе Drupal.

Друпальский хук hook_form_FORM_ID_alter бывает нужен очень часто. Данный хук следует применить, если нужно слегка(или не слегка) изменить любую форму на сайте. Это может быть форма добавления материала, форма модуля Webform или любого другого. Для того чтобы реализовать хук - потребуется модуль. Как его написать - смотрите тут. В нём можно сразу же реализовать hook_form_FORM_ID_alter, при условии, что вы знаете id формы. Если не знаете - то узнать его не составит труда.

News HTML

Опубликовано 2013.07.10 в разделе Html.

Если вам нужно создать страницу новостей на своём сайте - то сделать это достаточно просто. Каждая новость будет представлять собой отдельный логический блок. Это может быть как контейнер div, так и таблица. Пусть это будет div. Давайте сразу дадим этому html элементу класс news. Выглядеть это будет так:
  1. <div class="news">
  2. <!-- Содержимое новости-->
  3. </div>
А в содержимом новости будут её заголовок, фото, краткое содержание и ссылка на полную новость. Например:
  1. <div class="news">
  2. <h2>Всё новое из мира HTML</h2></div>

Array PHP MySQL

Опубликовано 2013.06.20 в разделе Php.

Для хранения данных удобно использовать массивы. В этой статье мы рассмотрим цикл Массив <-> База Данных <-> Массив Примеры будут приведены с использованием библиотеки PDO и устаревшего, но простого mysql_query. Начнём с массива. Предположим что у нас есть массив товаров примерно следующего содержания:
  1. $products = array(
  2. 'title' => 'Яблоки',
  3. 'price' => 17,
  4. 'catalog' => 1,
  5. 'count' => 114,
  6. ),
  7. 'title' => 'Груши',
  8. 'price' => 25,
  9. 'catalog' => 1,
  10. 'count' => 85,
  11. ),
  12. 'title' => 'Молоко',

Drupal settings.php

Опубликовано 2013.06.20 в разделе Drupal.

Это единственный конфигурационный файл в Друпал, до восьмой версии. В нём хранится логин и пароль для доступа к БД, название домена сайта и несколько надстроек над PHP. Вы также можете самостоятельно добавить туда любую информацию, например какие-то конфигурационные данные. Это переменные будут глобальными и их можно будет использовать в любом модуле. Главное не забывать объявлять их в теле функции как глобальные. Например:
  1. $conf['secret_login'] = 'adminko';
  2. $conf['secret_pass'] = 'hGcSD.ujdD';
А затем внутри любой функции просто пишите:
  1. global $conf;

Изменение регистра первой буквы

Опубликовано 2013.06.20 в разделе Drupal.

Если одну и туже запись нужно выводить то с большой, то с маленькой буквы - можно использовать следующую функцию.
  1. function drupal_first_letter($string, $choice = NULL) {
  2. if (!in_array($choice, array('up', 'down'))) {
  3. return $string;
  4. }
  5. if ($choice == 'up') {
  6. $fl = drupal_strtoupper(drupal_substr($string, 0, 1));
  7. }
  8. else {
  9. $fl = drupal_strtolower(drupal_substr($string, 0, 1));
  10. }
  11. return $fl . drupal_substr($string, 1);
  12. }

foreach в JavaScript

Опубликовано 2013.06.05 в разделе JavaScript.

Часто используемой php`шной функции foreach в JavaScript`е нет. Поэтому следует использовать конструкцию for. Это достаточно просто.
  1. <script type="text/javascript">
  2. var data = new Array('house', 'table', 'Drupal');
  3. for (var key in data) {
  4. var val = data[key];
  5. alert (key + ' = ' + val);
  6. }
  7. </script>

Первая буква в верхний регистр

Опубликовано 2013.02.12 в разделе Php.

В css есть замечательное свойство - text-transform, которое может иметь ряд значений, а именно: capitalize, lowercase, uppercase, none и inherit. Этими свойствами можно сделать заглавными первые буквы каждого слова, перевести в верхний регистр все символы, перевести в нижний, ничего не делать и взять значение от родителя. Но ни одно значение этого свойства не может сделать заглавной только одну первую букву строки. Разве что capitalize, которое сделает заглавной каждую букву каждого слова, что не всегда удобно. Обойти это можно средствами PHP при помощи такой вот функции: