亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Laravel 如何在不隱式使用 PHP 中方法的 static 關鍵字的情況下

Laravel 如何在不隱式使用 PHP 中方法的 static 關鍵字的情況下

PHP
炎炎設計 2022-10-14 14:53:40
Laravel 可以使用范圍解析運算符 (::) 調用類方法,而無需靜態聲明該方法。在 PHP 中,您只能在聲明為靜態方法時調用它們,例如:class User {   public static function getAge() { ... } }可以稱為User::getAge();如何在普通的 PHP 類中做到這一點。我想它可能需要使用設計模式或其他東西來完成。誰能幫我嗎?所以我上面的意思是可以實例化一個類并在 php.ini 中靜態調用它的方法。由于該功能已從以前的版本中刪除class Student {     public function examScore($mark_one, $mark_two) {         //some code here     }}如何以這種方式訪問它$student = new Student;$student::examScore(20, 40);我談到了 Laravel,因為它允許你給你的類起別名并以這種方式調用它Student::examScore(20,40);一種叫做外觀模式的東西。舉例說明會有所幫助。經過長時間的搜索,我在這里找到了一篇解釋它的文章:https://www.sitepoint.com/how-laravel-facades-work-and-how-to-use-them-elsewhere
查看完整描述

1 回答

?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

我的猜測是您的 User 類實際上擴展了 LaravelModel類。

此類實現了一些 PHP 所謂的魔術方法。你可以在這里找到我們關于它們的信息: https ://www.php.net/manual/en/language.oop5.magic.php

其中之一是__callStatic

Model.php

/**

 * Handle dynamic static method calls into the method.

 *

 * @param  string  $method

 * @param  array  $parameters

 * @return mixed

 */

public static function __callStatic($method, $parameters)

{

    return (new static)->$method(...$parameters);

}


查看完整回答
反對 回復 2022-10-14
  • 1 回答
  • 0 關注
  • 76 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號