Yii framework: Новости — yiiframework.ru

Содержание

Обзор фреймворка Yii – База знаний Timeweb Community

Продолжаю писать обзоры об известных фреймворках и других инструментах для разработки сайтов. На очереди — фреймворк Yii.

Общее

Yii — это объектно-ориентированный фреймворк, написанный на PHP.

Если вы не знаете, что такое фреймворк и чем он отличается от библиотеки, то я рекомендую прочитать это в другой моей статье «Обзор Vue.js». Здесь подробно останавливаться на этом я уже не буду, лишь напомню, что фреймворк — это своеобразный каркас для разработки приложения. Он помогает упростить и сделать более быстрой разработку проекта.

Так как PHP один из самых популярных языков программирования на сегодняшний день, то и фреймворков, написанных на нем, немало: Laravel, CakePHP, Symfony, CodeIgniter и многие другие. Yii можно смело назвать одним из лидирующих по популярности фреймворком.

В 2018 года Yii празднует юбилей — ему исполнилось 10 лет, так как первый релиз состоялся в 2008 году. Актуальная на момент написания статьи версия — 2.0.15.1 от 20 марта 2018.

Фреймворк реализует парадигму MVC и подходит для разработки приложений любой сложности, в особенности если речь идет о крупном проекте: форуме, интернет-магазине, портале и так далее.

Сильные стороны Yii

Преимущества Yii — это высокая скорость работы и хорошая поддержка OОП. Yii включает в себя большое количество библиотек. Благодаря им можно легко создать веб-приложение, которое будет отвечать всем современным стандартам. Встроенные методы позволяют значительно сокращать количество кода.

Важно, что Yii не только распространяется бесплатно, но и выходит под лицензией BSD. То есть его можно использовать в коммерческих целях, встраивать в проприетарные продукты.

Yii имеет хорошую документацию. Она долгое время была англоязычной, но силами русскоязычных пользователей перевод все-таки увидел свет и теперь доступен на сайте проекта.

Фреймворк Yii известен своим огромным сообществом, в том числе на русском языке. Большие сообщества разработчиков — это возможность оперативно получить помощь и обсудить важные темы. Более того — на форуме можно пообщаться и с самим создателем Yii Qiang Xue (писать ему стоит на английском или китайском).

Тем не менее Yii нельзя назвать проектом одного человека, так как сейчас фреймворк поддерживает и развивает большая команда. Она следит за основными IT-тенденциями и внедряет их в проект.

Yii имеет хороший генератор кода. Он сгенерирует исходный код, то есть структуру приложения, в зависимости от параметров, которые вы укажете.

Что еще стоит знать об этом фреймворке? Yii имеет гибкий механизм кэширования и поддерживает несколько хранилищ для кэширования переменных, участков кода и так далее.

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

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

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

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

Производительность — то, что в первую очередь волнует разработчиков. По словам разработчиков, производительность — это одна из основных целей Yii. Поэтому по результатам тестов phpmark он имеет лучшую производительность.

Yii — фреймворк с большими, проверенными временем возможностями: ActiveRecord для баз данных, поддержка REST API и другие.

Разработчики Yii уделяют много внимания безопасности фреймворка, поэтому в Yii предусмотрены меры против SQL-инъекций, межсайтового скриптинга (XSS), фальсификации файлов cookie и других атак на веб-приложения.

Версии

Существует две основных версии фреймворка — это 1.1 и 2.0. Вторая версия — это переписанный фреймворк с учетом последних технологий и протоколов (Composer, PSR, пространств имен и так далее).

С чего начать изучение

Традиционно изучение любого фреймворка — как и вообще любой новой технологии — стоит начать с изучения официальной документации, которую обычно можно найти на официальном сайте.

Документацию Yii смотрите здесь, благо она уже переведена на русский язык.

Заключение

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

Первое знакомство: Установка Yii | Полное руководство по Yii 2.0

Вы можете установить Yii двумя способами: используя Composer или скачав архив. Первый способ предпочтительнее так как позволяет установить новые расширения или обновить Yii одной командой.

Примечание: В отличие от Yii 1, после стандартной установки Yii 2 мы получаем как фреймворк, так и шаблон приложения.

Установка при помощи Composer ¶

Установка Composer ¶

Если Composer еще не установлен это можно сделать по инструкции на getcomposer.org, или одним из нижеперечисленных способов. На Linux или Mac используйте следующую команду:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

На Windows, скачайте и запустите Composer-Setup.exe.

В случае возникновения проблем читайте раздел «Troubleshooting» в документации Composer. Если вы только начинаете использовать Composer, рекомендуем прочитать как минимум раздел «Basic usage».

В данном руководстве предполагается, что Composer установлен глобально. То есть он доступен через команду composer

. Если вы используете composer.phar из локальной директории, изменяйте команды соответственно.

