Класс OSRef не найден

Я новичок в Laravel и PHP в целом.

Я пытаюсь использовать PHPCoord для преобразования северного/восточного направления в широту/долготу.

Я установил его через Composer, и он появился в моем файле composer.json и в каталоге поставщика, но я не знаю, как ссылаться на него в моем коде?

Я почти уверен, что это связано с расстоянием между именами или отсутствием autoload.php, но я могу ошибаться.

Я пробовал use PHPCoord\PHPCoord; и use Php-Coord\Php-Coord;, но не смог найти класс.

(В последнем, похоже, дефис не нравится.)

Я просто добавляю пример кода в свой контроллер Laravel, чтобы посмотреть, работает ли он:

$OSRef = new OSRef(500000, 200000); //Easting, Northing
$LatLng = $OSRef->toLatLng();
$GPSLatLng = $LatLng->toWGS84(); //optional, for GPS compatibility

$lat =  $LatLng->getLat();
$long = $LatLng->getLng();

dd($lat);

Но я получаю Class 'App\Http\Controllers\OSRef' not found


person n8udd    schedule 17.08.2018    source источник
comment
Добро пожаловать в PHP и Laravel... возможно, это краткое введение в пространство имен поможет вам, так как это проблема с пространством имен в PHP... mattstauffer.co/blog/a-brief-introduction-to-php-namespacing   -  person lagbox    schedule 17.08.2018
comment
Спасибо. Я пытался найти такой пост, но искал «Пространство имен Laravel», а не PHP. Я внимательно прочитаю этот пост.   -  person n8udd    schedule 17.08.2018
comment
np, удачи, получайте удовольствие и наслаждайтесь Laravel   -  person lagbox    schedule 17.08.2018


Ответы (2)


Вы должны включить OSRef в его пространство имен. Взгляните на этот ответ.

Поэтому в своем коде вы должны добавить этот код в начало файла. Вот так:

<?php

namespace App\Http\Controlles;

use PHPCoord\OSRef;

class YourClass {

public function yourMethod() {
}
    $OSRef = new OSRef(500000, 200000); //Easting, Northing
    $LatLng = $OSRef->toLatLng();
    $GPSLatLng = $LatLng->toWGS84(); //optional, for GPS compatibility

    $lat =  $LatLng->getLat();
    $long = $LatLng->getLng();

    dd($lat);
}
person IlGala    schedule 17.08.2018
comment
Спасибо! Так что я был на правильном пути, только я использовал use PHPCoord\PHPCoord, а не use PHPCoord\Osref. Я отмечу это как ответ! - person n8udd; 17.08.2018

используйте правильный класс в вашем контроллере как

use PHPCoord\OSRef;
person RAUSHAN KUMAR    schedule 17.08.2018