HTTP/1.0 200 OK Accept-Ranges: none Content-Location: http://www.evilprofessor.co.uk/category/internet/zend-framework/page/2/ Content-Type: text/html; charset=UTF-8 Date: Thu, 01 Sep 2011 21:51:26 GMT X-Frame-Options: ALLOWALL Set-Cookie: PREF=ID=a5569d4668283d4c:TM=1314913886:LM=1314913887:S=5FceUaJIuCGTZC5g; expires=Sat, 31-Aug-2013 21:51:27 GMT; path=/; domain=translate.googleusercontent.com X-Content-Type-Options: nosniff Server: HTTP server (unknown) Cache-Control: private X-XSS-Protection: 1; mode=block Expires: Thu, 01 Sep 2011 21:51:26 GMT Evilprofessor.co.uk »Zend Framework

Категория: Zend Framework

Zend Framework Пер-Модуль на базе настройки

По , пятница 1 января 2010 10:40 вечера

Я создал последующих на этот пост, который требует меньше конфигурации, см. Модуль основе макета - Zend Framework .

При использовании Zend Framework, при помощи модуля, его очевидным, что если вы работаете в разных (суб-) сайтов с одного приложения вам не обязательно хотят того же сценарии раскладка для каждой части. Я решил пойти со следующей структурой сайта:

  / Применение
     / Контроллеры
         ...
     / Моделей
     / Модулей
         / По умолчанию
             / Контроллеры
             / Макет
                 / Скрипты
             / Просмотров
                 / Скрипты
         / AnotherModule
             ...
     / Скрипты

Проблема заключалась в создании макета скриптов на каждого модуля. Ответ пришел через использование помощника действия. Настройка раскладок на каждого модуля включает в себя три этапа:

  1. Application.ini (или аналогичные установки конфигурации):
      admin.resources.layout.layoutPath = APPLICATION_PATH "/ модули / администратор / макеты / скрипты"
     default.resources.layout.layoutPath = APPLICATION_PATH "/ модули / по умолчанию / макеты / скрипты"
     member.resources.layout.layoutPath = APPLICATION_PATH "/ модули / членов / макеты / скрипты"
     affiliate.resources.layout.layoutPath = APPLICATION_PATH "/ модули / филиал / макеты / скрипты" 
  2. Создайте свой помощник действия:
      <? PHP
     / **
      * Устанавливает расположение на пути каждого модуля
      *
      * @ Автор Ллойд Уоткин <lloyd@evilprofessor.co.uk>
      * @ С 2010-01-01
      * /
     Класс Pro_Controller_Action_Helper_SetLayoutPath
         расширяет Zend_Controller_Action_Helper_Abstract
     {
         / **
          * Устанавливает расположение путь, основанный на модуле
          * /
         общественных preDispatch функции ()
         {
        	 Модуль $ = $ этом-> GetRequest () -> getModuleName ();
    
    	     если ($ загрузки = $ этом-> getActionController ()
    	                        -> GetInvokeArg ('загрузки')) {
    
    	         $ = $ Конфигурации загрузки-> getOptions ();
    
    	         если (ISSET ($ CONFIG [$ модуль] ['ресурсы'] ['макет'] ['layoutPath'])) {
    	             $ LayoutPath =
    	                  $ CONFIG [$ модуль] ['ресурсы'] ['макет'] ['layoutPath'];
    	             $ Это-> getActionController ()
    	                  -> GetHelper («расположение»)
    	                  -> SetLayoutPath ($ layoutPath);
    	         }
        	 }
         }
     } 
  3. И, наконец boostrap помощник действия:
      ...
         / **
          * Устанавливает расположение скриптов на каждого модуля
          * /
         защищенная функция _initLayoutHelper ()
    	 {
    	     $ Это-> загрузки ('FrontController');
    	     $ Расположение = Zend_Controller_Action_HelperBroker:: addHelper (
    	         новые Pro_Controller_Action_Helper_SetLayoutPath ());
    	 }
     ... 

Доктрина: DATETIME умолчанию NOW ()

По , в среду 30 декабря 2009 6:30 вечера

Я боролся с создания схемы базы данных для новой Zend Framework проекта. Я использование пытаются использовать доктрину ORM для моей модели базы данных. Мне нужно создать схему так, чтобы он позволил мне установить дату и время по умолчанию для даты и времени `` колонке, например, при добавлении нового сообщения я получаю текущее время. После долгих поисков и экспериментов я нашел решение, поэтому я делю его.

