РЭДЛАЙН
Лучшие решения для Вас и Вашего бизнеса!
На нашем сайте вы можете получить информацию о веб-разработке, обслуживании и продвижении сайта. Интернет-маркетинге. SEO (поисковой оптимизации). Контекстной и медийной рекламе в Интернете. SMM. Регистрации доменов и хостинговых услугах. И современном дизайне сайтов. Вообщем того что касается веб-разработки, а также много другой полезной информации из мира интернета, бизнеса и интернет-технологий...
Создаем доступные и современные сайты, которые работают! Обслуживаем и эффективно продвигаем интернет-проекты с 2006 года!
Главная Web-мастеру Азы работы с Zend Framework (1/3) - Установка и создание проекта


Азы работы с Zend Framework (1/3) - Установка и создание проекта

Доброго времени суток пользователи ruseller.com! Я счастлив, представить вам серию уроков по одному из самым популярных PHP фрэймворков - Zend Framework. Вы конечно же не раз слышали об этом мощном инструменте разработки web-приложений, об MVC и прочих фичах!.. Настало время практики.

Если вы впервые слышите о Zend Framework, то советую вам пробежаться по статье "10 неотразимых причин использовать Zend Framework", которая ярко демонстрирует достоинства данной библиотеки.

Ещё пару слов от себя перед тем как начнём... Я считаю что Zend Framework это прекрасный инструмент для создания профессиональных проектов на PHP. Он разработан самими создателями языка PHP и используется не только в “домашних” целях, но и при разработке крупных проектов.

Для тех из вас, кто считает, что писать проекты на Zend Framework легче, чем на чистом PHP, я сразу хочу сказать что это не так. Поначалу будет очень сложно, потому что вам предстоит понять новую концепцию архитектуры веб-приложений MVC и многое другое. В общем приготовьтесь посмотреть на PHP с другой стороны! С той, с которой вы его ещё не видели!

Ну что же, лучшая теория это практика! Так что вперёд!

Вступление

На момент написания статьи, использовалась версия Zend Framework 1.11.4

В этом уроке мы познакомимся с Zend Framework, а именно:

  • Установим и сконфигурируем все необходимые инструменты (Zend Tool, настроим виртуальный Host);
  • Определимся с проектом, который будем реализовывать;
  • Познакомимся с концепцией MVC;

Что необходимо для функционирования Zend Framework:

  • PHP 5.2.4 (или любая более новая версия);
  • Поддержка mod_rewrite web сервером;
  • Поддержка .htaccess (для того, чтобы активировать поддержку .htaccess, в конфигурационном файле Apache httpd.conf, строку AllowOverride None, необходимо заменить на AllowOverride All)

Установка Zend Framework и Zend Tool

1. Скачиваем последнюю версию Zend Framework

  • Скачайте последнюю версию пакета Zend Framework 1.11.X Full;
  • Извлекаем из всё содержимое архива;

2. Переносим содержимое архива

  • Копируем разархивированную папку в каталог C:\wamp\bin и переименовываем её например в zf;
  • Теперь содержимое фрэймворка можно найти по адресу C:\wamp\bin\zf. Если вы всё сделали правильно, то по данному адресу у вас должны располагаться такие каталоги: bin, demos, externals, extras, librarz и т.д.

3. Конфигурируем Zend Tool

  • Нажмите правый клик на иконке «Компьютер» в панели пуск (Windows 7) и выберите пункт «Свойства».
  • В левой части панели выберите пункт «Дополнительны параметры системы».
  • В открывшемся окне нажмите кнопку «переменные среды».
  • Далее в списке системные переменные, ищем переменную Path и делаем на ней двойной клик. Перед вами должно открыться следующее окно.

  • Нажимаем на содержимое поля «значение переменной», перемещаемся в конец строки;
  • Ставим точку с запятой ";" (без кавычек);
  • Далее вписываем адрес "C:\wamp\bin\zf\bin" (без кавычек);
  • Жмём OK;
  • После этого не помешает перезагрузить компьютер, чтобы все изменения нормально встали.

