iv660 / k-gorod-demo

KGorod的演示应用程序

v3.1.1 2019-05-31 13:48 UTC

This package is auto-updated.

Last update: 2024-09-29 05:21:47 UTC


README

KGorodDemo的演示应用程序。

包含三个独立的应用程序,它们使用共同的代码库。

  1. 前端代表书籍目录,支持分页导航,并使用ReactJS实现。

示例: https://php7.docwriter.ru/k-gorod/frontend/web/

  1. 后端包括管理员面板。允许查看目录中的书籍列表,更改它们的名称和章节名称。使用Yii的内置机制构建。

示例: https://php7.docwriter.ru/k-gorod/backend/web/

  1. API提供开放的(不需要身份验证)RESTful API,用于访问目录中的书籍列表。用于前端应用程序的工作。

在项目范围内还运行一个名为console的应用程序,通过命令行界面提供对Yii2标准管理功能的访问,例如迁移。

示例: https://php7.docwriter.ru/k-gorod/api/web/api/v1/books/

安装

  1. php composer.phar create-project --prefer-dist --stability=dev iv660/k-gorod-demo
  2. php init
  3. 在common/config/main-local.php中配置数据库和(如果需要)API端点
  4. php yii migrate

应用程序功能概述

在开发此应用程序时使用了以下Yii2框架功能。

  • 配置文件用于设置所有应用程序参数。敏感数据,如账户数据,位于config/*-local.php文件中,不包括在应用程序的交付包中。根据您的环境自行设置这些参数。
  • MVC。所有组件都根据Yii2中采用的MVC模板设计实现。
  • ActiveForm用于处理表单。
  • 验证器。使用内置验证器检查用户输入的数据。
  • AccessControl用于限制对管理面板的访问。
  • 迁移。使用Yii2的标准迁移机制构建数据方案。在安装和设置包后,在控制台中运行yi migrate命令。在执行迁移时还安装了演示数据。所有迁移都支持回滚(yii migrate/down)。
  • 数据库表前缀。应用程序支持设置数据库表的前缀。为此,使用db组件的tablePrefix参数。前缀机制允许在使用单一数据库为多个不同应用程序提供服务时避免冲突。
  • 数据库兼容性。应用程序支持与不同类型的数据库服务器一起使用。经过测试与MySQL和PostgreSQL兼容。
  • 本地化(i18n)用于执行此项目期间实现的所有用户界面元素(未对Yii2标准安装包中的标准界面元素和静态文档进行本地化)。
  • URL。使用标准助手生成基于别名的URL。
  • Гii для автоматического генерации кода приложения.
  • Автоматизация. Для генерации языковых файлов и миграций использовались встроенные в Yii2 средства автоматизации (yii migrate/create, yii message).
  • REST API. Реализован в виде отдельного приложения api. Используется для динамического генерации списка книг (см. ниже). Эндпоинт API: https://your_api_server/api/v1/books
  • ReactJS. Генерация списка книг с навигацией по страницам на фронт-энде приложения.
  • Composer. Возможна установка и обновление приложения из стандартного репозитория Composer Packagist.
  • Github. Исходный код проекта доступен по адресу https://github.com/iv660/k-gorod-demo/