luyadev / luya-env-dev
LUYA DEV ENV 仓库可以帮助您开发新的扩展和模块,或者向 luya 核心仓库提交拉取请求。
Requires
- aws/aws-sdk-php: ^3.0
- cebe/php-openapi: ^1.4
- cpliakas/git-wrapper: 2.1.0
- fabpot/goutte: ~3.1.0
- jakeasmith/http_build_url: ^1.0
- luyadev/luya: ^1.0
- luyadev/luya-headless: ^2.5
- luyadev/luya-module-admin: ^3.0
- luyadev/luya-module-cms: ^3.0
- luyadev/yii-helpers: ^1.0
- nadar/stemming: ^1.0
- paypal/rest-api-sdk-php: ^1.0
- robthree/twofactorauth: ^1.7
- sizeg/yii2-jwt: ^1.2
- stripe/stripe-php: ^6.19
- whichbrowser/parser: ^2.0
Requires (Dev)
- yiisoft/yii2-debug: ^2.0
- yiisoft/yii2-gii: ^2.0
README
LUYA 开发环境
LUYA DEV ENV 仓库可以帮助您开发新的扩展和模块,或者向 luya 核心仓库提交拉取请求。
安装
在安装 env dev 项目之前,克隆您想与之一起工作的仓库。
- 克隆 luya env dev
git clone https://github.com/luyadev/luya-env-dev.git
- 将
configs/env.php.dist
重命名为configs/env.php
(mv configs/env.php.dist configs/env.php
) - 安装 composer 并初始化仓库
composer install
,之后执行./vendor/bin/luyadev repo/init
- 使用 docker-compose 启动环境
docker-compose up
- 现在您可以 ssh (例如
docker exec -it luya-env-dev_luya_web_1 /bin/bash
)进入 Web 容器并执行以下命令:./luya migrate
,./luya import
,./luya admin/setup
,./luya health
。 - 测试您的设置并访问
localhost:8080
(可能需要创建public_html/assets
和runtime
存储并启用它们的权限)
我们建议使用 docker,因此使用 docker-compose up
,因为这将运行一个可以编译样式的 unglue 服务器。
在 CMS 和 Admin 上工作
如果您需要处理 CMS 或 Admin 模块,我们建议您完成上述步骤并使用 docker-compose up
运行。
- 在
repos/luya-module-...
文件夹中编辑模块文件 - 使用
composer install
在该模块文件夹中安装模块依赖项(例如,在repos/luya-module-admin
中)(这将安装 unglue 二进制文件等) - 如果您更改了 js 或 css 代码,请在 模块文件夹 中运行 unglue watch 命令:
./vendor/bin/unglue watch --server=localhost:3000
更新您的本地 luya-env-dev 仓库
要获取 repos
文件夹中所有已分叉模块的上游,请运行
./vendor/bin/luyadev repo/update
确保在更新后将每个模块推送到远程分叉,以便您的远程分叉包含上游。
强烈建议不要修改模块的 master 分支,以确保变基操作正常工作。始终创建一个新的分支来工作。
更改、协作和贡献
对于所有分叉的仓库(不是只读仓库),您现在可以直接在 repos/
文件夹中进行更改。假设您想更改您已分叉到您账户的 luya-admin-module
- 进入 luya-module-admin
cd /repos/luya-module-admin
。 - 创建新分支并提交您的更改
git branch my-fix
进入分支git checkout my-fix
。 - 进行更改并将它们添加
git add .
提交git commit -m 'Added something ...'
。 - 将分支推送到您的分叉
git push origin my-fix
。 - 从 GitHub 创建拉取请求。
运行仓库的单元测试
为了运行仓库的测试,请注意,首先必须在 仓库的根目录(例如,replos/luya-admin-module
)中运行 composer install
来安装所有依赖项,然后必须在 仓库的根目录中运行 ./vendor/bin/phpunit tests
来运行 tests 文件夹中的测试。
开发您自己的模块或扩展
- 使用
./vendor/bin/luyadev repo/clone USERNAME/REPO_NAME
将您的仓库克隆到 repos 文件夹中。 - 根据 LUYA 指南规范 创建相应的
Module.php
文件。 - 通过 psr-4 绑定将您的模块添加到
composer.json
的 autoload 部分中,从 luya-env-dev 根目录开始。 - 为 luya-env-dev 运行
composer dump-autoload
。 - 将您的模块包含在
configs/env.php
中。
如果您想在您的模块内部使用
@bower
别名来包含来自vendor/bower
的依赖项,请注意,依赖项需要通过 composer 在 luya-env-dev 根目录下安装。
管理模块和扩展中的资源文件和供应商
请记住,所有模块和扩展都被视为独立项目,因此请不要忘记在 模块根目录 中运行 composer install
,并在模块的 /resources
目录中可能还需要运行 npm install
,以下载所有需要的依赖项。