В вашей схеме YAML файл просто сделать следующее:

 Сообщение:
   ActAs:
     Timestampable:
       создан:
         Название: created_at
         Тип: метка
         формат: Ymd H: я: S
       обновление:
         Название: last_updated
         Тип: метка
         формат: Ymd H: я: S
   столбцов:
     ID:
       тип: целое число
       первичная: истинно
       автоинкремент: истинный
     Название: строка (255)
     электронная почта: строка (300)
     сообщение: строка (2000)

Если, с другой стороны, вы не хотите `` updated_at колонку можно использовать следующие:

 Сообщение:
   ActAs:
     Timestampable:
       создан:
         Название: created_at
         Тип: метка
         формат: Ymd H: я: S
       обновление:
         инвалидов: истинный
   столбцов:
     ID:
       тип: целое число
       первичная: истинно
       автоинкремент: истинный
     Название: строка (255)
     электронная почта: строка (300)
     сообщение: строка (2000)

Zend Framework: основы - Обзор

По , в субботу 28 ноября 2009 10:42 вечера

Мой работодатель недавно заплатили за группой из нас разработчикам использовать Zend Framework: основы Конечно, здесь я буду резюмировать мои мысли и мнения относительно курса для других. Для тех, кто хочет сэкономить время, вот мое резюме:

Для разработчиков, не было времени, чтобы смотреть на Zend Framework, этот курс (Zend Framework: основы) обеспечивает хорошее общее представление о рамках познакомить вас с ключевых областях и давать достаточно информации для того, чтобы продолжить. Для тех, кто потратил время на поиски в рамках и последовали за один или два учебники этот курс не предлагает много за его пределами.

Фон

Я PHP разработчик около 5-6 лет, и начали работу с Zend Framework, на основе компонентов в течение последних 6 месяцев. Я разработал и / или был разработчиком пара небольших Zend Framework MVC sites.Â Я буду честен, я не имел огромное количество контактов с другими рамки, кодирование точки зрения, но провел несколько часов исследования проекта веб-сайтов и оценки them. рамки и окружающим сообществом Zend Framework вполне интересной и там, кажется, огромные возможности в том, где его собираются.

О курса

Конечно поставляется более чем 9 двухчасовой сессии WebEx (с 10-минутный перерыв в середине). Времени тратится проходит набор слайдов, предоставляемые Zend с обсуждением в любое время. Вы можете использовать микрофон для общения с инструктором, но, честно говоря, я не вижу никого использовать что-нибудь больше, чем окно чата. Кроме того машина VMWare Ubuntu это при условии, что есть пример кода и проектов создать пробную версию Zend Studio. Конечно лидер разговаривает с участниками либо по решению интегрированный VoIP, или вы можете позвонить в использовании одной из многих во всем мире набрать в цифрах.

В ходе материал состоит из краткого обзора рамок и шаблон MVC, прежде чем отправиться в пример приложения гостевой книге. Дискуссия показала загрузку, Zend_Application, таблиц БД, Доступ к базам данных, формы, Фильтрация, ACL, Пользователи и т.д., и т.д. В основном, охватывающих все темы, которые вы бы требовать, чтобы получить основной сайт до работает все время давая вам инструменты для пойти и получить более продвинутыми в рамках (хотя это количество на "Смотрите сайт" большую часть времени).

Время задается в коде какие-то примеры, а также разработать "гостевая книга" и применение простых "вики". Лично я чувствовал, что предоставление кода или каждое приложение, а затем просят нас развивать то, что, по сути копию рядом на самом деле не обеспечивают хороший опыт. Я бы предпочел, чтобы разработать приложение похожи, но не идентичны. для примера приложения с выгода от наличия руководство для обозначения. Кроме здания приложений с нуля, с демонстратора бы, возможно привело к больше вопросов о том, почему и каким образом, что дает более полное представление о рамках, в конце концов вы можете посмотреть специфику после окончания курса.

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

Конечно стиль был неформальный, разрешенных к обратной связи и взаимодействия между участниками и инструктором. Руководитель курса был дружелюбен, доступным (адреса электронной почты были поделены на вопросы), и в то время своего выступления из слайдов была немного неуверенно, казалось полностью компетентны в рамках. Он явно кого-то, кто использовал рамках на регулярной основе, а не тот, кто учит учить, конечно, мне понравился опыт "реального мира" в этом отношении.

