是否允許使用內部OOP PHP方法程序的功能呢?
那麼第一個問題就是它甚至是可能的。而我們爲什麼不嘗試一下:
class A {
public static function randomStaticMethod() {
echo "Function call:" . phpversion();
}
public function randomMethod() {
echo "Function call:" . phpversion();
}
}
$o = new A();
$o->randomMethod();
A::randomStaticMethod();
你會看到如預期它會工作,沒有錯誤沒有警告,只是:
Function call: ...
Function call: ...
所以這是絕對有可能。現在你的問題:是否允許?
簡單的問題,這應該回答你的問題:
如何,你會得到一個字符串,當你將不會被允許在一個類中使用像strlen()
功能的長度?
所以是的,這也是絕對允許和使用。
現在還有其他一些東西,這些東西可能對您有所幫助。如果你使用命名空間,你必須小心。
作爲例子:
namespace I_AM_A_NAMESPACE;
function strlen() {
echo "nope";
}
echo strlen("xyz");
echo \strlen("xyz");
你的輸出將是:
nope
3
所以,如果你使用命名空間的工作,你必須知道在哪個命名空間中是和功能,您想打電話。因此,如果您想調用全球功能strlen()
並且想要採用保存路線,請始終在其前面放置一個\
,以確保您呼叫全球strlen()
功能。
舉一個簡單的例子:*你將如何得到一個字符串的長度,當你將不會被允許在類中使用像'strlen()'這樣的函數?*所以是的,它可以工作,是的,它是允許的,是的,它也被使用。 – Rizier123
這是我的想法,但我需要確認。感謝你的回答! – Robbert
不客氣:)此處只是爲了說明這一點:如果您使用命名空間,則必須注意:'namespace I_AM_A_NAMESPACE; \t function strlen(){echo「nope」; } echo strlen(「xyz」); echo \ strlen(「xyz」);'第一個函數調用將打印「nope」,第二個「3」 – Rizier123