将过程代码转换为类文件

时间:2014-03-20 21:14:48

标签: php class

我正在尝试构建一个类文件。我从这个基本的执行代码开始,它运行良好:

此处的代码是从给定中心点lon和lat以及半径100英里或160.934公里计算最小和最大经度和纬度。

        $lat = 32.373591;    //Location latitude
    $lon = -88.743598;   //Location longitude

    $r = (160.934/6371);    //Radius distance in Km
    $latMin = $lat - $r;  //Calculate the minmum latitude
    $latMax = $lat + $r;  //Calculate the maximum latitude

    $latT = asin(sin($lat)/cos($r));  //don't know what this calculation is for

    //$lonTri = arccos((cos($r)-sin($latT)*sin($lat))/(cos($latT)*cos($lat));

    $lonTri = asin(sin($r)/cos($lat));

    $lonMin = $lon - $lonTri;
    $lonMax = $lon + $lonTri; //Calculate the Min and Max Longitude


    echo $lat . " Latitude<br><br>";
    echo $lon . " Longitude <br><br>";
    echo $r . " r <br><br>";
    echo $latMin . " Latitude Min<br><br>";
    echo $latMax . " Latitude Max<br><br>";
    echo $latT . " Latititude Total <br><br>";
    echo $lonTri . " lonTri <br><br>";
    echo $lonMin . " Lon Min<br><br>";
    echo $lonMax . " Lon Max<br>";

我想将它转换为PHP中的类文件。我不确定我的工作,我想确保课程能够正确地重现计算。我的类文件看起来像这样

 class nextCityCal {

//Location latitude
public $lat;

//Location longitude
public $lon;

//Radius distance in Km
public $r = 0.0252603986815257;

//Calculate the minmum latitude
public $latMin = $lat - $r;

//Calculate the maximum latitude
public $latMax = $lat + $r;

//don't know what this calculation is for
public $latT = asin(sin($lat)/cos($r));


public $lonTri = asin(sin($r)/cos($lat));

//Calculate the Min and Max Longitude
$lonMin = $lon - $lonTri;
$lonMax = $lon + $lonTri;

//set the latitude to the value pulled from the database
public function setLat($lat){
    $this->lat = $lat;
}

//rerurn the latitude for processing
public function getLat(){
    return $this->lat;
}
//set the longitude to the valuse pulled from database
public function setLon($lon){
    $this->lon = $lon;
}

//Calculate the minimum latitude
public function calLat($lat, $r){
    if(!$lat){
        $this->calLat = $lat - $r;
        return $this->calLat;
    }
}


}

我的问题是关于

$latMin = $lat - $r;

在进行中的代码中,它是直接数学。 在类文件中,我将其转换为

    //Calculate the minimum latitude
public function calLat($lat, $r){
    if(!$lat){
        $this->calLat = $lat - $r;
        return $this->calLat;
    }
}

这会返回我想要的计算结果吗?如果没有我怎么去添加类文件中的变量?

1 个答案:

答案 0 :(得分:0)

最好保持范围不超过其所需的使用范围,以提高可读性和资源管理。如果您没有在课堂外设置或阅读它们,则可以使用私有或受保护的属性(变量)。您可以像使用独立函数一样在方法中使用locals。您还可以使用构造函数方法(__construct)初始化属性而不是将其作为声明 - 因此您将有一个位置可以查看所有初始化。