Шаблон простого приложения

Шаблон простого приложения Yii идеально подходит для небольших проектов, или для изучения фреймворка. Шаблон простого приложения содержит четыре страницы: "homepage", "about", "contact" и "login". На странице "contact" отображает форму обратной связи, которую пользователи могут заполнить, чтобы отправить свое сообщение веб-мастеру. Форма обратной связи будет работать при условии, что сайту доступен сервер электронной почты и адрес электронной почты администратора указан в файле конфигурации. То же касается страницы "login", которая позволяет пользователям авторизоваться, для доступа к защищенному содержимому.

Установка

Для установки фреймворке требуется Composer. Если в Вашей системе еще не установлен Composer, можете скачать его по ссылке http://getcomposer.org/, или выполните следующую команду в ОС Linux/Unix/MacOS:

curl -s http://getcomposer.org/installer | php

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

php composer.phar create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic /path/to/yii-app

Теперь настройте корневой веб-каталог вашего веб-сервера подобно этому /path/to/yii-app/web и Вы сможете получить доступ к приложению, используя адрес http://localhost/.

Структура каталогов

Простое приложение не содержит большого количества каталогов. Вот его простая структура:

  • assets - файлы ресурсов приложения.
  • AppAsset.php - описание ресурсов приложения, таких как CSS, JavaScript и т.д. Посмотрите Управление ресурсами для большей информации.
  • commands - консольные контроллеры.
  • config - конфигурация приложения.
  • controllers - веб контроллеры.
  • models - модели приложения.
  • runtime - логи, файловый кеш.
  • views - шаблоны представлений.
  • web - корневой веб-каталог.

Корневой каталог содержит файлы:

  • .gitignore содержит список файлов игнорируемых версионным хранилищем git.
  • codeception.yml - конфигурация Codeception.
  • composer.json - конфигурация Composer, подробнее описано ниже.
  • LICENSE.md - информация о лицензии. Можете разместить здесь свою лицензию.
  • README.md - простая информация об установленном шаблоне. Подумайте о замене информацией о вашем проекте и его установке.
  • requirements.php - проверка требований Yii.
  • yii - стартовое консольное приложение.
  • yii.bat - тоже для Windows.

config

Этот каталог содержит файлы конфигурации:

  • console.php - конфигурация консольного приложения.
  • params.php - общие параметры приложения.
  • web.php - конфигурация веб-приложения.
  • web-test.php - конфигурация веб-приложения для запуска функциональных тестов.

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

views

Каталог представлений содержит шаблоны используемые приложением. В простом приложении это:

layouts
    main.php
site
    about.php
    contact.php
    error.php
    index.php
    login.php

layouts содержит HTML-макеты т.е. в разметка страницы, за исключением: doctype, секции head, главного меню, футер и т.д. Остальное обычно находится в представлениях контроллеров. По соглашению они располагаются в каталогах сопоставимых по id контроллера. Для контроллера SiteController представления будут в каталоге site. Имена представлений обычно совпадают с названиями действий контроллера. Имена частичных представлений обычно начинаются с нижнего подчеркивания.

web

Это корневой веб-каталог.

assets
css
index.php
index-test.php

assets содержит опубликованные файлы ресурсов такие как CSS, JavaScript и т.д. Процесс публикации автоматический, Вам ничего не нужно делать с этим каталогом, только убедитесь что Yii может записывать в него.

css содержит обычные CSS файлы.

index.php - это главный стартовый скрипт веб-приложения его главная точка входа. index-test.php - это входная точка для функциональных тестов.

Конфигурация Composer

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

{
    "name": "yiisoft/yii2-app-basic",
    "description": "Yii 2 Basic Application Template",
    "keywords": ["yii", "framework", "basic", "application template"],
    "homepage": "http://www.yiiframework.com/",
    "type": "project",
    "license": "BSD-3-Clause",
    "support": {
        "issues": "https://github.com/yiisoft/yii2/issues?state=open",
        "forum": "http://www.yiiframework.com/forum/",
        "wiki": "http://www.yiiframework.com/wiki/",
        "irc": "irc://irc.freenode.net/yii",
        "source": "https://github.com/yiisoft/yii2"
    },
    "minimum-stability": "dev",
    "require": {
        "php": ">=5.4.0",
        "yiisoft/yii2": "*",
        "yiisoft/yii2-swiftmailer": "*",
        "yiisoft/yii2-bootstrap": "*",
        "yiisoft/yii2-debug": "*",
        "yiisoft/yii2-gii": "*"
    },
    "scripts": {
        "post-create-project-cmd": [
            "yii\\composer\\Installer::setPermission"
        ]
    },
    "extra": {
        "writable": [
            "runtime",
            "web/assets"
        ],
        "executable": [
            "yii"
        ]
    }
}

Для начала мы изменим основную информацию. Замените name, description, keywords, homepage и suppor чтобы они соответствовали Вашему проекту.

Интересный момент. В разделе require Вы можете указать дополнительные пакеты нужные для Вашего приложения. Все эти пакеты поступают с сайта packagist.org, так что не стесняйтесь просмотреть этот сайт в поисках полезного кода.

После того, как Вы изменили composer.json, Вы можете запустить команду php composer.phar update --prefer-dist, подождите пока пакеты загрузятся и будут установлены, и можете ими пользоваться. Автозагрузка классов будет происходить автоматически.

Авторизация