Если у вас уже установлен Composer, обновите его при помощи composer self-update.

Примечание: Во время установки Yii Composer запрашивает довольно большое количество информации через Github API. Количество запросов варьируется в зависимости от количества зависимостей вашего проекта и может превысить ограничения Github API. Если это произошло, Composer спросит логин и пароль от Github. Это необходимо для получения токена для Github API. На быстрых соединениях это может прозойти ещё до того, как Composer сможет обработать ошибку, поэтому мы рекомендум настроить токен доступа до установки Yii. Инструкции приведены в документации Composer о токенах Github API.

После установки Composer устанавливать Yii можно запустив следующую команду в папке доступной через веб:

Установка Yii ¶

composer create-project --prefer-dist yiisoft/yii2-app-basic basic

Эта команда устанавливает последнюю стабильную версию Yii в директорию basic. Если хотите, можете выбрать другое имя директории.

Информация: Если команда composer create-project не выполняется нормально, попробуйте обратиться к разделу «Troubleshooting» документации Composer. Там описаны другие типичные ошибки. После того, как вы исправили ошибку, запустите composer update в директории basic.

Подсказка: Если вы хотите установить последнюю нестабильную ревизию Yii, можете использовать следующую команду, в которой присутствует опция stability:

composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic

Старайтесь не использовать нестабильную версию Yii на рабочих серверах потому как она может внезапно поломать код.

Установка из архива ¶

Установка Yii из архива состоит из трёх шагов:

  1. Скачайте архив с yiiframework.com;
  2. Распакуйте скачанный архив в папку, доступную из Web.
  3. В файле config/web.php добавьте секретный ключ в значение cookieValidationKey (при установке через Composer это происходит автоматически):

'cookieValidationKey' => 'enter your secret key here',

Другие опции установки ¶

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

Есть два основных варианта такой установки:

  • Если вам нужен только сам фреймворк и вы хотели бы создать приложение с нуля, воспользуйтесь инструкцией, описанной в разделе «Создание приложения с нуля».
  • Если хотите начать с более продвинутого приложения, хорошо подходящего для работы в команде, используйте шаблон приложения advanced.

Проверка установки ¶

После установки приложение будет доступно по следующему URL:

http:

Здесь подразумевается, что вы установили приложение в директорию basic в корневой директории вашего веб сервера сервер работает локально (localhost). Вам может потребоваться предварительно его настроить.

Вы должны увидеть страницу приветствия «Congratulations!». Если нет — проверьте требования Yii одним из способов:

  • Браузером перейдите по адресу http://localhost/basic/requirements.php
  • Или выполните команду в консоли:
cd basic
php requirements.php

Для корректной работы фреймворка вам необходима установка PHP, соответствующая его минимальным требованиям. Основное требование — PHP версии 5.4 и выше. Если ваше приложение работает с базой данных, необходимо установить расширение PHP PDO и соответствующий драйвер (например, pdo_mysql для MySQL).

Настройка веб сервера ¶

Информация: можете пропустить этот подраздел если вы только начали знакомиться с фреймворком и пока не разворачиваете его на рабочем сервере.

Приложение, установленное по инструкциям, приведённым выше, будет работать сразу как с Apache, так и с Nginx под Windows и Linux с установленным PHP 5.4 и выше. Yii 2.0 также совместим с HHVM. Тем не менее, в некоторых случаях поведение при работе с HHVM отличается от обычного PHP. Будьте внимательны.

На рабочем сервере вам наверняка захочется изменить URL приложения с http://www.example.com/basic/web/index.php на http://www.example.com/index.php. Для этого необходимо изменить корневую директорию в настройках веб сервера так, чтобы та указывала на basic/web. Дополнительно можно спрятать index.php следуя описанию в разделе «Разбор и генерация URL». Далее будет показано как настроить Apache и Nginx.

Информация: Устанавливая basic/web корневой директорией веб сервера вы защищаете от нежелательного доступа код и данные, находящиеся на одном уровне с basic/web. Это делает приложение более защищенным.

Информация: Если приложение работает на хостинге где нет доступа к настройкам веб сервера, то можно изменить структуру приложения как описано в разделе «Работа на Shared хостинге».

Рекомендуемые настройки Apache ¶

Добавьте следующее в httpd.conf Apache или в конфигурационный файл виртуального хоста. Не забудьте заменить path/to/basic/web на корректный путь к basic/web.


DocumentRoot "path/to/basic/web"

<Directory "path/to/basic/web">
    RewriteEngine on

    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    
    RewriteRule . index.php

    
</Directory>

Рекомендуемые настройки Nginx ¶

PHP должен быть установлен как FPM SAPI для Nginx. Используйте следующие параметры Nginx и не забудьте заменить path/to/basic/web на корректный путь к basic/web и mysite.test на ваше имя хоста.