Общее ощущение

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

Для меня этот курс был направлен на слишком низком уровне. Пройдя через Руководство по быстрому старту, читать Роба Аллена Zend Framework в действии, а также работал с рамками немногое, что я действительно не получить что-нибудь слишком много. Я бы, конечно понравилось, чтобы забрать с конца быстрый старт и развитие дополнительных навыков.

Тем не менее, название курса делает четко "Zend Framework: основы" и в этом смысле конечно достигает того, что он намеревается делать. Другие члены команды разработчиков, которые не потратили время на поиски в рамках каждой сессии закончил с энтузиазмом и задаваемых вопросов, который был действительно приятно видеть.

Не все было потеряно, это было хорошо провести время подтверждающий основные детали рамки и получить задать пару вопросов в областях, где я не был на 100%. Кроме того, было время, что я получил, чтобы сесть с каждым днем ​​и думать о кодировании с использованием рамок и будущих проектов, то я бы не стал из смогли сделать в противном случае (вы можете себе представить Вашу компанию согласились, что:)). Не в последнюю очередь вы также получите хороший сертификат Zend сказать, что вы приняли участие в курсе (хотя и по электронной почте).

Zend Framework сертификации

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

Резюме

Учитывая все, что я уже писал выше, я буду суммировать все, что в два простых пунктов маркированного списка:

  • Новое в Zend Framework: Этот курс делает именно то, что Вы ожидали бы, это дает вам хорошее введение в структуру и хорошую подготовку по основам, из которых можно строить. Конечно, кажется, вызвать интерес и энтузиазм в рамках среди разработчиков.
  • Используется в Zend Framework: В то время это было приятно, чтобы укрепить некоторые из самых основ, я чувствовал, времени, усилий и средств, чтобы взять курс может из было лучше потратить в другом месте. Это будет приятно СЭЭУ Zend создать новый, более высокий уровень курса принять разработчикам следующего уровня -. По крайней мере, стандарт сертификации и за ее пределами Для этого я подписался бы немедленно.

Вход в БД использованием Zend Framework

По , во вторник 14 апреля 2009 9:06 вечера

Мне удалось получить сайт и работает с Zend Framework , все регистрации красиво FireBug / FirePHP поэтому следующим шагом было войти в базу данных. Я также хотел войти некоторую дополнительную информацию, с помощью платформы, такие как агент пользователя, дата и время, получить и пост переменных. Таким образом, чтобы расширить ручной немного здесь, что я сделал:

// Set up logging to DB
$db = Zend_Registry ::get('dbAdapters');
$db = $db['general'];

$ ColumnMapping = Array ('приоритет' => 'приоритет',
"Сообщение" => "сообщение",
»Даты и времени '=>' время ',
"User_agent '=>' user_agent ',
"Get_vars '=>' get_vars ',
"Post_vars '=>' post_vars ',
"Сайт" => "сайт"
);

$ WriterDb = новый Zend_Log_Writer_Db ($ дБ, 'error_logging', $ ColumnMapping);
$ = Новый регистратор Zend_Log ($ writerDb);

$ Регистратор-> setEventItem («даты», дата ('Ymd H: я: S'));
$ Регистратор-> setEventItem ('user_agent', $ _SERVER ['HTTP_USER_AGENT']);
$ Регистратор-> setEventItem ('get_vars ", print_r ($ _GET, правда));
$ Регистратор-> setEventItem ('post_vars ", print_r ($ _POST, правда));
$ Регистратор-> setEventItem ("сайт", сайт);

$ Регистратор-> Информация ('Информационное сообщение');

Где ключи массива в $ ColumnMapping мои имена столбцов. «Приоритет» и «сообщение» понимаются Zend_Log_Writers но дополнительные поля были добавлены, чтобы дать мне некоторую дополнительную информацию.

Очевидно, это предполагает, что у вас есть регистрация рабочих, используя один из других писателей первой:)













Панорама тему, Themocracy

7 посетителей онлайн
6 гостей, 1 ботов, 0 пользователей
Максимум сегодня: 16 в 2:02 утра UTC
В этом месяце: 16 на 01-09-2011 2:02 утра UTC
В этом году: 130 в 28-03-2011 10:40 вечера UTC
За все время: 130 в 28-03-2011 10:40 вечера UTC