brandonshar / stack-overflow-buddy
一个友好的、容易出错的编码伴侣
Requires
- php: >=7
- kitetail/zttp: dev-master
- nikic/php-parser: ^3.1
- tightenco/collect: ^5.4
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: ~6.0
This package is not auto-updated.
Last update: 2024-09-20 21:00:38 UTC
README
受到@drathier及其stack-overflow-import革命性工作的启发,Stack Overflow Buddy是您个人的基于PHP的Stack Overflow助手!
为什么要在StackOverflow上花费宝贵的时间剪切和粘贴,而当Stack Overflow Buddy可以为您完成这些工作时呢?谁不愿意为了方便而放弃所有的安全检查和最低功能检查呢?
安装
composer require brandonshar/stack-overflow-buddy
由于Stack Overflow Buddy使用未标记的库,您可能需要将以下行添加到您的composer根目录
"minimum-stability": "dev",
"prefer-stable": true
# and in your files you use it use brandonshar\StackOverflowBuddy;
它是做什么的?
试一试!
StackOverflowBuddy::mergeSort([2,3,1,4]); // [1, 2, 3, 4]
惊艳了吗?
那么...
StackOverflowBuddy::substringBetweenTwoStrings('platypus', 'pl', 'us'); // atyp
哇,这是怎么工作的?
如果您感到惊艳,您可能应该在这里停止阅读。
- 将驼峰式命名的函数调用拆分成单词
- 从StackOverflow的API中获取带有这些单词标题的得分最高的PHP标记问题
- 获取这些问题的得分最高的答案
- 从这些答案中提取任何和所有代码块
- 找到第一个代码块,
- 无错误地解释
- 包含一个或多个函数
- 其中一个函数的参数数量与用户传递的参数数量相同
- 然后我们将谨慎抛在脑后,使用eval并调用新的方法!
哇,这将永远改变我的工作流程!
这当然会。但不要忘记,用你节省的时间感谢你现在吸收的代码的原始作者。
var_dump(StackOverflowBuddy::giveThanksFor('substringBetweenTwoStrings')); /* ["author"]=> string(18) "Alejandro Iglesias" ["authorLink"]=> string(57) "https://stackoverflow.com/users/425741/alejandro-iglesias" ["questionLink"]=> string(35) "https://stackoverflow.com/a/9826656" */
如果StackOverflowBuddy找不到适合我的方法的任何代码怎么办?
在极不可能(好吧...也许不是极不可能)的情况下,StackOverflowBuddy找不到任何满足您请求的代码时,它会抛出一个HaveToWriteYourOwnCodeException来让您忙起来,同时希望其他人能在Stack Overflow上给出更好的答案。
推荐信
如果您仍然犹豫不决,不要只听我的话;这里是一位满意的代码读者的评论:
"我喜欢这使得即时软件更新变得非常容易。如果我需要调整算法或修复错误,我只需要提交一个很好的带有更新代码的Stack Overflow答案。再见源代码!"
警告
您可以使用此包,但如果它进入您的生产环境,您将承担个人告知每个用户他们最好将数据藏在床垫下的责任。
注意事项
请注意,每次使用此功能都会向StackOverflow API发出两个请求,并且它们将在每天一定数量的请求后对您进行速率限制。但那实际上不应该成为问题,因为没有人会理智地使用这个。
贡献
享受乐趣吧。目前只有一个端到端集成测试需要索引.php 文件可以从本地服务器访问。我刚刚使用了 Laravel Valet。这段代码没有遵循 PSR-2 标准,并且故意没有使用类型提示或可见性,因为我想进行一个与所需 Zttp 库类似风格的实验。即使你是最严格的 PHP 编写者,不遵循风格指南至多只是你不应该使用这段代码的第五个原因。
许可证
Unlicense 许可证。如果有一个更宽松的许可证,责任更小,那就让我们选择它吧。任何认为使用这种许可证是对 我的继承人 的损害的人显然没有仔细查看它。