server {
    charset utf-8;
    client_max_body_size 128M;

    listen 80; 
    

    server_name mysite.test;
    root        /path/to/basic/web;
    index       index.php;

    access_log  /path/to/project/log/access.log;
    error_log   /path/to/project/log/error.log;

    location / {
        
        try_files $uri $uri/ /index.php?$args;
    }

    
    
    
    
    

    location ~ \.php$ {
        include fastcgi.conf;
        fastcgi_pass   127.0.0.1:9000;
        
    }

    location ~ /\.(ht|svn|git) {
        deny all;
    }
}

Используя данную конфигурацию установите cgi.fix_pathinfo=0 в php.ini чтобы предотвратить лишние системные вызовы stat().

Учтите, что используя HTTPS необходимо задавать fastcgi_param HTTPS on; чтобы Yii мог корректно определять защищенное соединение.

Полное руководство (v2): О Yii

Yii – это высокопроизводительный компонентный PHP фреймворк, предназначенный для быстрой разработки современных веб-приложений. Слово Yii (произносится как Йи [ji:]) в китайском языке означает «простой и эволюционирующий». Также Yii может расшифровываться как акроним Yes It Is!

Для каких задач больше всего подходит Yii? #

Yii – это универсальный фреймворк и может быть задействован во всех типах веб-приложений. Благодаря его компонентной структуре и отличной поддержке кэширования, фреймворк особенно подходит для разработки таких крупных проектов, как порталы, форумы, CMS, магазины или RESTful-приложения.

Сравнение Yii с другими фреймворками #

Если вы уже знакомы с другими фреймворками, вам наверняка будет интересно сравнить их с Yii.

  • Как и многие другие PHP фреймворки, для организации кода Yii использует архитектурный паттерн MVC (Model-View-Controller).
  • Yii придерживается философии простого и элегантного кода, не пытаясь усложнять дизайн только ради следования каким-либо шаблонам проектирования.
  • Yii является full-stack фреймворком и включает в себя проверенные и хорошо зарекомендовавшие себя возможности, такие как ActiveRecord для реляционных и NoSQL баз данных, поддержку REST API, многоуровневое кэширование и другие.
  • Yii отлично расширяем. Вы можете настроить или заменить практически любую часть основного кода. Используя архитектуру расширений, легко делиться кодом или использовать код сообщества.
  • Одна из главных целей Yii – производительность.

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

Версии Yii #

На данный момент существует две основные ветки Yii: 1.1 и 2.0. Ветка 1.1 является предыдущим поколением и находится в состоянии поддержки. Версия 2.0 – это полностью переписанный Yii, использующий последние технологии и протоколы, такие как Composer, PSR, пространства имен, трейты и многое другое. 2.0 — текущее поколение фреймворка. На этой версии будут сосредоточены основные усилия несколько следующих лет. Данное руководство именно о версии 2.0.

Требования к ПО и знаниям #

Yii 2.0 требует PHP 5.4.0 и выше и наилучшим образом работает на последней версии PHP 7. Чтобы узнать требования для отдельных возможностей вы можете запустить скрипт проверки требований, который поставляется с каждым релизом фреймворка.

Для разработки на Yii потребуется общее понимание ООП, так как фреймворк полностью следует этой парадигме. Также стоит изучить такие современные возможности PHP как пространства имён и трейты. Понимание этих концепций позволит вам более легко освоиться c Yii 2.0.

Yii3 Framework. Что нам ждать от него?

Каким фреймворк хотят видеть?

  • Для разработчиков нет ограничений в выборе архитектуры. Будь то классический MVC (Model-View-Controller) или DDD (Domain-Driven Design)
  • Он основан на таких лучших принципах, как SOLID, GRASP
  • Сохранить все самое хорошее, что есть в Yii2.
  • Быть более открытым для глобального PHP сообщества.

Единый шаблон приложения

Удаление шаблонов basic/advanced. Я тоже не особо понимаю, зачем нужно делать 2 варианта установки фреймворка, так как это даже немного путает. Сам пользуюсь всегда yii2/advanced. Полагаю, что разработчики сделают какую-то одну схему установки.

Маршрутизация

Отдельные не связанные с фреймворком пакеты. Разработчики хотят добиться гибкости архитектуры, что позволит устанавливать только все самое необходимое. Это также касается и обновления пакетов. Надеюсь, ситуация, когда запустил “composer update” и проект упал, будет случаться реже :))

Отказ от Jquery

Напрямую я нигде не нашел этого факта, но косвенно слышал много раз. Сейчас после установки yii2 вы получаете сразу же bundle с bootstrap 3 и jquery. Это не всегда и не всем подходит. Хотя, замечу, это удобно в плане скорости разработки. Очень большая вероятность, что в 3ей версии код будет без использования jquery. Как по мне, так это определенно шаг в будущее.

