brandonshar/stack-overflow-buddy

此包最新版本(v1.0)没有提供许可证信息。

一个友好的、容易出错的编码伴侣

v1.0 2017-08-02 03:49 UTC

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

哇,这是怎么工作的?

如果您感到惊艳,您可能应该在这里停止阅读。

  1. 将驼峰式命名的函数调用拆分成单词
  2. 从StackOverflow的API中获取带有这些单词标题的得分最高的PHP标记问题
  3. 获取这些问题的得分最高的答案
  4. 从这些答案中提取任何和所有代码块
  5. 找到第一个代码块,
    1. 无错误地解释
    2. 包含一个或多个函数
    3. 其中一个函数的参数数量与用户传递的参数数量相同
  6. 然后我们将谨慎抛在脑后,使用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答案。再见源代码!"

- Pseudofailure

警告

您可以使用此包,但如果它进入您的生产环境,您将承担个人告知每个用户他们最好将数据藏在床垫下的责任。

注意事项

请注意,每次使用此功能都会向StackOverflow API发出两个请求,并且它们将在每天一定数量的请求后对您进行速率限制。但那实际上不应该成为问题,因为没有人会理智地使用这个。

贡献

享受乐趣吧。目前只有一个端到端集成测试需要索引.php 文件可以从本地服务器访问。我刚刚使用了 Laravel Valet。这段代码没有遵循 PSR-2 标准,并且故意没有使用类型提示或可见性,因为我想进行一个与所需 Zttp 库类似风格的实验。即使你是最严格的 PHP 编写者,不遵循风格指南至多只是你不应该使用这段代码的第五个原因。

许可证

Unlicense 许可证。如果有一个更宽松的许可证,责任更小,那就让我们选择它吧。任何认为使用这种许可证是对 我的继承人 的损害的人显然没有仔细查看它。