PHP错误,找不到类

时间:2017-01-14 01:34:16

标签: php

当我去Test.php时,我的页面上得到以下输出:

    longitude = $long; 
    $this->latitude = $lat; 
} 

public function getgeo(){ 
    require_once('lib/mapbox/MapBox.php'); 
    $request = new MapBox('redacted'); 
    $request = $request->reverseGeocode($this->longitude,$this->latitude); 
    $request = explode(', ',$request[0]['place_name']); 
    if(count($request)>3){ 
        array_shift($request); 
        array_splice($request,2,1); 
    }
    $return = array($request[0],$request[2]); 
} 
} 
?>
  

致命错误:未捕获错误:/var/www/html/api.redacted.com/public_html/test.php:8中找不到类'ReverseGeo':堆栈跟踪:#var {www}第8行/html/api.redacted.com/public_html/test.php

test.php的

<?php
require_once(__dir__ . '/classes/reversegeo.php');

$long = '-73.988909';
$lat = '40.733122';

$reversegeo = new ReverseGeo($long, $lat);
$return = $reversegeo->getgeo();

var_dump($return);

?>

类/ reversegeo.php

Class ReverseGeo{

protected $longitude;
protected $latitude;

public function __construct($long, $lat){
    $this->longitude = $long;
    $this->latitude = $lat;
}

public function getgeo(){
    require_once('lib/mapbox/MapBox.php');
    $request = new MapBox('redacted');
    $request = $request->reverseGeocode($this->longitude,$this->latitude);

    $request = explode(', ',$request[0]['place_name']);

    if(count($request)>3){
        array_shift($request);
        array_splice($request,2,1);
    }

    $return = array($request[0],$request[2]);
}
}

我已经确认目录都是正确的,文件名是正确的等等。我不确定这是怎么回事。

1 个答案:

答案 0 :(得分:2)

根据我们在聊天中的讨论,因为你的php不支持短开始标记,你需要使用完整的开启者。短标签是你的php源代码直接发送到浏览器而不是php引擎的原因。

您可以配置您的php设置以允许短开始标记但不建议出于可移植性原因。

<? should be changed to <?php

作为旁注,后续版本的php不再需要文件末尾的结束标记,以便在php支持时可以删除。