Дружественные исключения

Это очень интересная фишка, над которой работают разработчики в данный момент. Интерфейс FriendlyExceptionInterface позволит пользователю дать совет по решению проблемы. Он будет выдаваться на странице с ошибкой. Каков принцип его действия??? Для меня загадка…

Cycle ORM, AR, Doctrine… В общем работа с базой

Совсем недавно разработчики провели эксперимент и подрубили Cycle ORM. Споры на тему “гавняности” AR продолжаются бесконечно долго. В yii3 разработчики хотят сделать максимально независимую архитектуру, где можно будет использовать любую ORM. Посмотрим, что из этого получится ….

RoadRunner, как веб сервер

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

Изменения Rbac

Вы можете почитать ветку на форуме: https://yiiframework.ru/forum/viewtopic.php?f=39&t=53200

На данный момент ведутся очень бурные обсуждения на эту тему. Одно известно, что rbac ждут изменения. Хочет он этого или нет. Как по мне, на практике часто приходится допиливать данный компонент, но на простых проектах он не плох из коробки.

Отказ от Pjax

Ходят слухи, что идея pjax очень тяжеловесная, и разработчики давно хотели ее выпилить. В yii3 его, скорее всего, не будет. Лично я ничего не имею против Pjax. Возможно, его можно будет “впихнуть” в framework. 

Вывод

На самом деле, изменений гораздо больше. Затронуть их все практически невозможно, так как работа уже ведется не один год. Хочется сказать только большое спасибо разработчикам и всем кто контибьютит этот проект, помогает донатами. Я для себя уже окончательно решил, что воспользуюсь 3ей версией и буду партировать свои проекты. 

Скачать Yii | Yii PHP Framework

Yii — это проект с открытым исходным кодом, выпущенный в соответствии с условиями лицензии BSD. Это означает, что вы можете использовать Yii бесплатно для разработки веб-приложений с открытым исходным кодом или проприетарных приложений.

Установить Yii можно двумя способами: с помощью Composer или скачав шаблон приложения. Мы настоятельно рекомендуем вам использовать Composer.

Если у вас еще не установлен Composer, вы можете установить его, следуя инструкциям на сайте Composer.

Yii 2.0

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

Выберите один из шаблонов приложения, чтобы начать установку Yii 2.0. Шаблон приложения — это пакет, который содержит скелет веб-приложения, написанного на Yii. с которого вы можете начать сборку своего приложения. Если вы только начинаете с Yii, мы рекомендуем установить базовый шаблон .

Чтобы установить шаблон приложения basic , выполните следующую команду:

  php composer.phar создать проект yiisoft / yii2-app-basic базовый  

Лучший способ начать работу с базовым шаблоном приложения — следовать введение в полное руководство.

Чтобы установить шаблон приложения advanced , выполните следующую команду:

  php composer.phar create-project yiisoft / yii2-app-advanced расширенный  

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

Загрузите один из следующих файлов архива и затем распакуйте его в папку, доступную в Интернете:

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

Если вы обновляетесь с Yii 2.0.x с помощью Composer, просто выполните следующие команды в корневом каталоге вашего проекта:

  обновление php composer.phar yiisoft / yii2 yiisoft / yii2-composer bower-asset / jquery.inputmask  

При обновлении Yii могут быть изменения, требующие корректировки в коде вашего приложения, поэтому вы всегда должны проверять примечания UPGRADE. Они также содержат более подробные инструкции по обновлению Yii с помощью композитора.

Если вы установили Yii с помощью архивного файла, вы можете следить за процессом, описанным выше, с помощью Composer, или загрузите файл новой версии и замените содержимое каталога vendor / в своем приложении с файлами из нового архивного файла.

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

Офлайн-документация

Полное руководство по Yii 2.0 и документация по API доступны для просмотра в автономном режиме. Ниже вы найдете загружаемые пакеты, включая файлы HTML Руководства и документации по API. а также ссылки на PDF-версии Руководства на разных языках.

Yii 1.1

Yii 1.1 в настоящее время находится в режиме обслуживания.

Дальнейшая поддержка и исправления ошибок для этой версии были предоставлены до 31 декабря 2016 г. .

Исправления безопасности и совместимость с PHP 7 до 31 декабря 2020 г. .

Вы можете получить последнюю разрабатываемую версию кода Yii 1.1 из репозитория Github с помощью git:

git clone [email protected]: yiisoft / yii.git yii

или через SVN, используя:

svn checkout https: // github.com / yiisoft / yii / ствол / yii

Также доступен пакет yiisoft / yii composer.

Документация

Архив

Если вы ищете Yii 1.0 и другие действительно старые ресурсы, вы можете найти их в музее.

.

