簡體   English   中英

在CakePHP 3.x中正確使用類

[英]Correct Usage of Classes in CakePHP 3.x

嘗試使用$url = Router::url(...); 根據這本書( http://book.cakephp.org/3.0/en/development/routing.html#generating-urls ),我可以通過添加use Cake\\Routing\\Router;使其工作use Cake\\Routing\\Router; 我的控制器,但我感覺必須有一種比這更容易/更好的方法,我記得有人提到過永遠不要通過Class::function()調用函數。

通過進一步的研究(永不停止尋找),看來這只是一類事情。

  1. use Cake\\Routing\\Router;加載類use Cake\\Routing\\Router;
  2. $routes = new Router();實例化該類$routes = new Router();
  3. 使用Class實例調用函數$url = $routes->url(...);

要使用Class的static(?)函數,實例化Class還是只使用Router :: url()真的更好嗎?

要使用Class的static(?)函數,實例化Class還是只使用Router :: url()真的更好嗎?

url()是Router類的公共靜態方法。 在PHP中調用它的正確方法是Router :: url(...)(使用范圍解析運算符::)。

我記得有人提到永遠不要通過Class :: function()調用函數。

如果可以找到,我很想聽聽他或她的推理。

如果他或她的意思是范圍解析運算符不是訪問靜態方法的最佳方法,那么他或她是錯誤的。 就PHP man而言,范圍解析運算符是從類上下文之外訪問公共靜態方法的正確方法: Scope Resolution Operator

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM