2017-08-14 4 views
1

PHPコードをlaravel標準に変換しようとしていますが、これを私のコントローラに追加して私のビューにレンダリングします。このPHPコードはうまく機能し、2つのポイント間の距離を決定することが関数です。私はちょうどこの簡単な方法で、この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); 
    } 

} 

ます。また、アプリケーション/ HTTP/route.phpに対応するルートを追加する必要があります。

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

応答をありがとう、これは完全に動作します! :) – NWcoding

+0

素晴らしい!それが他人を助けるかもしれないように答えを検証する;)乾杯! –

関連する問題