定制 rmrevin/yii2-application 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

rmrevin/yii2-application

Composer 安装命令:

composer create-project rmrevin/yii2-application

包简介

Yii 2 Advanced Application Template edited by rmrevin

README 文档

README

Создание нового приложения

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

Новый проект Вы можете создаь выполнив команду:

php composer.phar create-project --prefer-dist --stability=dev rmrevin/yii2-application my-new-application

Подготовка окружения

Для обработки bower пакетов, в системе требуется глобально установить пакет fxp/composer-asset-plugin. Делается это командой

php composer.phar global require "fxp/composer-asset-plugin:1.0.0"

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

pear channel-discover pear.phing.info
pear install --alldeps phing/phing

Деплой

Document root -

  • Web - ~/frontend-app/web
  1. Клонировать проект через git
  2. Скопировать файл .environment.example.php в .environment.php, заполнить необходимые данные. MYSQL - основаня база, MYSQL_TEST - копия базы для автоматических тестов.
  3. Установить зависимости через композер ./composer.phar install (если нет композера, установить через ./getcomposer)
  4. С помощью команды ./init выбрать нужное окружение
  5. Развернуть миграции ./frontend migrate
  6. Установить frontend зависимости через npm npm install
  7. Скомпилировать less в css phing less
  8. Создать пользователя-администратора ./frontend user/add, программа спросит придумать имя, email и пароль

Система готова к эксплуатации.

Обновление

  1. Обновить кодовую базу через git
  2. Обновить композер ./composer.phar selfupdate
  3. Обновить зависимости через композер ./composer.phar update
  4. Развернуть новые миграции ./frontend migrate
  5. Оновить frontend зависимости через npm npm update
  6. Скомпилировать less в css phing less

Система готова к эксплуатации.

Полуавтоматический деплой и обновление

Сначала потребуется скачать обновление из гита командой git pull, затем выполнить одну из команд:

  • phing build/production - собрать проект для продакшена.
  • phing build/demo - собрать проект для demo площадки.
  • phing build/dev - собрать проект для dev площадки.

Дополнительно доступны следующие команды (они выполняются в рамках build/* команд, и добавлены только для справки):

  • phing clear - удалить все временные файлы и логи во всех приложениях.
  • phing clear/frontend - удалить все временные файлы и логи в приложении frontend.
  • phing migrate - выполнить все новые миграции для всех приложений
  • phing migrate/frontend - выполнить все новые миграции для приложения frontend

Основные моменты

За основу каркаса взят yii2-advance-application. Он позволяет создавать комплекс из разных приложений с разными подходами (обычное web приложение, cli приложение, rest приложение). На данный момент, в проекте созданны следующие приложения:

  • frontend-app - основное web приложение.

Так же присутствуют несколько вспомогательных разделов:

  • common - общие для всех приложений ресурсы (конфиги, расширяющие компоненты фреймворка, хелперы)
  • frontend-modules - здесь хранятся модули для web приложения. Это как раз таки те модули, которые вызываются из веба. В идеале, здесь должны быть только расширяющие компонениы, контроллеры, модели форм и представления.

Для запуска тестов

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

Автоматически, это поможет сделать phing. Запускаете из корня проекта команду phing build/codecept, и конфиги автоматически скопируются.

Для ручного копирования необходимо в директориях erp-app/tests и hub-app/tests скопировать файлы acceptance.suite.yml.dist в acceptance.suite.yml, functional.suite.yml.dist в functional.suite.yml и unit.suite.yml.dist в unit.suite.yml.

После того, как файлы были скопированы, необходимо их настроить. В acceptance.suite.yml необходимо изменить параметры PhpBrowser/url и REST/url под настройки Вашей площадки.

Остальные файлы могут быть оставлены без изменений.

После создания конфигов, нужно "собрать" "актёров" для тестирования. Для этого из корня проекта выполните команды

./codecept build -c web-app/tests/codeception.yml

Теперь можно приступать непосредственно к запуску тестов.

Для этого из корня провека выполните команду

# запустить выполнение всех тестов во всех приложениях
./codecept run

# запустить выполнение только тестов для erp приложения
./codecept run -c web-app/tests/codeception.yml

# запустить выполнение только unit тестов для hub приложения
./codecept run -c web-app/tests/codeception.yml unit

# запустить выполнение определённого unit теста для hub приложения
./codecept run -c web-app/tests/codeception.yml unit commands/UserCommandTest.php

Для генерации карты покрытия кода к вызову комманды добавьте параметр --coverage-html. Для отображения более подробной иформации по ходу выполнения теста к вызову комманды добавьте параметр --debug.

./codecept run --coverage-html
./codecept run -c web-app/tests/codeception.yml --coverage-html --debug

rmrevin/yii2-application 适用场景与选型建议

rmrevin/yii2-application 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 22 次下载、GitHub Stars 达 2, 最近一次更新时间为 2015 年 03 月 16 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 rmrevin/yii2-application 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 rmrevin/yii2-application 我们能提供哪些服务?
定制开发 / 二次开发

基于 rmrevin/yii2-application 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 22
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 6
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2015-03-16