Категорія: 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

6 відвідувачів онлайн
2 гостей, 4 ботів, 0 користувачів
Максимум сьогодні: 19 о 6:09 ранку UTC
В цьому місяці: 19 на 19-08-2011 6:09 ранку UTC
У цьому році: 130 в 28-03-2011 10:40 вечора UTC
За весь час: 130 в 28-03-2011 10:40 вечора UTC