exec devbox run php index.php
stdout 'done\n'

# temporarily disable rm test until we fix. It requires ensuring that package 
# in profile matches the flake we are installing.
# For non-flakes, this involves comparing versions. For flakes we need to compare 
# the content (or hash)

# exec devbox rm php81Extensions.ds
# exec devbox run php index.php
# stdout 'ds extension is not enabled'

# exec devbox add php81Extensions.ds
# exec devbox run php index.php
# stdout 'done\n'

-- devbox.json --
{
  "packages": [
    "php81@latest",
    "php81Packages.composer@latest",
    "php81Extensions.ds@latest"
  ]
}

-- index.php --
<?php

// Check that the extension is loaded.
if (!extension_loaded('ds')) {
    echo("ds extension is not enabled");
    exit(0);
}

$vec = new \Ds\Vector(["hello", "world"]);

echo("Original vector elements\n");
foreach ($vec as $idx => $elem) {
  echo("idx: $idx and elem: $elem\n");
}
echo("done\n");