Команда | Yii PHP Framework

Текущая команда разработчиков

Макаров Александр

Руководитель проекта

Воронеж, Россия

марта 2010 г.

Константин Сироткин

Расширение ElasticSearch

Киев, Украина

Февраль 2016 г. — ноябрь 2018 г., май 2020 г.

Андрей Васильев

Yii 3.0 развитие

Киев, Украина

июль 2018

Уилмер Арамбула

Yii 3.0 развитие

Чиллан, Чили

2019

Роман Цуркану

Yii 3.0 развитие

Москва, Россия

2019

yiiliveext

Yii 3.0 развитие

Киев, Украина

2019

Мамадаминов Рустам

Yii 3.0 развитие

Ташкент, Узбекистан

ноя 2019

Павел Иванов

Yii 3.0 развитие

Москва, Россия

октябрь 2019

Алексей Гагарин

Yii 3.0 развитие

Рыбинск, Россия

2019

Виктор Бабанов

Yii 3.0 развитие

Москва, Россия

2019

Некрасов Александр

Yii 3.0 развитие

Кишинев, Молдова

2019

Дерепко Дмитрий

Yii 3.0 развитие

Воронеж, Россия

2019

Павел Бжозовски

Yii 2.0 выпусков

Вроцлав, Польша

2020

Предводителев Сергей

Yii 3.0 развитие

Воронеж, Россия

2020

Неактивные члены команды

Карстен Брандт

Разработка основной структуры

Альфельд / Берлин, Германия

Август 2012

Климов Павел

Разработка основной структуры

Донецк, Украина

март 2013 г. — март 2018 г.

Науменко Дмитрий

Разработка основной структуры

Киев, Украина

ноябрь 2015

Boudewijn Vahrmeijer

Разработка основной структуры

Нидерланды

Октябрь 2016

Роман Журавлев

Расширение очереди

Украина

июль 2017

Губарев Антон

Расширение Twig

Россия

Август 2017

Мехди Ачур

Yii 3.0 развитие

Тунис

мая 2019

Бывшие члены команды

Цян Сюэ

Основатель и руководитель проекта

Вашингтон, округ Колумбия, США

, январь 2008 г. — июнь 2015 г.

Маурицио Домба Черин

Управление сообществом
Yii 1.x разработка

Ровинь, Хорватия

августа 2010 г.

Антонио Рамирес

Разработка основной структуры

Майорка, Балеарские острова, Испания

май 2013 г. — июнь 2014 г.

Тимур Рузиев

Разработка основной структуры

Алматы, Казахстан

мар 2013

Вэй Чжо

Сопровождение и развитие сайта проекта

Сидней, Австралия

, январь 2008 г. — декабрь 2014 г.

Себастьян Тирер

Yii 1.x Разработка компонентов

Аргентина

сен 2009 — декабрь 2014

Джеффри Вайнсетт

Yii 1.x документация и маркетинг

Остин, Техас, США

сен 2010 — декабрь 2014

У !!

Yii 1.x Разработка ядра

Германия

август 2010 г. — май 2012 г.

Иона Тернквист

Yii 1.x Разработка компонентов

Калифорния, США

сен 2009 — август 2010

István Beregszászi

Yii 1.x Разработка ядра

Венгрия

сен 2009 — март 2010

Алексей Рогачев

Разработка основной структуры

Петропавловск, Казахстан

март 2017 — май 2017

Авторы

Над кодом Yii Framework работает огромное сообщество участников.Без их помощи было бы невозможно обеспечить и поддерживать огромное количество функций, документация и переводы.

В следующем списке показаны все люди, которые внесли свой вклад в репозиторий yiisoft / yii2 на Github. Если вы один из них, спасибо! Если нет, станьте частью этого!

.

Начало работы: Установка Yii | Полное руководство по Yii 2.0

Вы можете установить Yii двумя способами: с помощью диспетчера пакетов Composer или загрузив файл архива. Первый способ является предпочтительным, так как он позволяет вам устанавливать новые расширения или обновлять Yii, просто выполнив одну команду.

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

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

Информация: Базовый шаблон проекта подходит для разработки 90 процентов веб-приложений.Он отличается из расширенного шаблона проекта в основном в том, как организован их код. Если вы новичок в Yii, мы настоятельно рекомендуем Рекомендуем вам придерживаться Базового шаблона проекта из-за его простоты, но при этом достаточной функциональности.

Установка через Composer ¶

Установка Composer ¶

Если у вас еще не установлен Composer, вы можете сделать это, следуя инструкциям на getcomposer.org. В Linux и Mac OS X вы выполните следующие команды:

  curl -sS https: // getcomposer.организация / установщик | php
sudo mv composer.phar / usr / local / bin / composer
  

В Windows вы загрузите и запустите Composer-Setup.exe.

