jstormes / html-gateway
Html Gateway 支持库
0.0.5
2018-02-19 17:40 UTC
Requires
- php: >=7.0.0
- http-interop/http-server-middleware: ^1.0.0
- zendframework/zend-filter: ^2.7
- zendframework/zend-hydrator: ^2.3
- zendframework/zend-servicemanager: ^3.3
Requires (Dev)
- phpunit/phpunit: ^6.0.8 || ^5.7.15
- squizlabs/php_codesniffer: ^2.8.1
README
这是一个简单的 Html Gateway 库。
使用方法
PHP 本身就是一个模板引擎。而不是重新发明轮子,我使用了 PHP 本身作为模板语言,并用我喜欢的设计模式将其包装起来。这个包是以一个漂亮的 composer 格式封装的我最喜欢的模式。
这个模式有三个核心概念,模板、辅助工具和回发处理。
模板不过是一个包裹在 PHP 类中的任意文本文件。这使我们能够在文本中嵌入 PHP 代码。模板可以在模板内部包含,允许文本以块的形式构建。如果这听起来很熟悉,那是因为这正是 PHP 所做的。由于这个模板在 PHP 对象内部,它的 "作用域" 设置为 $this->
。在模板中直接使用作用域之外的内容是非常不好的做法。
命令行 Docker 快速开始
- 确保您的工作站已安装 Docker 和 Docker-Compose。
- 运行 composer install
- BASH (Linux/OS X)
docker run --rm -it -v $(pwd):/app composer install
- PowerShell (Windows)
docker run --rm -it -v ${pwd}:/app composer install
- CMD (Old Windows)
docker run --rm -it -v %cd%:/app composer install
- BASH (Linux/OS X)
- 运行 PhpUnit
- BASH (Linux/OS X)
docker run --rm -it -v $(pwd):/app jstormes/phpunit -c phpunit.xml.dist
- PowerShell (Windows)
docker run --rm -it -v ${pwd}:/app jstormes/phpunit -c phpunit.xml.dist
- CMD (Old Windows)
docker run --rm -it -v %cd%:/app jstormes/phpunit -c phpunit.xml.dist
- BASH (Linux/OS X)
实例化模板的示例
在模板内部包含模板的示例
使用格式化电子邮件消息的示例
辅助工具是一个包含您希望反复使用的逻辑的类。这种逻辑可能包括翻译语言或在本地格式显示日期和货币。
翻译辅助工具的示例
日期辅助工具的示例
演示视频在
博客文章在
单元测试
要构建单元测试环境,请运行
docker-composer run build
要命令行运行单元测试,请运行
docker-compose run phpunit
使用 PhpStorm 进行单元测试
单元测试视频
GitHub 页面
https://github.com/jstormes/HtmlGateway