是否有可能在php中做這樣的事情?我想在一個成員變量中有一個名稱空間,並且總是能夠調用該類的每個靜態方法,就像我在下面做的那樣。使用成員變量名稱空間調用PHP靜態方法
當然,我的代碼不起作用,但我只是想知道這是否可能,而且我接近解決方案,或者如果這完全沒有問題,並且必須始終使用語法:
\Stripe\Stripe::setApiKey(..);
Similar question for clarifications
注:我不能修改條紋類,它是重要的它保持不變的未來時,開發者必須更新條紋API
簡化代碼:
class StripeLib
{
var $stripe;
public function __construct()
{
// Put the namespace in a member variable
$this->stripe = '\\'.Stripe.'\\'.Stripe;
}
}
$s = new StripeLib();
// Call the static setApiKey method of the Stripe class in the Stripe namespace
$s->stripe::setApiKey(STRIPE_PRIVATE_KEY);
感謝您的及時回答大安。有沒有辦法讓它工作而不必使用$ stripeLib,只使用$ s?我擔心這會極大地混淆其他開發者 – NaturalBornCamper
@NaturalBornCamper當然,我已經編輯了我的答案。 – Daan
所以基本上這就像我鏈接的其他問題,它絕對必須在一個常規變量?它不能以$ this-> member :: setApiKey(「testKey」)的形式出現? – NaturalBornCamper