4. Проверка работы Zend Tool

  • Откройте командную строку. Нажмите клавиши Windows->R. В открывшемся окне наберите команду cmd;
  • В командой строке наберите zf и нажмите Enter. После этого перед вами появится список всевозможных команд, некоторые из которых мы рассмотрим в данном уроке. Если этого не произошло, значить вы неверно сконфигурировали Zend Tool.

5. Прописываем Zend Frameword в php.ini

  • Откройте файл php.ini
  • Найдите строку include_path
  • Впишите следующее содержание:
    ; Zend Framework
    include_path = ".;c:\wamp\bin\zf\library"
  • Перезапустите Apache

Вот и всё. Мы только что установили Zend Framework, сконфигурировали Zend Tool и готовы приступить к созданию нашего нового проекта.

Проектируем приложение

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

id integer Not Null Primary key

title varchar(100) Not Null

director varchar(100) Not Null

Так же нам понадобятся следующие страницы:

Главная - на которой будет отображать список фильмов

Добавление записи -  страница, содержащая форму добавления нового фильма

Редактирование записи - страница редактирования фильма

Удаление записи - удаление фильма из БД

Создание проекта

Откройте терминал или консоль и перейдите в каталог, который является корнем вашего сайта (root папку). В моём случае это C:\wamp\www. Если вы являетесь обладателем Linux или его дистрибутивов, до и после создания проекта убедитесь, что для вашего пользователя и web сервера были выставлены права на запись.

zf create project zfdemo

Если теперь вы посмотрите на содержимое корневого каталога сайта, то уведете множество папок и файлов, которые были созданы инструментом Zend Tool. Этот на первый взгляд хаос является структурой Zend Framework проекта. Без Zend Tool вам бы пришлось создавать всё это руками.

Папка application это ядро нашего будущего сайта. Там будут располагаться все коды, отвечающие за работу web-приложения. В каталоге application вы найдёте другие папки концепция которых уже давно на слуху: controllers, models, views.

Каталог public это корень вашего сайта, а это значит, что нам необходимо создать виртуальный хост, в настройках которого будет указано, что каталог public является корневым. Так же в каталоге public будут содержаться все изображения, javascript скрипты, css стили и прочие файлы.

Папка library может содержать саму библиотеку Zend, но не только. Туда можно закидывать любые другие библиотеки, которые могут понадобиться вам при разработке вашего сайта.

Все остальные каталоги будем рассматривать по мере надобности.

Настройка виртуального хоста

Для более подробного ознакомления с созданием виртуального хоста рекомендую ознакомиться с статьёй "Настройка виртуального хоста в WAMP"

Для настройки виртуального хоста выполните следующие шаги:

  1. Откройте конфигурационный файл Apache httpd.conf.
  2. Уберите комментарий со строки со следующим содержанием: Include conf/extra/httpd-vhosts.conf
  3. Если вы находитесь в каталоге conf, перейдите в каталог extra и откройте файл httpd-vhosts.conf
  4. Внесите в файл httpd-vhosts.conf следующие строки и сохраните файл:
<VirtualHost *:80>
   DocumentRoot "C:/wamp/www/zfdemo/public"
   ServerName zfdemo.web
   SetEnv APPLICATION_ENV development    
   <Directory "C:/wamp/www/zfdemo/public">
       Options Indexes MultiViews FollowSymLinks
       AllowOverride All
       Order allow,deny
       Allow from all
   </Directory>
</VirtualHost>

Отправьтесь в c\windows\system32\drivers\etc\hosts или /etc/hosts если у вас Linux и внесите строки:

127.0.0.1 zfdemo.web
127.0.0.1 www.zfdemo.web

После перезапуска Apache наш сайт должен быть доступен по адресу www.zfdemo.web

Если вы не увидите следующей картинки, то значит, что что-то не так с путями или правами:

Пару слов о средах разработки

Теперь я бы хотел пояснить строку SetEnv APPLICATION_ENV development, которую мы вписали в наш виртуальный хост.

