乐趣区

什么在SAP中国研究院里还需要会PHP开发

请原谅 Jerry 这篇文章的题目有“标题党”的嫌疑。

没错,至少 SAP 成都研究院的部分团队如此,比如 Jerry 目前就职的 SAP 成都研究院数字创新空间。

之前 Jerry 的文章, 曾经提到 SAP Kyma(SAP Extension Factory on SAP Cloud Platform, SAP 云平台扩展工厂),是 SAP C/4HANA 极为重要的扩展工具。

  • 站在巨人肩膀上的牛顿:Kubernetes 和 SAP Kyma
  • 基于 SAP Kyma 的订单编排增强介绍

Jerry 最近在尝试一个基于 Kyma 的 POC。

一个旅行达人伊森,每游览一个城市后喜欢写一些图文并茂的博客,并上传到社交媒体平台上。伊森同时又是一个社交媒体达人,拥有 Twitter,Facebook,Instagram,YouTube 等众多平台账号。伊森不得不把同一篇博客一次又一次地手动搬运到不同的平台上。终于有一天,伊森无法忍受这种无聊透顶的体力活了,找到 Jerry 寻求帮助。

Jerry 给出了如下的解决方案:伊森以后只在一个博客系统上写文章,那就是基于 PHP 实现的 WordPress 系统。然后 Jerry 会把 WordPress 同 Kyma 连接起来,使得伊森在 WordPress 上发表的每一篇文章,都能通过 Kyma 自动同步到其他社交媒体平台上。

具体的技术实现,就是用 PHP 对 WordPress 做一些扩展,让 WordPress 能够同 Kyma 的 Application Connector 连接起来。这样每次 WordPress 上有 ”Post created(文章创建成功)” 的事件抛出后,Kyma 都能够监听到这个事件。然后 Jerry 在 Kyma 上编写一段代码,作为这个事件的处理函数,分别调用各大社交媒体平台的文章创建 API,即可完成博客同步的任务。

从此伊森再也不用做那些浪费时间的体力活了,伊森很满意,但 Jerry 却有一些开发任务要做。

因为涉及到 WordPress 的增强,所以需要在本地搭一个 WordPress 的开发环境出来。

这使得 Jerry 从 2004 年大学本科开始正式编程以来,第一次有机会在项目中用到 PHP,而提到“PHP 是世界上最好的语言 ”这个梗,程序员们总忍不住会心一笑。

先看下 WordPress 增强之后的效果。在 WordPress 设置页面里,多出来一个叫做 Kyma Connector 的配置选项,里面可以定义同 Kyma 实例的连接细节。

Jerry 后续会详细介绍这个通过 Kyma 实现的社交媒体博客同步方案的技术实现,本文只是记录 Jerry 在本地搭建 WordPress 在 Eclipse 中的单步调试环境的步骤——单步调试对于应用开发的重要性,每位开发人员都深有体会。对此不感兴趣的朋友们可以忽略。

首先安装 WampServer 集成运行环境 (简称 WAMP),然后把 github 开源的 WordPress 源代码拷贝到 WAMP 的 Apache Web 服务器对应的 www 文件夹下:

然后用 Eclipse 的 Import->General->Existing Projects into Workspace:

注意导入时,不要选择 ”Copy projects into workspace”:

在 Eclipse 里新建一个 PHP 执行环境,Executable path 和 PHP ini 指向 WAMP 里 PHP 文件夹里对应的文件:

Debugger 选择成 XDebug:

在 php.ini 里维护对应的 xdebug 设置:

[xdebug]

zend_extension = “C:/MyApp/wamp20190709/bin/php/php7.0.10/ext/php_xdebug-2.6.1-7.0-vc14.dll”

xdebug.remote_enable = On

; 启用性能检测分析

xdebug.profiler_enable = On

; 启用代码自动跟踪

xdebug.auto_trace=On

xdebug.profiler_enable_trigger = On

xdebug.profiler_output_name = cachegrind.out.%t.%p

; 指定性能分析文件的存放目录

xdebug.profiler_output_dir =”C:/MyApp/wamp20190709/tmp”

xdebug.show_local_vars=0

; 配置端口和监听的域名

xdebug.remote_port=9000

xdebug.remote_host=”localhost”

Eclipse 里新建一个 PHP built-in server,Runtime Environment 选择成 WAMP 提供的 PHP 运行环境,端口改成和 WAMP 里 Apache Web 服务器监听的端口号一致:

一切就绪之后,Debug As->Debug on Server:

弹出 PHP Debug 的对话框,当然是选择 Yes 了:

断点触发了。

Happy Debugging!

退出移动版