原文:
https://discuss.flarum.org/d/23016
作者:
clarkwinkelmann
翻译:Golden
Developer Scratchpad
除非您知道自己在做什么,否则请不要安装此扩展!
任何具有管理权限的用户都可以不受任何限制地在服务器和网站上运行任何 javascript 和 PHP 代码!
此扩展在 Flarum 的管理面板中添加了便笺本功能,以简化开发人员的测试和开发。
虽然此功能仅限管理员使用,但我仍然建议仅在本地环境中安装此功能。
这仍然是非常实验性的。使用风险自负。
要求:
- 调试模式必须打开
eval()
用于运行 PHP 代码
shell_exec()
用于运行 Node
- Web 用户必须能够运行
npm
和 node
命令
每个便笺都可以像任何扩展程序一样包含 javascript,Less 和 PHP 代码。
您可以为各个便笺命名,并通过复选框启用/禁用它们。
尽管检查到位,您很有可能可以保存无效的代码。
如果发生这种情况,简便的办法是进入数据库并禁用启用的的便笺。
PHP 已经过验证,在保存时会阻止无效代码的保存。
Less 目前尚未验证。
Javascript 未经过验证,但如果编译失败,则编译后的代码将不会加载到论坛上,并且您会在编辑器中看到一条消息。
Javascript 编译是通过 PHP 调用 node 在本地完成的。
一个 scratchpad
文件夹将被创建于 storage
目录中。
第一次编译,将会运行 npm install
。
随后的编译将重复使用已安装的依赖项。
如果不小心整出无效的 javascript 设置,则可以删除 storage/scratchpad
文件夹,本扩展将在下次编译时重新安装所有内容。
Scratchpad 页面使用的文本编辑器是 CodeMirror。
您可以通过编辑器上方的齿轮图标来自定义主题和缩进。
目前,这些设置是全局的,并且适用于所有语言。
安装
在安装之前,请阅读以上免责声明和要求。
composer require clarkwinkelmann/flarum-ext-scratchpad
链接
本译文仅用于学习和交流目的,转载请务必注明文章译者、原文出处、和本文链接。