可能重复:
谁需要单身人士?
我总是写最佳实践,但我也想了解为什么给定的东西是最佳实践.
我读过一篇文章(遗憾的是我不记得),单例类更喜欢被实例化,而不是用静态函数创建并使用范围解析运算符(::)进行访问.因此,如果我有一个包含所有要验证的工具的类,简而言之:
class validate {
private function __construct(){}
public static function email($input){
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
我被告知这被认为是不好的做法(或者至少被警告过),因为有垃圾收集器和维护这样的东西.所以对"单体类作为静态方法"的批评是什么,我实例化一个类我100%肯定我只会实例化一次.对我来说,它似乎在做"双重工作",因为它已经准备好了.我错过了什么?
对此事有何看法?当然,这不是生死攸关的问题,但如果有选择的话,人们也可以做正确的事情:)
我希望这适合 Stackoverflow。
当我从本地主机工作并“接触”Stripe JavaScript 库时,我收到此错误:
Failed to load resource: net::ERR_BLOCKED_BY_ADBLOCKER
Run Code Online (Sandbox Code Playgroud)
我首先验证了 Opera 的 AdBlocker 和 Tracking cookie 拦截器对于 localhost 已禁用。我什至启用和禁用了它们。我重新启动了 Opera,并且重新启动了整个机器。我还验证了我拥有最新版本的 Opera(v.68)。
我测试了其他一些网站,也会发生相同的错误,但前提是 AdBlocker 处于活动状态。我 100% 确信 AdBlocker 已针对 localhost 停用(我也不会混淆 localhost 或 127.0.0.1)。
我使用的是 Opera 的原生 AdBlocker,而不是第三方。
如果我在浏览器范围内禁用广告拦截(即从 Opera 的设置),则不会导致此问题。
Opera 似乎对 localhost 感到困惑,不是吗?
Chrome 中不会出现该问题。
Google 关于此错误类型的信息非常非常有限。
据我所知,我必须这样做,没有其他软件可以阻止这些“广告”。
我的项目是用 Vue 编写的,并使用 NPM 在端口 5300 上运行。
它似乎并没有真正阻止 Stripe 想要执行的脚本,但它们填满了我的控制台,给我带来了巨大的不便。
有人有什么想法吗?
我的设置与我在新服务器上创建的设置类似,所以我知道“原理有效”。我有一个 Git post-receive 看起来像这样:
#!/bin/sh
git --work-tree="~/public_html" --git-dir="~/repo/website" checkout master -f
Run Code Online (Sandbox Code Playgroud)
我已经检查了十次这些是现有的正确文件夹:-)
为了设置 Git 存储库,我运行了以下命令:
cd ~/repo/website
git init --bare
# Added content to post-receive file
chmod +x hooks/post-receive
# Verified that these permissions are set on the file
Run Code Online (Sandbox Code Playgroud)
我已将一些内容添加(推送)到 repo 中以进行测试。现在,当我尝试使用此命令执行测试命令时:
cd ~/repo/website && bash hooks/post-receive
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
fatal: not a git repository: '~/repo/website'
Run Code Online (Sandbox Code Playgroud)
然后我尝试完全删除 repo 并从头开始制作。但是在第四次尝试时,我开始认为这不是前进的方向;-)
我在相关的 Stackoverflow 线程上读到可能 HEAD 文件已损坏。然而,它看起来不错 - 并且还与其他从头开始的尝试一起重新制作了四次。
出于部署原因,我需要设置工作树等。在其他服务器上使用相同的设置也能正常工作。
我希望有人知道如何解决这个问题。谢谢!