# 获取

# 获取Dce

# 通过Composer获取

Composer是一个PHP包管理工具,你可以安装全局工具composer或者使用PHP版工具composer.phar,他们的使用方式如下

# 全局工具
composer -v

# PHP版工具
php composer.phar -v
1
2
3
4
5

# 初始化一个Dce应用环境

composer create-project idrunk/dce-app:@dev
# 如果你需要下载到 my-app 目录可以用以下命令
# composer create-project idrunk/dce-app:@dev my-app
# 下述命令将代码下载到当前目录
# composer create-project idrunk/dce-app:@dev ./
1
2
3
4
5

该命令会获取应用项目的master分支,该分支下有一个完整的Dce应用结构,它们会被下载到当前目录下新建的dce-app目录中,你可以以此开发你的应用。

在应用项目中还有一个用例分支sample,里面包含Dce框架各种组件的使用示例,可以帮助你更方便的学习使用Dce,按以下方式获取

composer create-project idrunk/dce-app:dev-sample dce-sample
1

上述命令将把用例分支下载到当前目录下新建的dce-sample目录中

# 在非Dce项目中使用Dce库

composer require idrunk/dce
# 或
php composer.phar require idrunk/dce
1
2
3

# 下载归档文件

作者推荐你使用composer工具获取Dce,但如果你的网络环境无法正常连接composer或github,你也可以通过下载归档文件获取Dce。

# Dce应用初始化环境归档 (opens new window)

# Dce用例项目归档 (opens new window)

# 准备Swoole环境

Swoole是一个PHP扩展,你可以通过编译来安装该扩展,但相对较复杂,这里不展开讲,作者推荐你使用Docker镜像获取Swoole。

# 使用Docker镜像

Swoole官方提供了Docker镜像,但该镜像没有集成PDO、Redis等扩展,Dce作者基于该镜像构建了对Dce友好的Swoole Docker镜像,推荐你使用该镜像。

# 获取镜像

docker pull idrunk/swoole
1

或者使用Windows 10 Wsl2 Podman

ubuntu run podman pull idrunk/swoole
1

# 通过镜像初始化Dce应用环境

假设我们要在E:\Temp目录下初始化一个名为dce-app的Dce应用项目,则Docker通过下述命令

docker run --rm --name server -it -v /e/Temp:/app idrunk/swoole composer create-project idrunk/dce-app:@dev /app/dce-app
1

或者使用Windows 10 Wsl2 Podman

ubuntu run podman run --rm --name server -it -v /mnt/e/Temp:/app idrunk/swoole composer create-project idrunk/dce-app:@dev /app/dce-app

# E:\Temp>ubuntu run podman run --rm --name server -it -v /mnt/e/Temp:/app idrunk/swoole composer create-project idrunk/dce-app:@dev /app/dce-app
# Do not run Composer as root/super user! See https://getcomposer.org/root for details
# Continue as root/super user [yes]? yes
# Creating a "idrunk/dce-app:@dev" project at "/app/dce-app"
# Installing idrunk/dce-app (dev-master e13b84d39ab61d3e59893af91e1ba656ce208041)
#   - Syncing idrunk/dce-app (dev-master e13b84d) into cache
#   - Installing idrunk/dce-app (dev-master e13b84d): Cloning e13b84d39a from cache
# Created project in /app/dce-app
# Loading composer repositories with package information
# Updating dependencies
# Lock file operations: 2 installs, 0 updates, 0 removals
#   - Locking idrunk/dce (v4.2.0)
#   - Locking swoole/ide-helper (4.6.3)
# Writing lock file
# Installing dependencies from lock file (including require-dev)
# Package operations: 2 installs, 0 updates, 0 removals
#   - Downloading swoole/ide-helper (4.6.3)
#   - Downloading idrunk/dce (v4.2.0)
#   - Installing swoole/ide-helper (4.6.3): Extracting archive
#   - Installing idrunk/dce (v4.2.0): Extracting archive
# Generating autoload files
# Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]? y

# E:\Temp>dir dce-app
#  驱动器 E 中的卷是 Document
#  卷的序列号是 6809-FD33

#  E:\Temp\dce-app 的目录

# 2021-02-16  23:46    <DIR>          .
# 2021-02-16  23:46    <DIR>          ..
# 2021-02-16  23:45                55 .gitignore
# 2021-02-16  23:45    <DIR>          common
# 2021-02-16  23:45               419 composer.json
# 2021-02-16  23:45             3,828 composer.lock
# 2021-02-16  23:45         2,210,378 composer.phar
# 2021-02-16  23:45                88 dce
# 2021-02-16  23:45                69 dce.bat
# 2021-02-16  23:45               486 LICENSE
# 2021-02-16  23:45    <DIR>          project
# 2021-02-16  23:45                 9 README.md
# 2021-02-16  23:46    <DIR>          vendor
# 2021-02-16  23:45    <DIR>          www
#                8 个文件      2,215,332 字节
#                6 个目录 1,021,314,183,168 可用字节
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47

# 在Swoole容器中启动Dce HTTP服务器

docker run --rm --name server -it -v /e/Temp/dce-app:/app -p 20460-20462:20460-20462 -p 20463:20463/udp idrunk/swoole /app/dce http start
# Http server started with 0.0.0.0:20460.
1
2

或者使用Windows 10 Wsl2 Podman

ubuntu run podman run --rm --name server -it -v /mnt/e/Temp/dce-app:/app -p 20460-20462:20460-20462 -p 20463:20463/udp idrunk/swoole /app/dce http start
1

然后你就可以浏览器或者curl访问应用首页了

curl http://127.0.0.1:20460/

# <!doctype html>
# <html lang="zh">
# <head>
#     <meta charset="UTF-8">
#     <title>Dce Cgi Web测试页面</title>
# </head>
# <body>
# <h1>恭喜你成功访问了Web首页!</h1>
# <p>2021-02-16 23:58:43</p>
# </body>
# </html>
1
2
3
4
5
6
7
8
9
10
11
12
13