См. Раздел «Устранение неполадок» документации Composer. если у вас возникнут проблемы. Если вы новичок в Composer, мы также рекомендуем прочитать хотя бы раздел Основное использование документации Composer.

В этом руководстве все команды композитора предполагают, что вы установили композитор глобально. так что он доступен как команда composer .Если вместо этого вы используете composer.phar в локальном каталоге, вам необходимо соответствующим образом настроить примеры команд.

Если у вас уже был установлен Composer ранее, убедитесь, что вы используете последнюю версию. Вы можете обновить Composer запустив самообновление композитора .

Примечание: Во время установки Yii Composer потребуется запросить много информации из Github API. Количество запросов зависит от количества зависимостей вашего приложения и может быть больше, чем Ограничение скорости Github API .Если вы достигнете этого предела, Composer может запросить ваши учетные данные для входа в Github, чтобы получить токен доступа к Github API. При быстром подключении вы можете достичь этого предела раньше, чем Composer сможет обработать, поэтому мы рекомендую настроить токен доступа перед установкой Yii. Пожалуйста, обратитесь к документации Composer о токенах Github API. инструкции о том, как это сделать.

Установка Yii ¶

С установленным Composer вы можете установить шаблон приложения Yii, выполнив следующую команду в папке, доступной через Интернет:

  композитор создать проект --prefer-dist yiisoft / yii2-app-basic basic
  

Это установит последнюю стабильную версию шаблона приложения Yii в каталог с именем basic .Вы можете выбрать другое имя каталога, если хотите.

Информация: Если команда composer create-project завершается неудачно, вы также можете обратиться к Раздел «Устранение неполадок» документации Composer на общие ошибки. Когда вы исправите ошибку, вы можете возобновить прерванную установку. запустив обновление композитора внутри основного каталога .

Совет: Если вы хотите установить последнюю разрабатываемую версию Yii, вы можете вместо этого использовать следующую команду: который добавляет параметр стабильности:

  композитор create-project --prefer-dist --stability = dev yiisoft / yii2-app-basic basic
  

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

Установка из архивного файла ¶

Установка Yii из архивного файла состоит из трех шагов:

  1. Загрузите архивный файл с yiiframework.com.
  2. Распакуйте загруженный файл в папку, доступную через Интернет.
  3. Измените файл config / web.php , введя секретный ключ для элемента конфигурации cookieValidationKey (это делается автоматически, если вы устанавливаете Yii с помощью Composer):

     
    'cookieValidationKey' => 'введите здесь свой секретный ключ',
      

Другие варианты установки ¶

Приведенные выше инструкции по установке показывают, как установить Yii, который также создает базовое веб-приложение, которое работает «из коробки».Этот подход является хорошей отправной точкой для большинства проектов, больших и малых. Это особенно удобно, если вы просто начать изучать Yii.

Но есть и другие варианты установки:

  • Если вы хотите установить только базовый фреймворк и хотите создать все приложение с нуля, вы можете следовать инструкциям, приведенным в разделе Создание приложения с нуля.
  • Если вы хотите начать с более сложного приложения, лучше подходящего для сред коллективной разработки, вы можете рассмотреть возможность установки расширенного шаблона проекта.

Установка ресурсов ¶

Yii полагается на пакеты Bower и / или NPM для установки библиотек ресурсов (CSS и JavaScript). Он использует Composer для получения этих библиотек, что позволяет одновременно решать версии пакетов PHP и CSS / JavaScript. Этого можно добиться либо с помощью asset-packagist.org, либо плагина composer asset. Пожалуйста, обратитесь к документации по активам для получения более подробной информации.

Вы можете управлять своими активами через собственный клиент Bower / NPM, использовать CDN или полностью отказаться от установки ресурсов.Чтобы предотвратить установку ресурсов через Composer, добавьте следующие строки в свой composer.json:

  "replace": {
    "bower-asset / jquery": "> = 1.11.0",
    "bower-asset / inputmask": "> = 3.2.0",
    "bower-asset / punycode": "> = 1.3.0",
    "беседка-актив / yii2-pjax": "> = 2.0.0"
},
  

Примечание: в случае обхода установки актива через Composer, вы несете ответственность за установку активов и разрешение коллизии версий. Будьте готовы к возможным несоответствиям между файлами ресурсов с разными расширениями.

Проверка установки ¶

После завершения установки настройте веб-сервер (см. Следующий раздел) или используйте встроенный веб-сервер PHP, запустив следующие консольная команда в корневом каталоге проекта:

  php yii serve
  

Примечание: По умолчанию HTTP-сервер будет прослушивать порт 8080. Однако, если этот порт уже используется или вы хотите таким образом обслуживая несколько приложений, вы можете указать, какой порт использовать.Просто добавьте аргумент —port:

  php yii serve --port = 8888
  

