ZendSkeletonApplication 技术文档
1. 安装指南
使用 Composer 安装
ZendSkeletonApplication 项目推荐使用 Composer 进行安装。如果你还没有安装 Composer,请根据 Composer 文档 进行安装。
安装步骤如下:
$ composer create-project -sdev zendframework/skeleton-application path/to/install
安装完成后,你可以使用 PHP 内置的 Web 服务器立即测试项目:
$ cd path/to/install
$ php -S 0.0.0.0:8080 -t public
# 或者使用 Composer 别名:
$ composer run --timeout 0 serve
这将启动一个绑定到所有网络接口的 CLI 服务器,端口为 8080。你可以通过访问 http://localhost:8080/
来查看 Zend Framework 的欢迎页面。
注意: 内置的 CLI 服务器仅用于开发环境。
开发模式
项目默认包含 zf-development-mode,并提供了三个别名来使用它:
$ composer development-enable # 启用开发模式
$ composer development-disable # 禁用开发模式
$ composer development-status # 检查开发模式是否启用
你可以在 config/development.config.php.dist
中提供仅用于开发的模块和引导配置,在 config/autoload/development.local.php.dist
中提供仅用于开发的应用配置。启用开发模式时,这些文件将被复制并去掉 .dist
后缀,禁用开发模式时,这些复制的文件将被删除。
开发模式在项目安装过程中会自动启用。如果你对上述 .dist
配置文件进行了更改,你需要禁用并重新启用开发模式,或者手动更新没有 .dist
后缀的文件。
使用 Vagrant
项目包含一个基于 Ubuntu 16.04 的 Vagrantfile
,配置了 Apache2 和 PHP 7.0。你可以使用以下命令启动它:
$ vagrant up
启动后,你可以在虚拟机中运行 Composer。例如,以下命令将安装依赖项:
$ vagrant ssh -c 'composer install'
以下命令将更新依赖项:
$ vagrant ssh -c 'composer update'
Vagrant 将主机端口 8080 映射到虚拟机的端口 80,你可以通过访问 http://localhost:8080/
来查看站点。
使用 docker-compose
项目提供了一个 docker-compose.yml
文件,用于与 docker-compose 一起使用。你可以使用以下命令构建并启动镜像:
$ docker-compose up -d --build
启动后,你可以通过访问 http://localhost:8080
来查看站点。
你也可以从镜像中运行 Composer。容器环境名为 "zf",因此你需要传递该值给 docker-compose run
:
$ docker-compose run zf composer install
2. 项目的使用说明
运行单元测试
要运行项目提供的单元测试,你需要执行以下操作之一:
-
在初始项目创建期间,选择安装 MVC 测试支持。
-
在初始项目创建后,安装 zend-test:
$ composer require --dev zendframework/zend-test
安装测试支持后,你可以使用以下命令运行测试:
$ ./vendor/bin/phpunit
如果你需要为 PHPUnit 测试设置进行本地修改,请将 phpunit.xml.dist
复制到 phpunit.xml
并编辑新文件;后者在运行测试时具有优先级,并且被版本控制忽略。
3. 项目 API 使用文档
项目 API 的使用文档可以通过查看项目中的控制器和模块来获取。具体 API 的使用方法和参数说明可以在项目的代码注释中找到。
4. 项目安装方式
项目的安装方式主要有以下几种:
- 使用 Composer 安装:通过 Composer 创建一个新的 Zend Framework 项目。
- 使用 Vagrant:通过 Vagrant 启动一个虚拟机环境进行开发。
- 使用 docker-compose:通过 docker-compose 启动一个 Docker 容器进行开发。
每种安装方式的具体步骤已在“安装指南”部分详细说明。
- 国产编程语言蓝皮书《国产编程语言蓝皮书》-编委会工作区011
- nuttxApache NuttX is a mature, real-time embedded operating system (RTOS).C00
- 每日精选项目🔥🔥 01.08日推荐:提升信息检索能力与创意的AI助手:Khoj🔥🔥 每日推荐行业内最新、增长最快的项目,快速了解行业最新热门项目动态~~022
- Cangjie-Examples本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。Cangjie042
- 毕方Talon工具本工具是一个端到端的工具,用于项目的生成IR并自动进行缺陷检测。Python039
- PDFMathTranslatePDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/DockerPython05
- mybatis-plusmybatis 增强工具包,简化 CRUD 操作。 文档 http://baomidou.com 低代码组件库 http://aizuda.comJava03
- advanced-javaAdvanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。JavaScript0106
- taro开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/TypeScript09
- Yi-CoderYi Coder 编程模型,小而强大的编程助手HTML012