0
有我在許多類我的應用程序的使用一些實用功能,有些例子是:共享實用功能的應用範圍
private function _trailingSlashIt($s) { return strlen($s) <= 0 ? '/' : (substr($s, -1) !== '/' ? $s . '/' : $s); }
private function _endsWith($haystack, $needle) { return $needle === "" || substr($haystack, -strlen($needle)) === $needle; }
private function _startsWith($haystack, $needle) { return $needle === "" || strpos($haystack, $needle) === 0; }
就目前而言 - 直到我找到一個更好的解決辦法 - 我複製我需要每個使用它們的類的函數。
在第一次嘗試,以避免重複的代碼,我有一個實用程序(靜態)類,而我會做這樣的事情:
$path = StringUtils::trailingSlashIt($path);
與解決方案的問題是,它會在硬連線的依賴我的課程。 (我寧願複製每個類中的函數)。
另一個想法是將實用類注入到我的對象中,但不知何故,這只是一些函數,並不適用,我可能必須將它們注入到我的許多對象中。
我想知道別人怎麼處理這個問題。感謝您的任何建議!