АРХИВ ПО ТЭГУ "ZEND"
ИЮНЬ 27, 2011

Хаи.

Не знаю, на первой странице гугла не нашел я хелпера или плагина PrettyTime для зенда (Zend Framework), так что пришлось за полчасика свой наговнякать.

  1.  
  2. class Default_View_Helper_PrettyTime extends Zend_View_Helper_Abstract {
  3.  
  4.  const MINUTE = 60;
  5.  const HOUR = 3600;
  6.  const DAY = 86400;
  7.  const WEEK = 604800;
  8.  const MONTH = 2592000;
  9.  const YEAR = 31536000;
  10.  
  11.  public function prettyTime($time) {
  12.   $curTime = time();
  13.   $delta = $curTime - $time;
  14.  
  15.   if ($delta < self::MINUTE) {
  16.    $text = $this—>view-&gt;translate("moments ago");
  17.   } else if ($delta &lt; self::HOUR) {
  18.    //minutes
  19.    $d = (int) ceil($delta / self::MINUTE);
  20.  
  21.    if ($d == 1) {
  22.     $text = "$d " . $this-&gt;view-&gt;translate("minutes ago 1");
  23.    } else if ($this-&gt;_is234($d)) {
  24.     $text = "$d " . $this-&gt;view-&gt;translate("minutes ago 234");
  25.    } else {
  26.     $text = "$d " . $this-&gt;view-&gt;translate("minutes ago");
  27.    }
  28.   } else if ($delta &lt; self::DAY) {
  29.    //hours
  30.    $d = (int) ceil($delta / self::HOUR);
  31.  
  32.    if ($d == 1) {
  33.     $text = "$d " . $this-&gt;view-&gt;translate("hours ago 1");
  34.    } else if ($this-&gt;_is234($d)) {
  35.     $text = "$d " . $this-&gt;view-&gt;translate("hours ago 234");
  36.    } else {
  37.     $text = "$d " . $this-&gt;view-&gt;translate("hours ago");
  38.    }
  39.   } else if ($delta &lt; self::WEEK) {
  40.    //days
  41.    $d = (int) ceil($delta / self::DAY);
  42.  
  43.    if ($d == 1) {
  44.     $text = "$d " . $this-&gt;view-&gt;translate("days ago 1");
  45.    } else if ($this-&gt;_is234($d)) {
  46.     $text = "$d " . $this-&gt;view-&gt;translate("days ago 234");
  47.    } else {
  48.     $text = "$d " . $this-&gt;view-&gt;translate("days ago");
  49.    }
  50.   } else if ($delta &lt; self::YEAR) {
  51.    //weeks
  52.    $d = (int) ceil($delta / self::WEEK);
  53.  
  54.    if ($d == 1) {
  55.     $text = "$d " . $this-&gt;view-&gt;translate("weeks ago 1");
  56.    } else if ($this-&gt;_is234($d)) {
  57.     $text = "$d " . $this-&gt;view-&gt;translate("weeks ago 234");
  58.    } else {
  59.     $text = "$d " . $this-&gt;view-&gt;translate("weeks ago");
  60.    }
  61.   } else {
  62.    // years
  63.    $d = (int) ceil($delta / self::YEAR);
  64.  
  65.    if ($d == 1) {
  66.     $text = "$d " . $this-&gt;view-&gt;translate("years ago 1");
  67.    } else if ($this-&gt;_is234($d)) {
  68.     $text = "$d " . $this-&gt;view-&gt;translate("years ago 234");
  69.    } else {
  70.     $text = "$d " . $this-&gt;view-&gt;translate("years ago");
  71.    }
  72.   }
  73.  
  74.   return $text;
  75.  }
  76.  
  77.  private function _is234($d) {
  78.   if ($d == 2 || $d == 3 || $d == 4 || (($d % 100) &gt; 20 &amp;&amp; (($d % 10) == 2 || ($d % 10) == 3 || ($d % 10) == 4))) {
  79.    return true;
  80.   }
  81.   return false;
  82.  }
  83. }
ИЮНЬ 22, 2011

zend framework logo php I18N in Zend %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8

Hi.