Вы можете использовать свой браузер для доступа к установленному приложению Yii по следующему URL-адресу:

  http:
  

Вы должны увидеть надпись «Поздравляем!» страницу в вашем браузере. Если нет, проверьте, удовлетворяет ли ваша установка PHP Требования Yii. Вы можете проверить соответствие минимальным требованиям, используя один из следующих подходов:

Вам следует настроить установку PHP так, чтобы она соответствовала минимальным требованиям Yii.Самое главное вы должен иметь PHP 5.4 или выше. В идеале последняя версия PHP 7. Вы также должны установить расширение PDO PHP. и соответствующий драйвер базы данных (например, pdo_mysql для баз данных MySQL), если вашему приложению нужна база данных.

Настройка веб-серверов ¶

Информация: Пока вы можете пропустить этот подраздел, если вы просто тестируете Yii без намерения развертывания на производственном сервере.

Приложение, установленное в соответствии с приведенными выше инструкциями, должно работать из коробки либо с HTTP-сервер Apache или HTTP-сервер Nginx, на Windows, Mac OS X или Linux с PHP 5.4 или выше. Yii 2.0 также совместим с facebook HHVM. Однако есть некоторые крайние случаи, когда HHVM ведет себя иначе, чем собственный PHP, поэтому при использовании HHVM нужно проявлять особую осторожность.

На рабочем сервере вы можете настроить свой веб-сервер так, чтобы к приложению можно было получить доступ. через URL http://www.example.com/index.php вместо http://www.example.com/basic/web/index.php . Такая конфигурация требует указания в корне документов вашего веб-сервера папку basic / web .Вы можете также хотите скрыть index.php из URL, как описано в разделе «Маршрутизация и создание URL». В этом подразделе вы узнаете, как настроить сервер Apache или Nginx для достижения этих целей.

Информация: Установив basic / web в качестве корневого каталога документа, вы также предотвратите доступ конечных пользователей код вашего частного приложения и файлы конфиденциальных данных, которые хранятся в родственных каталогах из базовый / веб . Отказ в доступе к этим другим папкам — повышение безопасности.

Информация: Если ваше приложение будет работать в среде общего хостинга, где у вас нет разрешения чтобы изменить конфигурацию его веб-сервера, вы все равно можете настроить структуру своего приложения для повышения безопасности. Пожалуйста, обратитесь к в разделе «Общая среда хостинга».

Информация: Если вы запускаете свое приложение Yii через обратный прокси-сервер, вам может потребоваться настроить Надежные прокси и заголовки в компоненте запроса.index.php / — [L, R = 404] RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D RewriteRule. index.php

Рекомендуемая конфигурация Nginx ¶

Чтобы использовать Nginx, вы должны установить PHP как FPM SAPI. Вы можете использовать следующую конфигурацию Nginx, заменив путь / to / basic / web на фактический путь для basic / web и mysite.test с фактическим именем хоста для обслуживания./assets/.*\.php$ { отрицать все; } расположение ~ \ .php $ { включить fastcgi_params; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; fastcgi_pass 127.0.0.1:9000; try_files $ uri = 404; } расположение ~ * / \. { отрицать все; } }

При использовании этой конфигурации вы также должны установить cgi.fix_pathinfo = 0 в файле php.ini во избежание множества ненужных вызовов системы stat () .

Также обратите внимание, что при запуске сервера HTTPS необходимо добавить fastcgi_param HTTPS; , чтобы Yii может правильно определить, является ли соединение безопасным.

Рекомендуемая конфигурация модуля NGINX ¶

Вы можете запускать приложения на основе Yii, используя модуль NGINX с языковым модулем PHP. Вот пример конфигурации.

  {
    "слушатели": {
        "*: 80": {
            "пройти": "маршруты / yii"
        }
    },

    "routes": {
        "yii": [
            {
                "соответствие": {
                    "ури": [
                        "!/активы/*",
                        "*.php ",
                        "* .php / *"
                    ]
                },

                "действие": {
                    "пройти": "приложения / yii / direct"
                }
            },
            {
                "действие": {
                    «поделиться»: «/ путь / к / приложению / веб /»,
                    "отступать": {
                        "пройти": "приложения / yii / index"
                    }
                }
            }
        ]
    },

    "Приложения": {
        "yii": {
            "тип": "php",
            "пользователь": "www-данные",
            "target": {
                "непосредственный": {
                    "корень": "/ путь / к / приложению / сети /"
                },

                "индекс": {
                    "корень": "/ путь / к / приложению / сети /",
                    "скрипт": "индекс.php "
                }
            }
        }
    }
}
  

Вы также можете настроить среду PHP или предоставить собственный php.ini в той же конфигурации.

IIS Configuration ¶

