Example #1
0
<?


require 'vendor/autoload.php';


use AleksKu\UnitCalc\TransportCalculator;



$routes = [
    ['from'=>'Москва','to'=>'Самара','cost'=>2],
    ['from'=>'Москва','to'=>'Воронеж','cost'=>3],
    ['from'=>'Москва','to'=>'Тверь','cost'=>3],
    ['from'=>'Самара','to'=>'Воронеж','cost'=>1],
    ['from'=>'Самара','to'=>'Тверь','cost'=>1],
    ['from'=>'Воронеж','to'=>'Владивосток','cost'=>10],
    ['from'=>'Тверь','to'=>'Хабаровск','cost'=>8],
    ['from'=>'Хабаровск','to'=>'Краснодар','cost'=>2],
    ['from'=>'Владивосток','to'=>'Краснодар','cost'=>3],
];



$calc = new TransportCalculator($routes);
$calc->calc('Москва','Краснодар');

echo "маршрут: ";
echo $calc->printPath();

echo "\n Стоимость проезда: ".$calc->getCost();
Example #2
0
<?php

/**
 *
 * тест на случайных данных
 */
require 'vendor/autoload.php';
use AleksKu\UnitCalc\TransportCalculator;
/**
 * генерируем коллекцию населенных пунктов
 */
$localities = [];
$routes = [];
$faker = Faker\Factory::create('ru_Ru');
for ($i = 0; $i < 50; $i++) {
    $localities[] = $faker->city;
}
$localities = array_unique($localities);
/**
 * генерируем коллекцию маршрутов
 */
for ($i = 0; $i < 100; $i++) {
    $routes[] = ['from' => $localities[array_rand($localities)], 'to' => $localities[array_rand($localities)], 'cost' => $faker->randomDigitNotNull];
}
$calc = new TransportCalculator($routes);
$calc->calc($localities[array_rand($localities)], $localities[array_rand($localities)]);
echo "маршрут:";
echo $calc->printPath();
echo "\n Стоимость проезда: " . $calc->getCost();