2017-08-14 54 views
1

我想將我的php代碼轉換爲laravel標準,我想將其添加到我的控制器並將其呈現給我的視圖。這個PHP代碼工作正常,它的功能是確定兩點之間的距離。我只是想以最簡單的方式將此php代碼轉換爲laravel標準。任何人都知道如何做到這一點?提前致謝。這裏是我的代碼:laravel 4.2如何將我的php代碼轉換爲laravel標準

<?php 
function getdistance($latrider,$lontrider,$latdriver,$londriver){ 
    $earthRadius=6371; 
    $latFrom=deg2rad($latrider); 
    $lonFrom=deg2rad($lontrider); 

    $latTo=deg2rad($latdriver); 
    $lonTo=deg2rad($londriver); 

    $latDelta=$latTo-$latFrom; 
    $lonDelta=$lonTo-$lonFrom; 

    $angle=2*asin(sqrt(pow(sin($latDelta/2),2)+ 
     cos($latFrom)*cos($latTo)*pow(sin($lonDelta/2),2))); 
    return $angle*$earthRadius; 
} 

$latrider=11.707389; 
$lontrider=122.37194309999995; 

$latdriver=11.7105254; 
$londriver=122.36308980000001; 

$distance=getDistance($latrider,$lontrider,$latdriver,$londriver); 
echo"distance between rider position and driver position is:".$distance."KM"; 
?> 

回答

1

在你的控制器中的代碼應該是這樣的:

<?php namespace App\Http\Controllers; 

use App; 

use Illuminate\Http\Request; 
use App\Http\Controllers\Controller; 

class YourController extends Controller { 

    private function getdistance($latrider,$lontrider,$latdriver,$londriver) { 
     $earthRadius=6371; 
     $latFrom=deg2rad($latrider); 
     $lonFrom=deg2rad($lontrider); 

     $latTo=deg2rad($latdriver); 
     $lonTo=deg2rad($londriver); 

     $latDelta=$latTo-$latFrom; 
     $lonDelta=$lonTo-$lonFrom; 

     $angle=2*asin(sqrt(pow(sin($latDelta/2),2)+ 
      cos($latFrom)*cos($latTo)*pow(sin($lonDelta/2),2))); 
     return $angle*$earthRadius; 
    } 

    public function index (Request $request) { 

     $latrider=11.707389; 
     $lontrider=122.37194309999995; 

     $latdriver=11.7105254; 
     $londriver=122.36308980000001; 

     $data = array( 
      'distance' => $this->getDistance($latrider,$lontrider,$latdriver,$londriver) 
     ); 

     return view('your-view')->with($data); 
    } 

} 

您還需要添加在App/HTTP/route.php相應的路線:

Route::get('/your-route', ['uses' => '[email protected]']); 
+1

感謝您的迴應,這完美的作品! :) – NWcoding

+0

太棒了!驗證答案,以便可以幫助其他人;)乾杯! –