thinkphp のアスペクト プログラミングでは run() メソッドを使用する必要がありますが、関数定義のパラメーターが関数内でまったく使用されていないため、このメソッドは奇妙です
以下のコードを参照してください。多くのメソッドで run() をチェックしましたたとえば、以下のコードの &$params パラメータは関数コードには表示されないのに、php はなぜこの労力を無駄にしていると思いますか?そこで問題は、thinkphp の不必要な動作には何か隠された意味があるのかということです。 ?
public function run(&$params) { if (C('UPGRADE_NOTICE_ON') && (!S('think_upgrade_interval') || C('UPGRADE_NOTICE_DEBUG'))) { if(IS_SAE && C('UPGRADE_NOTICE_QUEUE') && !isset($_POST['think_upgrade_queque'])){ $queue=new SaeTaskQueue(C('UPGRADE_NOTICE_QUEUE')); $queue->addTask('http://'.$_SERVER['HTTP_HOST'].__APP__,'think_upgrade_queque=1'); if(!$queue->push()){ trace('升级提醒队列执行失败,错误原因:'.$queue->errmsg(), '升级通知出错', 'NOTIC', true); } return ; } $akey = C('UPGRADE_NOTICE_AKEY'); $skey = C('UPGRADE_NOTICE_SKEY'); $this->accesskey_ = $akey ? $akey : (defined('SAE_ACCESSKEY') ? SAE_ACCESSKEY : ''); $this->secretkey_ = $skey ? $skey : (defined('SAE_SECRETKEY') ? SAE_SECRETKEY : ''); $current_version = C('UPGRADE_CURRENT_VERSION'); //读取接口 $info = $this->send('http://sinaclouds.sinaapp.com/thinkapi/upgrade.php?v=' . $current_version); if ($info['version'] != $current_version) { if($this->send_sms($info['msg'])) trace($info['msg'], '升级通知成功', 'NOTIC', true); //发送升级短信 } S('think_upgrade_interval', true, C('UPGRADE_NOTICE_CHECK_INTERVAL')); } }
どうやってそれを使用しないことがわかりますか?
あなたは tp の動作ドライバーについて話していると思います
実行するパラメータを提供する理由。正しく機能するために、動作にパラメーターを提供する必要がある場所があります。
あまり使わないから無駄だと感じるのです