Программирование: 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.

PHP: Замер скорости выполнения скрипта

У многих возникает вопрос, как замерить выполнения скрипта?

Есть решение, достаточно простое, лежит на каком-то форуме, если не ошибаюсь.

Нужно всего лишь запомнить время начала скрипта, а потом его вычесть из конечного времени.

$start = microtime(true); // Время начала выполнения скрипта
// Какой-то код.
$time = microtime(true) - $start; //  Вычисляем
printf('Скрипт выполнялся %.4F сек.', $time); // Выводим. Все просто!

 

PHP: Красивый var_dump или print_r

У многих начинающих разработчиков возникает вопрос, как оформить красивый var_ dump или print_r.

В интернетах множество решений, которые все сводятся к одному, поместить вывод этих функций в html тег <pre>

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

function vardump($input)
{
  if(!$input){return false;}
      if(gettype($input)=="boolean")
      {
          echo var_dump($input);
      }
      else
      {
          echo "<pre>".print_r($input,true)."</pre>";
      }
}

 

Мысли: Сайт-визитка программиста, есть ли смысл?

AnmvZINWDMcДобрый вечер, друзья.

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

Сейчас же, все наладилось и хочу порассуждать на тему, есть ли смысл делать сайт-визитку программиста.

Все кто ищут работу, так или иначе создают резюме, как правило большинство прибегают к помощи различных сайтов, таких как hh.ru или rabota.ru. Резюме на этих сайтах получается сухим и не очень интересным. Работодатель, конечно, с большей вероятностью его найдет, но так, как оно будет похоже на многие другие, то он его с большей вероятностью не запомнит.

Если же создать отдельный сайт-резюме, то его будет сложнее продвигать в сети, и на него точно скорее всего не зайдут. (далее…)

Планета: Парикутин

Место, в котором стоит побывать. Самый молодой вулкан Мексики. Возник в 1943 году на кукурузном поле деревни Парикутин, которая и дала ему название. За несколько лет вырос до высоты 3170 м. Уничтожил множество деревень в округе и город Сан-Хуан-Парангарикутиро, от которого осталась только часть церкви и колокольни. (далее…)

Планета: Мачу Пикчу

Мачу Пикчу – город среди облаков, находящийся на высоте 2450 метров над уровнем моря. Древняя императорская резиденция Инков. Жители города таинственно исчезли в 1532 году, после вторжения испанцев на территорию империи Инков. Испанские конкистадоры так и не добрались до него, что позволило строениям сохраниться в отличном состоянии. Город был заново открыт в 1911 году, сейчас в нем может побывать не более 2500 человек в день. Мачу Пикчу находится под охраной ЮНЕСКО и считается одним из Новых чудес света. (далее…)

you're currently offline