maxmckenzie / dachi
Requires
- apigen/apigen: ^4.1
- aws/aws-sdk-php: ^3.0@dev
- composer/composer: ^1.1
- doctrine/migrations: ^1.4
- doctrine/orm: ^2.5
- mailgun/mailgun-php: ^2.0
- mandrill/mandrill: ^1.0
- paquettg/php-html-parser: ^1.6
- php-http/guzzle6-adapter: ^1.0
- phpmailer/phpmailer: ^5.2
- phpunit/phpunit: ^4.6
- sendgrid/sendgrid: ^5.0
- symfony/console: ^2.6
- twig/twig: ^1.18
This package is not auto-updated.
Last update: 2024-09-20 19:40:20 UTC
README
Dachi 是一个 PHP 网络框架。
安装
- 安装 Node.JS(用于 bower 和 grunt)
- 安装 Composer(用于后端包管理)
npm install -g bower
(用于前端包管理)npm install -g grunt
(用于任务自动化)
现有项目
Linux/Mac: composer install && vendor/bin/dachi dachi:all
Windows: composer install && vendor\bin\dachi dachi:all
新项目
要创建新的 Dachi 项目,只需创建一个包含以下内容的 composer.json
文件
{
"minimum-stability": "dev",
"prefer-stable": true,
"autoload": {
"psr-4": {
"SampleClient\\SampleProject\\": "src/"
}
},
"require": {
"maxmckenzie/dachi": "^3.0"
}
}
您应将 SampleClient\\SampleProject\\
替换为您的项目正确的命名空间。但是,更改后示例 src/
代码将失败,因此建议您在修改并删除示例 src/
代码后再进行更改
创建此文件后,只需运行 composer install
。这将从 Dachi 下载所有依赖项。
然后,您应运行以下命令以生成项目文件
Linux/Mac: vendor/bin/dachi dachi:create
Windows: vendor\bin\dachi dachi:create
Dachi 和您的项目现在已准备好。您现在应配置 Dachi(请参阅“配置”)。
命令行工具
Dachi 提供了一个命令行工具,以帮助开发。
刷新所有内容
尽管大多数命令可以单独运行,但最好确保所有缓存文件和内部需求都是正确的。您可以使用以下命令运行所有必要的命令
Linux/Mac: vendor/bin/dachi dachi:all
Windows: vendor\bin\dachi dachi:all
这将运行以下命令
npm install
bower install
dachi:route
dachi:modules
dachi:config
grunt --no-color
创建项目
安装后 Dachi 不会做任何事情。如果您没有使用现有项目,您必须首先使用 CLI 工具创建项目
Linux/Mac: vendor/bin/dachi dachi:create
Windows: vendor\bin\dachi dachi:create
生成路由
在 Dachi 可以路由请求之前,需要生成路由信息。这通过 CLI 工具完成
Linux/Mac: vendor/bin/dachi dachi:route
Windows: vendor\bin\dachi dachi:route
这将生成一个用于内部路由请求的 cache/dachi.routes.json
文件。如果 URL 路由更改,则必须再次运行此命令。
生成配置
Dachi 提供了许多 JSON 文件用于配置。为了提高部署时的请求速度,必须将这些文件合并为一个快速加载的文件。这通过 CLI 工具完成
Linux/Mac: vendor/bin/dachi dachi:route
Windows: vendor\bin\dachi dachi:route
这将生成用于内部配置的 cache/dachi.config.json
文件。如果更改了配置文件,则必须再次运行此命令。
生成模块信息
Dachi 使用一个系统来提供功能,如快捷方式,到模块。快捷方式允许您在数据库和模板中使用 SampleModule:Model
而不是 SampleClient\SampleProject\SampleModule\Model
。此系统可能在未来用于向模块提供其他功能。您可以使用 CLI 生成模块信息文件
Linux/Mac: vendor/bin/dachi dachi:modules
Windows: vendor\bin\dachi dachi:modules
这将生成一个用于设置模块的内部使用的cache/dachi.modules.json
文件。如果添加/删除或重命名了模块,必须再次运行此命令。
生成文档
Dachi完全使用ApiGen进行文档说明。可以使用CLI工具生成文档
Linux/Mac: vendor/bin/dachi dachi:document
Windows: vendor\bin\dachi dachi:document
该工具将在documentation
文件夹中生成文档。此文档将包括您项目的文档。建议所有项目也使用ApiGen格式。可以通过传递--internal
参数来传递工具,这将生成对调试Dachi核心有用的文档。
配置
在您部署Dachi之前,您应该确认您的配置是正确的。默认值通常是不够的。
Dachi配置
Dachi的核心配置文件存储在config
目录中。配置目录包含三个文件夹,每个环境一个
生产
开发
本地
这三个级别作为覆盖。使用production
设置作为默认值,并在其上堆叠development
和local
。这意味着您可以省略不需要覆盖的配置文件。有关配置选项的详细信息,请参阅http://this.doesnt.exist.yet。
至少您应该确认dachi.json
文件是正确的,并且database.json
文件是正确的。
如果您更改了配置,必须删除cache/dachi.config.json
文件并运行dachi:config
CLI命令。
Apache配置
Dachi在核心使用Apache将所有URI重定向到主index.php
文件。您应该确认在.htaccess
文件中正确设置了RewriteBase
。(只要支持PHP,可以使用其他Web服务器,只要将所有请求重定向到src/index.php?dachi_uri=THE_URI_OMITTING_DOMAIN
(即src/index.php?dachi_uri=/samples/13/view
)
Grunt配置
Grunt现在已实现,目前用于生成连接的bower css/js文件。目前没有对每个项目Grunt文件的支持。Grunt配置使用前缀为grunt.
的文件在标准'Dachi配置'文件夹中(参见上面)。
参考文档
- ApiGen(文档生成)
- Doctrine(数据库引擎)
- Twig.JS(JavaScript模板引擎)
- Twig(PHP模板引擎)
- Composer(后端组件管理)
- Bower(前端组件管理)
- Grunt(任务自动化)
Sublime集成
- Twig Helper Bundle(可以通过Sublime包管理器安装)
备注
- @route-render必须高于@route-uri(例如,
@route-uri /x/y @route-render /x
是正常的。@route-uri /x/y @route-render /z
是错误的,@route-uri /x/y @route-render /x/y/z
也是错误的) - 当通过@route-render调用时,请求URI变量将是初始请求变量(
@route-uri /x/:id/delete @route-render /x/:id
将工作,@route-uri /x/:cool_id/delete @route-render /x/:diff_id
将不会工作!)