Php 无法访问同一类上的方法
我不理解这方面的逻辑,我得到一个错误,我的函数convertBinToMSSQLGuid找不到。我知道编码没有意义,只是为了测试。也试着把它保密,没有运气Php 无法访问同一类上的方法,php,oop,Php,Oop,我不理解这方面的逻辑,我得到一个错误,我的函数convertBinToMSSQLGuid找不到。我知道编码没有意义,只是为了测试。也试着把它保密,没有运气 class PowerBiResource extends JsonResource { /** * Transform the resource into an array. * * @param \Illuminate\Http\Request $request * @return ar
class PowerBiResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
dd(convertBinToMSSQLGuid($this->VehicleID));
return '';
}
public function convertBinToMSSQLGuid($binguid)
{
$unpacked = unpack('Va/v2b/n2c/Nd',$binguid);
return sprintf('%08X-%04X-%04X-%04X-%04X%08X', $unpacked['a'], $unpacked['b1'], $unpacked['b2'], $unpacked['c1'], $unpacked['c2'], $unpacked['d']);
}
}
当您从其类内部调用convertBinToMSSQLGuid时,必须使用$this->:
不能通过直接名称直接访问任何自定义类函数。您可以通过以下方式访问:
class PowerBiResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
dd($this->convertBinToMSSQLGuid($this->VehicleID));
return '';
}
public function convertBinToMSSQLGuid($binguid)
{
$unpacked = unpack('Va/v2b/n2c/Nd',$binguid);
return sprintf('%08X-%04X-%04X-%04X-%04X%08X', $unpacked['a'], $unpacked['b1'], $unpacked['b2'], $unpacked['c1'], $unpacked['c2'], $unpacked['d']);
}
}
您可以通过引用$this->来使用该函数。希望对你有帮助
class PowerBiResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
dd($this->convertBinToMSSQLGuid($this->VehicleID));
return '';
}
public function convertBinToMSSQLGuid($binguid)
{
$unpacked = unpack('Va/v2b/n2c/Nd',$binguid);
return sprintf('%08X-%04X-%04X-%04X-%04X%08X', $unpacked['a'], $unpacked['b1'], $unpacked['b2'], $unpacked['c1'], $unpacked['c2'], $unpacked['d']);
}
}