PHPackages                             szeidler/pageplanner-php-sdk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. szeidler/pageplanner-php-sdk

ActiveLibrary

szeidler/pageplanner-php-sdk
============================

Pageplanner PHP SDK

1.0.0(6y ago)020MITPHPPHP &gt;=7.0

Since May 16Pushed 6y ago1 watchersCompare

[ Source](https://github.com/szeidler/pageplanner-php-sdk)[ Packagist](https://packagist.org/packages/szeidler/pageplanner-php-sdk)[ Docs](https://github.com/szeidler/pageplanner-php-sdk)[ RSS](/packages/szeidler-pageplanner-php-sdk/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependencies (5)Versions (2)Used By (0)

Pageplanner PHP SDK
===================

[](#pageplanner-php-sdk)

[![Build Status](https://camo.githubusercontent.com/a74c585e0a297c5bbe8bcf42e3d438f3796dc4176a5068ddd403155f52bcc452/68747470733a2f2f7472617669732d63692e6f72672f737a6569646c65722f70616765706c616e6e65722d7068702d73646b2e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/szeidler/pageplanner-php-sdk)

Pagelanner PHP SDK utilizes [guzzle-services](https://github.com/guzzle/guzzle-services) for an easy integration with [Pageplanner's](http://pageplannersolutions.com/) API.

Requirements
------------

[](#requirements)

- PHP 7.0 or greater
- Composer
- Guzzle

Installation
------------

[](#installation)

Add Pageplanner PHP SDK as a composer dependency.

`composer require szeidler/pageplanner-php-sdk:^1.0`

Usage
-----

[](#usage)

Returns the asset representation based on the resource url of the asset.

```
use szeidler\Pageplanner\PageplannerClient;

$client = new PageplannerClient([
    'baseUrl' => 'https://preportal.pageplanner.no/api-demo/api/',
    'access_token_url' => 'https://login.microsoftonline.com/pageplannersolutions.com/oauth2/token',
    'client_id'        => 'xxxxxx-xxxxxxxxxxxx',
    'client_secret'    => '123456',
]);

// Get all issues.
$issues = $client->getIssues();
foreach ($issues->getIterator() as $issue) {
  print $issue['name'];
}

// Get a issue by id.
$issue = $client->getIssue(['id' => 2]);
print $issue->offsetGet('name');

// Get all publications.
$publications = $client->getPublications();
foreach ($publications->getIterator() as $publication) {
  print $publication['name'];
}

// Get a single publication by id.
$publications = $client->getPublications(['id' => 2]);
print $publication->offsetGet('name');
print $publication->offsetGet('publicationCode');

// Get all stories for an issue.
$stories = $client->getStories(['issueId' => 5]);
foreach ($stories->getIterator() as $story) {
  print $story['name'];
}

// Get a single story by id.
$story = $client->getStory(['id' => 123]);
print $story->offsetGet('name');
print $story->offsetGet('author');

// Create a story for an issue.
$data = [
    'id' => 'abcd',
    'title' =>
      [
        'value' => 'My new title',
        'isHtml' => FALSE,
      ],
    'abstract' =>
      [
        'value' => 'Put your abstract here',
        'isHtml' => FALSE,
      ],
    'body' =>
      [
        'value' => 'Your body could include HTML',
        'isHtml' => TRUE,
      ],
    'tags' => ['News', 'Culture'],
];
$story = $client->createStory($data);
print $story->offsetGet['name'];
```

Testing
-------

[](#testing)

This SDK includes PHPUnit as a composer `require-dev`. Copy the `phpunit.xml.dist` to `phpunit.xml` and fill in with your API testing credentials.

`./vendor/bin/phpunit -c phpunit.xml`

Credits
-------

[](#credits)

Stephan Zeidler for [Ramsalt Lab AS](https://ramsalt.com)

License
-------

[](#license)

The MIT License (MIT)

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2551d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/05bccdb85281776b28deafc2900b52fc8e12fcb25c3fd27870a5c5158db8da89?d=identicon)[szeidler](/maintainers/szeidler)

---

Top Contributors

[![szeidler](https://avatars.githubusercontent.com/u/1475847?v=4)](https://github.com/szeidler "szeidler (4 commits)")

---

Tags

pageplanner

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/szeidler-pageplanner-php-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/szeidler-pageplanner-php-sdk/health.svg)](https://phpackages.com/packages/szeidler-pageplanner-php-sdk)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M650](/packages/sylius-sylius)[neuron-core/neuron-ai

The PHP Agentic Framework.

1.8k245.3k20](/packages/neuron-core-neuron-ai)[google/cloud

Google Cloud Client Library

1.2k16.2M54](/packages/google-cloud)[google/cloud-core

Google Cloud PHP shared dependency, providing functionality useful to all components.

343121.4M79](/packages/google-cloud-core)[stechstudio/laravel-zipstream

A fast and simple streaming zip file downloader for Laravel.

4633.7M3](/packages/stechstudio-laravel-zipstream)[theodo-group/llphant

LLPhant is a library to help you build Generative AI applications.

1.5k311.5k5](/packages/theodo-group-llphant)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