Рекомендуется разместить приложение на виртуальном хосте (веб-сайте), где корень документа указывает на путь / к / app / web , и этот веб-сайт настроен для запуска PHP. В этой папке web вы должны поместить файл с именем web.config i.е. путь / к / app / web / web.config . Содержание файла должно быть следующим:

  
<конфигурация>


  
    <правила>
      
        
        <условия>
        
        
        
        
      
    
  


  

Также следующий список официальных ресурсов Microsoft может быть полезен для настройки PHP на IIS:

  1. Как настроить свой первый веб-сайт IIS
  2. Настройка веб-сайта PHP на IIS
.

Начало работы: Запуск приложений | Полное руководство по Yii 2.0

После установки Yii у вас есть работающее приложение Yii, к которому можно получить доступ через URL-адрес http: //hostname/basic/web/index.php или http: //hostname/index.php , в зависимости в зависимости от вашей конфигурации. В этом разделе будут представлены встроенные функции приложения, как организован код и как приложение обрабатывает запросы в целом.

Информация: Для простоты в этом руководстве «Начало работы» предполагается, что вы установили basic / web в качестве корневого каталога документов вашего веб-сервера и настроил URL-адрес для доступа ваше приложение должно быть http: // hostname / index.php или что-то подобное. Для ваших нужд измените URL-адреса в наших описаниях соответствующим образом.

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

Функциональность ¶

Установленное базовое приложение содержит четыре страницы:

  • домашняя страница, отображаемая при доступе к URL-адресу http: //hostname/index.php ,
  • страница «О компании»,
  • страница «Контакты», которая отображает контактную форму, позволяющую конечным пользователям связываться с вами по электронной почте,
  • и страницу «Вход», на которой отображается форма входа в систему, которая может использоваться для аутентификации конечных пользователей.Попробуй авторизоваться с помощью «admin / admin», и вы обнаружите, что пункт главного меню «Вход» изменится на «Выйти».

Эти страницы имеют общий верхний и нижний колонтитулы. Заголовок содержит строку главного меню для навигации среди разных страниц.

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

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

Структура приложения ¶

Наиболее важные каталоги и файлы в вашем приложении (при условии, что корневой каталог приложения — базовый ):

  базовый / базовый путь приложения
    композитор.json, используемый Composer, описывает информацию о пакете
    config / содержит приложение и другие конфигурации
        console.php конфигурация консольного приложения
        web.php конфигурация веб-приложения
    commands / содержит классы команд консоли
    контроллеры / содержит классы контроллеров
    models / содержит классы моделей
    runtime / содержит файлы, созданные Yii во время выполнения, такие как файлы журналов и кешей
    vendor / содержит установленные пакеты Composer, включая сам фреймворк Yii
    просмотров / содержит файлы просмотра
    веб / приложение Веб-корень, содержит файлы, доступные из Интернета
        assets / содержит опубликованные файлы ресурсов (javascript и css) от Yii
        индекс.php входной (или загрузочный) скрипт для приложения
    yii сценарий выполнения консольной команды Yii
  

В целом, файлы в приложении можно разделить на два типа: файлы до basic / web и файлы в других каталогах. К первым можно получить прямой доступ через HTTP (то есть в браузере), а ко вторым нельзя и не должно быть.

Yii реализует архитектурный шаблон модель-представление-контроллер (MVC), что отражено в указанном выше каталоге организации.Каталог models содержит все классы моделей, каталог просмотров содержит все сценарии просмотра, а каталог контроллеров содержит все классы контроллеров.

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

Каждое приложение имеет сценарий входа web / index.php , который является единственным сценарием PHP, доступным через Интернет в приложении. Сценарий входа принимает входящий запрос и создает экземпляр приложения для его обработки.Приложение решает запрос с помощью своих компонентов, и отправляет запрос элементам MVC. Виджеты используются в представлениях для создания сложных и динамических элементов пользовательского интерфейса.

Жизненный цикл запроса ¶

На следующей диаграмме показано, как приложение обрабатывает запрос.

  1. Пользователь делает запрос к скрипту входа web / index.php .
  2. Входной сценарий загружает конфигурацию приложения и создает экземпляр приложения для обработки запроса.
  3. Приложение разрешает запрошенный маршрут с помощью компонент приложения запроса.
  4. Приложение создает экземпляр контроллера для обработки запроса.
  5. Контроллер создает экземпляр действия и выполняет фильтры для действия.
  6. Если какой-либо фильтр не работает, действие отменяется.
  7. Если все фильтры проходят успешно, действие выполняется.
  8. Действие загружает некоторые модели данных, возможно, из базы данных.
  9. Действие отображает представление, предоставляя ему модели данных.
  10. Обработанный результат возвращается компоненту приложения ответа.
  11. Компонент ответа отправляет обработанный результат в браузер пользователя.
.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *