Программирование: Как узнать установленную версию Python.

Простейший вопрос, который очень часто задают. Создаю этот пост чтобы отправлять ссылку.

Как же узнать установленную версию Python?

Самый простой способ, в консоли вводите:

python --version

спасибо за внимание)

Программирование: Symfony 2 – Изучение, поиск документации.

Symfony2Привет друзья!

Недавно решил расширить свой кругозор и изучить еще какой-нибудь php framework. В процессе поиска кандидата на потрошение, пошарил по сети и остановился на Symfony 2.

Для начала встав вопрос как его установить. Оказалось все не так сложно, достаточно было немного пописать в консоли Linux, поднять тестовый локальный сайт, обратиться к Composer и вуаля, у меня оно все установилось.

Далее встал вопрос как запустить? (далее…)

PHP: Простая функция для выбора месяца и года. dateFilter v1.0

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

Функция отображает на экран html div с id = dateFilter, в котором располагаются  2 html селекта, в одном генерируются месяцы, в другом года. По умолчанию выбор в селектах установлен на год и месяц настроенным на сервере, если проще, то на текущие год и месяц.

В функции определены некоторые настройки:

  1. Минимальный год – это обязательный параметр.
  2. Максимальный год – Необязательный параметр, в случае если он оказывается пустым, то максимальным будет год – текущий на сервере.
  3. Смещение по выбранному году – этот параметр так же необязательный, в случае если он пуст, но выбранным по умолчанию в селекте будет текущий год. смещение может быть как положительным, так и со знаком минус.
  4. Возможен и выбор языка на котором отображать месяцы, в примере присутствует русский и английский

После предложенного ниже листинга есть ссылка на пример, и на github, где можно будет скрипт скачать.

//dateFilter v1.0
function dateFilter()
{
  $minYear = "1900"; //максимальный в прошлом год.
 $maxYear = ""; // Максимальный год, если переменная пуста, то максимальный год будет текущим.
 $selectedYearOffset = ""; // Смещение по выбранному году, если пустое, то будет выбран текущий год.
 // Указываем на каком языке выводить месяцы, если значение пусто, но английском, но можно указать eng.
 // В данном примере доступ 2 языка - Английский и Русский;
 $lang = "rus";
 //Массивы с переодом месяца на язык
 $engMonth = array('01'=>'January',
 '02'=>'February',
 '03'=>'March',
 '04'=>'April',
 '05'=>'May',
 '06'=>'June',
 '07'=>'July',
 '08'=>'August',
 '09'=>'September',
 '10'=>'October',
 '11'=>'November',
 '12'=>'December',
 );
 $rusMonth = array('01'=>'Январь',
 '02'=>'Февраль',
 '03'=>'Март',
 '04'=>'Апрель',
 '05'=>'Май',
 '06'=>'Июнь',
 '07'=>'Июль',
 '08'=>'Август',
 '09'=>'Сентябрь',
 '10'=>'Октбярь',
 '11'=>'Нобярь',
 '12'=>'Декабрь',
 );
 // Устанавливаем какой массив с переводом использовать
 switch ($lang) {
 case 'rus': $monthNameArr = $rusMonth; break;
 default : $monthNameArr = $engMonth; break;
 }
 //Формируем массив с месяцами, отмечая по ходу текущий месяц
 $monthArr = array();
 for ($i=1; $i <= 12; $i++) {
 $number = str_pad($i, 2, '0', STR_PAD_LEFT);
 $monthArr[] = array('val'=>$number,'name'=>$monthNameArr[$number], 'selected'=> $number==date('m')?"selected":"");
 }

 //Формируем массив с годами
 $yearArr = array();
 for ($i=($maxYear==''?date('Y'):$maxYear); $i >= $minYear; $i--) {
 $selected = $i==(date('Y')+$selectedYearOffset) ? 'selected':''; // Отмечаем текущий год добавляя атрибут selected
 $yearArr[] = array('val'=>$i,'name'=>$i,'selected'=>$selected);
 }
 //Формируем HTML структуру
 $output = "<div id=\"dateFilter\"><select name=\"month\">";
 foreach ($monthArr as $month) {
 $output .= '<option value="'.$month['val'].'" '.$month['selected'].'>'.$month['name'].'</option>';
 }
 $output .= "</select><select name=\"year\">";
 foreach ($yearArr as $year) {
 $output .= '<option value="'.$year['val'].'" '.$year['selected'].'>'.$year['name'].'</option>';
 }
 $output .= "</select>";
 $output .="</div>";
 echo $output;
}

Я постарался снабдить листинг максимально понятными комментариями, для того чтобы было ясно что и как работает.

Пример

GitHub

Спасибо за внимание, AndersDeath.