Простецкая локализация всякого говнеца в зенде (Zend Framework) без кэша.

В бутстрапе втыкаем такое:

function _initTranslator() {
  1.   //
  2.   // Locale default (use session)
  3.   $sess = new Zend_Session_Namespace('session');
  4.   $lang = isset($sess-&gt;lang) ? $sess-&gt;lang : new Zend_Locale('ru');
  5.   Zend_Registry::set('Zend_Locale', $lang);
  6.  
  7.   //
  8.   // Translator
  9.   $translator = new Zend_Translate(array(
  10.     'adapter' =&gt; Zend_Translate::AN_INI,
  11.     'content' =&gt; APPLICATION_PATH . '/../files/trans/ru.ini',
  12.     'locale' =&gt; 'ru',
  13.   ));
  14.   $translator-&gt;addTranslation(APPLICATION_PATH . '/../files/trans/en.ini', 'en');
  15.   $translator-&gt;setLocale($lang-&gt;toString());
  16.  
  17.   // Set translator
  18.   Zend_Registry::set('Zend_Translate', $translator);
  19.   Zend_Form::setDefaultTranslator($translator);
  20.  }

Ну а уж переключение локалей в сессии все сами наговнякают.

Сия

МАРТ 26, 2011

Hi.

Чтоб не забыть как включить вывод ошибок пхп.

.htaccess файл:

SetEnv APPLICATION_ENV development # This is for Zend Framework

php_flag display_errors on

php_value error_reporting 2047

ИЮНЬ 8, 2010

cyborg cop title Тупняк news %d0%b8%d0%b4%d0%b5%d0%b8 ben bernanke official portrait Тупняк news %d0%b8%d0%b4%d0%b5%d0%b8

Хай.

Есть же такие моменты когда чисто сидишь и тупишь ничо не делаешь — «работаешь в никуда» (Тупняк). Я вот щас как раз таков (точнее до того как пост начал писать) , сидел просто и тупил , смотрел то в потолок, то в монитор как копируется фильм Cyborg Cop с iMac на мой Macbook, то опять в потолок а потом на подушку под которой я сплющиk Йошина, который в моменте жутко царапался , но теперь спокоен icon smile Тупняк news %d0%b8%d0%b4%d0%b5%d0%b8 Сейчас допишу, досмотрю первую часть киборга-полицейского (фильм моего детства — фантастический боевик) и хочу разобраться с OAuth. Нужно какой нить тестовый серверочек заимплементить на Zend и клиента нааписать который дергает секурный тестовый метод на сервере.

Маркет седня красава , макроэкономических новостей не было , зато выступал Бен (который Бен Шалом Бернанке, который глава ФРС [Федеральная Резервная Система США]). Сипи почти обновил лоу , но стопнул на 1045, хотя я предполагал что все же проткнем в моменте уровень, ну, значит на закрытии будет тест, если так вяло продолжим сопротивляться (хотя ща уже 1057, так что глядишь и не будет новый лоу).

На рашке седня ваобще прикол был — отвалились сервера биржи РТС — капец куча народу просто не смогли закрыть свои позы , в итоге куча народу в неожиданном минусе, хотя несомненно есть и те, который случайно словили профит icon smile Тупняк news %d0%b8%d0%b4%d0%b5%d0%b8

Лана, cyborg-cop почти скопировался — пойду досмотрю что ли.

Успехов!

ЯНВАРЬ 28, 2010

Хай,

Проблема: Zend ORM? Кто нить чо нить подобное реализовывал? Для удобной работы с комплексными объектами, которые состоят из кучи записей в куче разных таблиц. Вот и мы сидим вкуриваем как это красиво должно быть. Идеальный вариант это как в Grails icon smile Zend ORM имплементация %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8 Но хз как там это все сделано. Нужно еще зачекать как это заимплеменчено в cakephp. Поисследую в свободное время.

ЯНВАРЬ 16, 2010

Хай,

Гаговнякал тут сайто на своем движке построенном на зенде, вобщем движок нужно серьезно рефакторить и агрейдить, ибо очень сложно из него верстку насадить.

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

Вобщем мой тестовый проект: СкокаЛет!

Страницы:12