emeraldion / emerails
Rails-like LAMP 网络应用框架
Requires
- php: >=7.3.0
- composer-runtime-api: ^2.2.2
- splitbrain/php-cli: dev-master
- tedivm/jshrink: ^1.4.0
- tubalmartin/cssmin: ^4.1.1
Requires (Dev)
- guzzlehttp/guzzle: ~6.5.8
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^9
This package is auto-updated.
Last update: 2024-09-25 07:38:55 UTC
README
EmeRails
EmeRails 是一个 PHP 网络应用框架,其灵感来源于 Ruby on Rails。它具有 MVC 架构,ORM 层模仿 ActiveRecord,并且很好地将表现层与业务逻辑分离,优先考虑惯例而非配置。
它支持模板、页面缓存、动作过滤以及许多开箱即用的实用功能,可以节省编码时间和服务器负载。类似于 Rails,EmeRails 有一个 generate.php 脚本,可以快速帮助您启动并运行,快速创建控制器、模型和视图。
EmeRails 通过 mysql(已弃用)和 mysqli 扩展默认支持 MySQL,并在 PHP 5.6、7.1 和 nightly 上持续测试。持续测试链接。
生成器
EmeRails 包含一个生成器脚本,可以无代码创建控制器、视图和模型
scripts/generate.php
Usage: generate.php controller controller_name [action1 [action2 ...]]
generate.php model model_name [field1 [type1 [field2 [type2 ...]]]]
要生成控制器及其视图,请按以下方式运行生成器脚本
scripts/generate.php controller foo bar baz
这将创建一个控制器类 FooController,默认具有 FooController::index 动作,以及两个动作 FooController::bar 和 FooController::baz。它还将生成视图 index、bar 和 baz。
要生成一个具有字段和类型的模型,请按以下方式运行生成器脚本
scripts/generate.php model foo bar int baz float
这将创建一个模型类 Foo,包含两个字段,bar 为 int 类型,baz 为 float 类型。它还将创建 DB 中的后端表。
贡献
感谢您对 EmeRails 的兴趣!请随时提交问题或 PR。有关详细说明,请参阅 贡献指南。
开发
EmeRails 是一个 PHP 网络应用。如果您不确定该做什么,请按照以下步骤操作
安装本地 MySQL 服务器
对于开发,最好使用 本地 MySQL 服务器。我在 Mac OS X 上使用 MAMP,但您也可以在 Docker 容器 中运行 MySQL 服务器。
安装依赖项
make install
创建测试数据库
此命令将创建一个测试 MySQL 数据库
make create_test_db
请注意,脚本假定 PATH 中有 mysql 命令。它还假定数据库用户是 root,并将提示输入密码。如果您想使用其他用户,您必须编辑 Makefile。
运行测试
运行测试(有限覆盖率)
php_env=test make test
Docker
如果您熟悉 Docker 和 Docker Compose,您可能想利用包含的 Dockerfile 将您的应用程序打包成 Docker 镜像。
make docker-build
此目标构建应用程序为 emerails-app 镜像;要轻松在容器中运行该镜像
make docker-run
此目标运行一个 mysql 数据库容器,启动一个应用程序容器,将它们连接起来,并将应用程序容器的端口 80 转发到本地端口 8080。您可以在浏览器中打开 https://:8080 来访问应用程序。
要停止应用程序和 mysql 容器,请运行目标
make docker-stop
完成Docker镜像清理时,还有一个方便的目标
make docker-clean
包含的docker-compose.yml配置也允许您在本地启动应用程序
docker-compose up --build -d
文档
要生成文档,您需要Doxygen。您可以从源代码构建它,下载二进制文件,或通过homebrew安装它
brew install doxygen
一旦您安装了Doxygen,您就可以运行docs目标
make docs
许可证
版权所有(c)2008,2017 Claudio Procida