PHP code example of gracerpro / convert-sport-activity

1. Go to this page and download the library: Download gracerpro/convert-sport-activity library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

gracerpro / convert-sport-activity example snippets


use Gracerpro\ConvertSportActivity\Strava\StravaArchive;
use Gracerpro\ConvertSportActivity\Strava\StravaObserver;
use Gracerpro\ConvertSportActivity\Strava\Activity;
use Gracerpro\ConvertSportActivity\GpsPoint;

class EchoStravaObserver implements StravaObserver
{
    /**
     * @param GpsPoint[] $points
     */
    public function onNewActivity(Activity $activity, array $points, int $index): void
    {
        echo $index . " " . $activity->id . "\n";
    }
}

$archive = new StravaArchive();
$observer = new EchoStravaObserver();

$archive->convert($zipFilePath, $observer);

use Gracerpro\ConvertSportActivity\Adidas\AdidasArchive;
use Gracerpro\ConvertSportActivity\Adidas\AdidasObserver;
use Gracerpro\ConvertSportActivity\Adidas\Activity;
use Gracerpro\ConvertSportActivity\GpsPoint;

class FileAdidasObserver implements AdidasObserver
{
    public function __construct(
        /** @var resource */
        private $stream,
    ){
    }

    /**
     * @param GpsPoint[] $points
     */
    public function onNewActivity(Activity $activity, array $points, int $index): void
    {
        $text = $index . " " . $activity->id . "\n";
        fwrite($this->stream, $text . "\n");
    }
}

$stream = fopen("...");

$archive = new AdidasArchive();
$observer = new FileAdidasObserver($stream);

$archive->convert($zipFilePath, $observer);

fclose($stream);
bash
php ./vendor/bin/php-cs-fixer fix
bash
php ./vendor/bin/phpstan analyse
# or
php -d memory_limit=1G ./vendor/bin/phpstan analyse