**ThinkPHP 5.1 (LTS версия) — 12 лет верности, PHP-фреймворк, которому можно доверять** [](https://scrutinizer-ci.com/g/top-think/framework/?branch=5.1) [](https://travis-ci.org/top-think/framework) [](https://packagist.org/packages/topthink/framework) ThinkPHP 5.1 представляет собой PHP-фреймворк с долгосрочной поддержкой (LTS), который предлагает ряд улучшений в базовой архитектуре и новые функции. Вот некоторые из основных особенностей: * Использование контейнеров для унифицированного управления объектами. * Поддержка Facade. * Маршрутизация с использованием аннотаций. * Междоменная маршрутизация. * Независимость конфигурации и маршрутизации от каталогов. * Отмена системных констант. * Улучшенные вспомогательные функции. * Механизм псевдонимов для библиотек. * Усовершенствованные условия запросов. * Обновлённый механизм запросов. * Двухуровневая конфигурация. * Доработанная инъекция зависимостей. * Поддержка стандарта PSR-3 для журналов. * Промежуточное ПО (доступно начиная с версии 5.1.6). * Поддержка Swoole/Workerman (начиная с версии 5.1.18). Для работы с ThinkPHP 5.1 требуется PHP версии 5.6 или выше. **Установка** Чтобы установить фреймворк, используйте Composer: ~~~ composer create-project topthink/think tp ~~~ Запустите сервис: ~~~ cd tp php think run ~~~ После этого вы сможете получить доступ к веб-приложению через браузер по адресу: ~~~ http://localhost:8000 ~~~ Обновление фреймворка: ~~~ composer update topthink/framework ~~~ **Онлайн-руководство** Доступны следующие ресурсы: + Полное руководство по разработке (https://www.kancloud.cn/manual/thinkphp5_1/content). + Руководство по обновлению (https://www.kancloud.cn/manual/thinkphp5_1/354155). **Структура каталогов** Исходная структура каталогов выглядит следующим образом: ~~~ www WEB部署目录(或者子目录) ├─application 应用目录 │ ├─common 公共模块目录(可以更改) │ ├─module_name 模块目录 │ ├─common.php 模块函数文件 │ ├─controller 控制器目录 │ ├─model 模型目录 │ ├─view 视图目录 │ └─ ... 更多类库目录 │ │ ├─command.php 命令行定义文件 │ ├─common.php 公共函数文件 │ └─tags.php 应用行为扩展定义文件 │ ├─config 应用配置目录 │ ├─module_name 模块配置目录 │ ├─database.php 数据库配置 │ ├─cache 缓存配置 │ └─ ... │ | ├─app.php 应用配置 | ├─cache.php 缓存配置 | ├─cookie.php Cookie配置 | ├─database.php 数据库配置 | ├─log.php 日志配置 | ├─session.php Session配置 | ├─template.php 模板引擎配置 | └─trace.php Trace配置 │ ├─route 路由定义目录 │ ├─route.php 路由定义 │ └─... 更多 │ ├─public WEB目录(对外访问目录) │ ├─index.php 入口文件 │ ├─router.php 快速测试文件 │ └─.htaccess 用于apache的重写 │ ├─thinkphp 框架系统目录 │ ├─lang 语言文件目录 │ ├─library 框架类库目录 | ├─think Think类库包目录 | └─traits 系统Trait目录 | | ├─tpl 系统模板目录 | ├─base.php 基础定义文件 | ├─console.php 控制台入口文件 | ├─convention.php 框架惯例配置文件 | ├─helper.php 助手函数文件 | ├─phpunit.xml phpunit配置文件 | └─start.php 框架入口文件 | ├─extend 扩展类库目录 ├─runtime 应用的运行时目录(可写,可定制) ├─vendor 第三方类库目录(Composer依赖库) ├─build.php 自动生成定义文件(参考) ├─composer.json composer 定义文件 ├─LICENSE.txt 授权说明文件 ├─README.md README 文件 ├─think 命令行入口文件 ~~~ Также можно использовать встроенный веб-сервер PHP для быстрого тестирования. После перехода в корневой каталог выполните команду: ```php php think run ``` **Соглашения об именах** ThinkPHP5 следует стандартам PSR-2 и PSR-4 для именования и автоматической загрузки. Также обратите внимание на следующие соглашения: ### Каталоги и файлы * Каталоги не имеют строгих правил, допускается использование как верблюжьего регистра, так и нижнего подчёркивания. * Файлы классов и функций всегда имеют расширение .php. * Имена файлов классов соответствуют пространству имён и находятся в том же каталоге. * Именование классов соответствует стандарту CamelCase, где первая буква заглавная. ### Функции и классы, атрибуты * Классы именуются с использованием CamelCase и начинаются с заглавной буквы, например, User, UserType. Не требуется добавлять суффикс, например, класс UserController должен называться просто User. * Функции именуются с помощью строчных букв и подчёркивания (_), например, get_client_ip. * Методы именуются с использованием CamelCase и начинаются со строчной буквы, например, getUserName. * Атрибуты именуются с использованием CamelCase и начинаются со строчной буквы, например, tableName, instance. * Магические методы, такие как __call и __autoload, начинаются с двух символов подчёркивания. ### Константы и конфигурации * Константы именуются заглавными буквами и подчёркиванием, например, APP_PATH и THINK_PATH. * Параметры конфигурации именуются строчными буквами и подчёркиванием, например, url_route_on и url_convert. ### Таблицы данных и поля * Таблицы и поля данных именуются строчными буквами с подчёркиванием, при этом рекомендуется избегать использования подчёркивания в начале имени поля. Например, таблица think_user и поле user_name. Не рекомендуется использовать CamelCase или китайские символы для именования таблиц и полей. **Участие в разработке** Дополнительную информацию о ThinkPHP5 можно найти на GitHub (https://github.com/top-think/framework). **Авторские права** ThinkPHP распространяется под лицензией Apache 2.0 и доступен для свободного использования. В данном проекте отдельно обозначена информация об авторских правах на сторонний исходный код и двоичные файлы. Copyright © 2006-2018 by ThinkPHP (http://thinkphp.cn) All rights reserved. Торговая марка ThinkPHP® и авторские права принадлежат компании Shanghai Topthink Information Technology Co., Ltd. Более подробную информацию см. в [LICENSE.txt](LICENSE.txt).