PHPackages                             gravity-design-nl/surfsara-handles - 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. gravity-design-nl/surfsara-handles

ActiveLibrary

gravity-design-nl/surfsara-handles
==================================

PHP library to create, edit and delete handles at SURFsara

0.1.3(9y ago)01121MITPHPPHP &gt;=5.6.0

Since Aug 29Pushed 9y ago1 watchersCompare

[ Source](https://github.com/WriteUpp/SURFsara-handles)[ Packagist](https://packagist.org/packages/gravity-design-nl/surfsara-handles)[ Docs](http://www.gravitydesign.nl)[ RSS](/packages/gravity-design-nl-surfsara-handles/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependencies (1)Versions (6)Used By (0)

SURFsara Handles
================

[](#surfsara-handles)

Introduction
------------

[](#introduction)

PHP library to create, edit and delete handles through the handle HTTP JSON REST API running at SURFsara. More information about the API can be found at [http://www.handle.net/tech\_manual/HN\_Tech\_Manual\_8.pdf](http://www.handle.net/tech_manual/HN_Tech_Manual_8.pdf)(chapter 14).

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

[](#installation)

Install the SURFsara Handles library using Composer.

```
$ composer require GravityDesignNL/SURFsara-handles

```

Usage
-----

[](#usage)

In order to use this class to connect to SURFsara you need to have a private-key file and a certificate file. Check with SURFsara to get the document to guide you through that process.

Once you generated the security files you can start using the SURFsara Handles class to create or delete handles.

```
$client = new SURFsaraHandles();

```

### Options

[](#options)

The SURFsara Handles class needs some settings (required and optional) to make it work properly.

#### Key (required) (string)

[](#key-required-string)

The absolute path to the private-key file.

```
$client->setKey(''));

```

#### Certificate (required) (string)

[](#certificate-required-string)

The absolute path to the certificate file.

```
$client->setCert(''));

```

#### Organisation code (required) (string)

[](#organisation-code-required-string)

The code SURFsara has given to your organisation.

```
$client->setSurfsaraPrefixOrg(''));

```

#### Organisation code (required) (string)

[](#organisation-code-required-string-1)

The code for the SURFsara environment you will communicate with.

```
$client->setSurfsaraPrefixOrg(''));

```

#### API Url (required) (string)

[](#api-url-required-string)

The url for the SURFsara API you will communicate with.

```
$client->setSurfsaraPrefixEnv(''));

```

#### Permissions (required (string))

[](#permissions-required-string)

The permissions needed to create or delete a handle.

```
$client->setPermissions(''));

```

#### Overwrite (optional (string))

[](#overwrite-optional-string)

Set if you want overwrite an existing handle. Can be either 'true' or 'false'. Defaults to 'true'.

```
$client->setOverwrite('true'));

```

#### Verify (optional (boolean))

[](#verify-optional-boolean)

Set if ... Can be either TRUE or FALSE. Defaults to FALSE.

```
$client->setVerify(FALSE));

```

#### Headers (optional (array))

[](#headers-optional-array)

Set headers if you need them. Headers are added in an array.

```
$client->setHeaders(['Authorization' => 'Handle clientCert="true"']);

```

### Handle Name

[](#handle-name)

Set the handle name. For example a uuid.

```
$client->setHandleName('');

```

### Handle Url

[](#handle-url)

Set the base handle url the PID redirects to. For example .

```
$client->setHandleUrl('');

```

### Handles

[](#handles)

When you added all the settings then you can create or update a (new) handle:

```
$client->setHandle();

```

Or you can delete it:

```
$client->deleteHandle();

```

Happy handling!!!

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity52

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

Every ~7 days

Total

5

Last Release

3514d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5a6eee21e5bb34515fcad91d1e5392e32435d78bd6d802c06528fcfcf7b7bf8f?d=identicon)[writeupp](/maintainers/writeupp)

---

Top Contributors

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

---

Tags

handles

### Embed Badge

![Health badge](/badges/gravity-design-nl-surfsara-handles/health.svg)

```
[![Health](https://phpackages.com/badges/gravity-design-nl-surfsara-handles/health.svg)](https://phpackages.com/packages/gravity-design-nl-surfsara-handles)
```

###  Alternatives

[neuron-core/neuron-ai

The PHP Agentic Framework.

1.8k245.3k21](/packages/neuron-core-neuron-ai)[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3731.2M42](/packages/tencentcloud-tencentcloud-sdk-php)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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