PHP has historically been the hardest language to do astrology in - no maintained Swiss Ephemeris extension, so people shell out to a binary or port the math. The AstroWay PHP SDK skips that: a PSR-18 HTTP client that returns the calculation over the wire.
Install
Section titled “Install”composer require astroway/sdk# bring your own PSR-18 client + PSR-17 factory, e.g.:composer require guzzlehttp/guzzle nyholm/psr7Get a key on the dashboard - 10,000 credits/month free, no card.
A natal chart in plain PHP
Section titled “A natal chart in plain PHP”<?phpuse Astroway\Astroway;
$aw = new Astroway(['apiKey' => getenv('ASTROWAY_API_KEY')]);
$chart = $aw->chart()->compute([ 'date' => '1990-07-14', 'time' => '14:30:00', 'timezoneOffset' => 3, 'latitude' => 50.45, 'longitude' => 30.52,]);
foreach ($chart['planets'] as $p) { printf("%-10s %.2f° %s\n", $p['name'], $p['longitude'], $p['sign']);}The { ok, data, error } envelope is unwrapped - $chart is the data. Other
namespaces follow the same shape: $aw->synastry()->compute([...]),
$aw->transits()->compute([...]), $aw->humanDesign()->compute([...]).
Laravel
Section titled “Laravel”There’s a first-party Laravel wrapper with a facade and config. It is an early alpha, so the constraint is part of the command:
composer require astroway/sdk-laravel:^0.1.0-alphause Astroway\Laravel\Facades\Astroway;
$chart = Astroway::chart()->compute([ 'date' => '1990-07-14', 'time' => '14:30:00', 'timezoneOffset' => 3, 'latitude' => 50.45, 'longitude' => 30.52,]);Set ASTROWAY_API_KEY in .env and the facade is ready - no manual client
wiring. There’s a Symfony bundle too, astroway/sdk-symfony, at the same alpha
stage.
Errors
Section titled “Errors”use Astroway\Errors\RateLimitError;use Astroway\Errors\BadRequestError;
try { $aw->chart()->compute($input);} catch (RateLimitError $e) { // back off and retry} catch (BadRequestError $e) { // which field failed validation}Why an API instead of a native extension
Section titled “Why an API instead of a native extension”There’s no well-maintained PECL Swiss Ephemeris extension, so the alternatives
are shelling out to the swetest binary (deployment headache) or porting the
algorithms (error-prone). The SDK turns it into one Composer package and an
HTTPS call, with arc-second positions verified against NASA JPL Horizons, plus
865 endpoints beyond the natal chart.
Next steps
Section titled “Next steps”Poziții la secundă de arc în 4 linii de cod.
Cheie gratuită fără card. 5.000 de apeluri pe lună până la prima plată.