我有一個(gè)函數(shù),PHP它調(diào)用另一個(gè)類函數(shù)以便為它的一個(gè)變量賦值$related。需要該值的原始函數(shù)使用該requestACLForAccess()函數(shù)將特定變量添加filter到$headers變量中:listRecords功能: public function listRecords($api){ header("Access-Control-Allow-Origin: *"); if ($this->authenticationProcedure() !== false) { $headers = apache_request_headers(); $access = $this->requestACLForAccess($headers['module'], $headers['oauth_token'], $_SERVER['REQUEST_METHOD']); if(gettype($access) == "array"){ $headers['filter'][0][$access[1]]['$equals'] = $access[2]; } $listObject = new FilterApi();; return $listObject->filterList($api, $headers); }}被調(diào)用的函數(shù)requestACLForAccess:protected function requestACLForAccess( $targetModule, $token, $req_type, $getSpecialFlag = false, $targetId = null) { $row = $this->checkTokenValid("token", $token); if (!empty($row) || $row !== false) { $related = \Sugarcrm\Sugarcrm\custom\clients\base\CustomACL::checkRelated($row['module'], $targetModule, $row['id'], $req_type, $getSpecialFlag, $targetId); die(gettype($related)); // For debugging return $related; } else { return false; }}被調(diào)用的函數(shù)位于另一個(gè)名為customACL.php. 在該函數(shù)中,某個(gè)條件語(yǔ)句返回一個(gè)array $arr應(yīng)該分配給上述特定變量的語(yǔ)句。被調(diào)用的函數(shù): public static function checkRelated($module, $targetModule, $id, $req_type, $getSpecial, $targetId){ $bean = \BeanFactory::retrieveBean($module, $id); if($bean->designation == self::ADMIN_NAME && !(in_array($targetModule, self::RECORD_RELATION_MODULES))){ return self::ACL_ADMIN; } 直到我定義了變量$arr,檢查gettype()返回一個(gè)數(shù)組并打印變量給我(如預(yù)期的那樣)一個(gè)完整的數(shù)組,其中包含我添加的值。但是,一旦將值返回給原始函數(shù)并分配給變量$related,數(shù)組就會(huì)以某種方式變?yōu)镹ULL并且 gettype() 也返回NULL。更新:我添加了缺少的功能以使其更清晰,我希望它有意義誰(shuí)能告訴我我在這里犯了什么天真的錯(cuò)誤?為什么會(huì)這樣?
1 回答

慕標(biāo)5832272
TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊
好吧,這很尷尬,我忘了在函數(shù)中返回$aclaccess
變量,checkrelated()
這就是它顯示 null 的原因。添加返回值是解決方案。
- 1 回答
- 0 關(guān)注
- 106 瀏覽
添加回答
舉報(bào)
0/150
提交
取消