Среды разработки предназначены для того, чтобы организовать работу в команде или просто обеспечить удобную работу над созданием Zend приложения. Каким образом? Допустим у вас имеется хостинг, где есть база данных с названием hostdb, пользователем hostdbuser, и паролем hostdbuserpass. А на локальной машине у вас база homedb, пользователь hostdbuser и пароль hostdbuserpass. Для того чтобы Zend приложение понимало откуда брать данные автоматически когда оно запускается на локалке или на сервере необходимы среды разработки. По умолчанию в Zend Framework 3 среды. production, staging и development (хотя мы можем создавать и свои собственные). Если вы внимательно посмотрите в содержание application.ini то увидите записи следующего вида: [development : production]. Это означает, что среда разработки development наследуются от среды разработки production (которая в каждом Zend проекте запускается по умолчанию). Значит, если production запускается по умолчанию, то целесообразно разместить данные для подключени к БД от сервера именно в эту секцию, а от домашнего в секцию development. Что при этом происходит:

Вариант 1. На локальном хосте

  1. Zend приложение загружается, ищет среду разработки.
  2. Виртуальныей хост, который мы настроили говорит, что среда разработки development.
  3. Zend подгружает секцию development, где находятся данные для работы с локальной БД

Вариант 2. На хостинге

  1. Zend приложение загружается, ищет среду разработки - не находит.
  2. Zend по умолчанию определяет среду разработки production.
  3. Zend подгружает секцию production, где находятся данные для работы с БД на хостинге.

Надеюсь, теперь вам более ясно что такое среды разработки.

Знакомимся с контроллерами, экшенами и вью

В Zend Framework контроллеры это специальные классы со строгим правилом наименования. Тут вообще всё очень строго и сурово. К примеру имя контроллера должно быть составлено следующим образом: {Имя_контроллера}Controller. К примеру: IndexController, ErrorController, UserController и т.д. Название контроллера должно начинаться с заглавной буквы. Все контроллеры должны располагаться в папке application/controllers.

Каждый контроллер включает в себя набор действий или другими словами actions. Action это функция с модификатором доступа public, которая представляет собой страницы вашего сайта. Именуются они тоже строго: {имя_действия}Action. К примеру indexAction(), printAction() и т.д. Название действия начинается с прописной буквы!

Давайте экспериментировать:

Зайдите в папку application/controllers. Внутри этой папки должно быть 2 файла. IndexController и ErrorController. Эти контроллеры были сформированы когда вы создавали проект при помощи Zend Tool. Откройте IndexController.

<?php

class IndexController extends Zend_Controller_Action
{
    public function init()
    {
        /* Initialize action controller here */
    }

    public function indexAction()
    {
        // action body
    }
}

Мы видим, что в IndexController есть 2 метода: _init() и indexAction. Функция init вызывается каждый раз при запуске контроллера. indexAction() это функция представляющая из себя страницу сайта. Чтобы убедиться в этом внесите в функцию indexAction следующую строку:

echo "Я в IndexController, в indexAction!!!";

Чтобы достучаться до этого action пройдите по адресу www.zfdemo.web/index/index. Данная запись означает, что мы обращаемся к контроллеру index и действию index. Но помимо нашей строки вы видите ещё какой-то материал. Это происходит потому что у каждого action есть свой view (или представление).

Пройдите в папку application\views\scripts\index и откройте файл index.phtml

<style>
    a:link,
    a:visited
    {
        color: #0398CA;
    }

    span#zf-name
    {
        color: #91BE3F;
    }

    div#welcome
    {
        color: #FFFFFF;
        background-image: url(http://framework.zend.com/images/bkg_header.jpg);
        width:  600px;
        height: 400px;
        border: 2px solid #444444;
        overflow: hidden;
        text-align: center;
    }

    div#more-information
    {
        background-image: url(http://framework.zend.com/images/bkg_body-bottom.gif);
        height: 100%;
    }
</style>
<div id="welcome">
    <h1>Welcome to the <span id="zf-name">Zend Framework!</span></h1>

    <h3>This is your project's main page</h3>

    <div id="more-information">
        <p><img src="http://framework.zend.com/images/PoweredBy_ZF_4LightBG.png" /></p>
        <p>
            Helpful Links: <br />
            <a href="http://framework.zend.com/">Zend Framework Website</a> |
            <a href="http://framework.zend.com/manual/en/">Zend Framework Manual</a>
        </p>
    </div>
</div>

В этом файле находится всё то, что вы видите на странице. Удалите всё содержимое файла index.phtml и перезагрузите страницу www.zfdemo.web/index/index или просто www.zfdemo.web/index/ т.к. indexAction запускается по умолчанию. Теперь на странице должно быть только наше сообщение “Я в IndexController, в indexAction!!!”

Общая концепция работы по схеме Model-View-Controller:

  1. Контроллер вызывает модель;
  2. Модель вытаскивает данные из базы и возвращает в контроллер;
  3. Контроллер обрабатывает полученные данные и передаёт в view (представление);
  4. Представление выводит все данные;

Для того чтобы реализовать наш проект нам необходимо создать несколько action.

Создание Actions

Откройте консоль или терминал и пройдите в папку, где содержится ваш сайт (Обязательно именно в эту папку). В нашем случае это C:\wamp\www\zfdemo. Набирайте команды:

zf create action add index
zf create action edit index
zf create action delete index

Данные записи дословно переводятся так: Zend Framework, пожалуйста создай action с именем add в контроллере index и т.д. :) Помимо добавления записей в IndexController.php Zend Tool так же создаст для вас необходимые view каталоги и файлы. Можете убедиться в этом сами. Теперь вы можете обращаться к этим страницам по адресам: www.zfdemo.web/index/add, www.zfdemo.web/index/edit, www.zfdemo.web/index/delete

Если вы всё сделали правильно, то теперь у вас должен быть настроен Zend проект к реализации которого мы вернёмся в следующем уроке.

На этом я пожалуй закончу наш урок-знакомство. Настраивайте Zend Framework и всё необходимое для его работы. Спасибо за внимание.

Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/L70qEkOGbZ4/lessons.php

Азы работы с Zend Framework (1/3) - Установка и создание проекта | | 2012-06-29 06:31:42 | | Статьи Web-мастеру | | Доброго времени суток пользователи ruseller.com! Я счастлив, представить вам серию уроков по одному из самым популярных PHP фрэймворков - Zend Framework. Вы конечно же не раз слышали об этом мощном | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Дайджест новых статей по интернет-маркетингу на ваш email
Подписаться

Продающие сайты "под ключ"!

Наши сайты зарабытывают вам деньги. Landing-page. Эффективные продающие сайты точно в срок и под ключ! Всего от 14700 рублей
Подробнее...

Интернет-магазины и каталоги "под ключ"!

Эффективные и удобные инструменты торговли (электронной торговли) "под ключ". Продают, даже когда вы спите! Всего от 33800 рублей
Подробнее...

Комплексный интернет-маркетинг и продвижение сайтов

Максимальную эффективность дает не какой-то конкретный метод, а их комбинация. Комбинация таких методов и называется комплексным интернет-маркетингом. Всего от 8000 рублей в месяц
Подробнее...

Реклама в Yandex и Google

Контекстная реклама нацелена лишь на тех пользователей, которые непосредственно заинтересованы в рекламе Ваших услуг или товаров. Всего от 8000 рублей в месяц
Подробнее...

Social media marketing (SMM) — продвижение в социальных медиа

Реклама в Однокласcниках и на Mail.ru Создание, ведение и раскрутка групп и реклама ВКонтакте и Facebook. Всего от 8000 рублей в месяц
Подробнее...

Приглашаем к сотрудничеству рекламные агентства и веб-студии!

Внимание Акция! Приглашаем к сотрудничеству рекламные агентства и различные веб-студии России! Индивидуальные и взаимовыгодные условия сотрудничества.
Подробнее...

Ускоренная разработка любого сайта от 5 дней!

Внимание Акция! Ускоренная разработка любого сайта! Ваш сайт будет готов за 5-10 дней. Вы можете заказать разработку любого сайта "под ключ" за 5-10 рабочих дней, с доплатой всего 30% от его стоимости!
Подробнее...

Ждем новых друзей!

Внимание Акция! Ждем новых друзей! Скидка 10% на услуги по созданию и(или) обслуживанию вашего сайта при переходе к нам от другого разработчика.
Подробнее...

Приведи друга и получи скидку!

Внимание Акция! Приведи друга и получи скидку! Скидка 10% на услуги по созданию и(или) обслуживанию вашего сайта, если клиент заказавший наши услуги, пришел по Вашей рекомендации.
Подробнее...

1 2 3 4 5 6 7 8 9

Новые статьи и публикации



Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!

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

Заявка
Позвоните или оставьте заявку на сайте.


Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!


Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.


Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.


Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.

Остались еще вопросы? Просто позвоните и задайте их специалистам
с 2:30 до 11:30 по Мск, звонок бесплатный
Или напишите нам в WhatsApp
с 9:30 до 18:30 по Хабаровску
Или напишите нам в WhatsApp
Веб-студия и агентство комплексного интернет-маркетинга «РЭДЛАЙН» © 2006 - 2024

Профессиональная Веб-разработка. Создание сайтов и магазинов "под ключ" , а также по всей России и зарубежью. Продвижение и реклама. Веб-дизайн. Приложения. Сопровождение. Модернизация. Интеграции. Консалтинг. Продвижение и реклама. Комплексный Интернет-маркетинг.

Оставьте заявку / Задайте вопрос

Нажимая на кнопку ОТПРАВИТЬ, я даю согласие на обработку персональных данных
×

Заказать услугу

Нажимая на кнопку ОТПРАВИТЬ, я даю согласие на обработку персональных данных
×

Обратный звонок

Нажимая на кнопку ОТПРАВИТЬ, я даю согласие на обработку персональных данных
×

Подписка на дайджест новостей

Нажимая на кнопку ОТПРАВИТЬ, я даю согласие на обработку персональных данных
×

Заказать услуги со скидкой \ Бесплатная консультация







КАКИЕ УСЛУГИ ВАС ИНТЕРЕСУЮТ?

КАКИЕ ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ ПОТРЕБУЮТСЯ?

Нажимая на кнопку ОТПРАВИТЬ, я даю согласие на обработку персональных данных
×

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

Что нужно сделать, чтобы заказать создание сайта у нас?

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

Быстрый заказ \ Консультация

Для всех тарифных планов на создание и размещение сайтов включено:

Комплексная раскрутка сайтов и продвижение сайта Комплексный подход это не просто продвижение сайта, это целый комплекс мероприятий, который определяется целями и задачами поставленными перед сайтом и организацией, которая за этим стоит. Время однобоких методов в продвижении сайтов уже прошло, конкуренция слишком высока, чтобы была возможность расслабиться и получать \ удерживать клиентов из Интернета, просто сделав сайт и не занимаясь им...

Комплексная раскрутка работает в рамках стратегии развития вашего бизнеса в сети и направлена

Быстрый заказ \ Консультация

ЭФФЕКТИВНОЕ СОПРОВОЖДЕНИЕ (ПОДДЕРЖКА, ОБСЛУЖИВАНИЕ) САЙТОВ

Полный комплекс услуг по сопровождению сайтаМы оказываем полный комплекс услуг по сопровождению сайта: информационному и техническому обслуживанию и развитию Интернет сайтов.

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

Наша компания осуществляет техническую и информационную поддержку уже имеющихся сайтов. В понятие «поддержка сайтов» также входят услуги администрирования сайтов, обновления сайтов и их модернизация.

Быстрый заказ \ Консультация

Редизайн сайта и Адаптивный веб дизайн

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

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

Адаптивный дизайн сайтов и веб-приложений

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

На сегодняшний день адаптивный дизайн является стандартным подходом при разработке новых сайтов (или веб-приложений) и в идеале ваш сайт должен смотреться и функционировать так, как вы задумывали, на всём разнообразии устройств.

Быстрый заказ \ Консультация

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

Реклама в поисковых системах Яндекс и Google. Профессиональная настройка рекламы и отслеживание эффективности!

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

Быстрый заказ \ Консультация

Скидка

1500 руб.
Заинтересовались услугами создания, обслуживания или продвижения вашей компании в Интернете?!
Получите 1500 руб.
за он-лайн заявку
Предложение ограничено.

После получения заявки с Вами свяжутся наши специалисты и уточнят все детали по интересующей вас услуге.
«Нажимая на кнопку "Получить скидку", я даю согласие на обработку персональных данных»
×
Получите 1500 рублей!
×
×