PHPackages                             idealley/cloudcms-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. idealley/cloudcms-sdk

ActiveLibrary

idealley/cloudcms-sdk
=====================

PHP sdk for the CloudCms Api

v1.0.5(9y ago)289MITPHPPHP &gt;=5.6.0

Since Aug 18Pushed 9y ago2 watchersCompare

[ Source](https://github.com/idealley/cloudcms-sdk)[ Packagist](https://packagist.org/packages/idealley/cloudcms-sdk)[ RSS](/packages/idealley-cloudcms-sdk/feed)WikiDiscussions master Synced today

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

Cloud CMS SDK for PHP
=====================

[](#cloud-cms-sdk-for-php)

[Cloud CMS](https://www.cloudcms.com/) is a "headless" CMS.

### This is a framework agnostic PHP SDK.

[](#this-is-a-framework-agnostic-php-sdk)

[Here is the Laravel5 wrapper](https://github.com/idealley/cloudcms-laravel)

### What can it do

[](#what-can-it-do)

For now the SDK allows to read content from CloudCms as well as to write/update a node. We will be adding more features, but for now the SDK allows to create a full fonctional website using Cloud CMS as content management.

How to install
--------------

[](#how-to-install)

`composer require idealley/cloudcms-sdk`

Main available methods
======================

[](#main-available-methods)

You can get a children of a node like this (think category or list of blogs)

```
    $catnode = 'o:9a8195e6286a4f7b40ae';

    $nodes = CC::nodes()
            ->listChildren($catnode)
            ->addParams(['full' => 'true'])
            ->get();

```

Or a single node (for now we are getting it from a special slug field) like this:

```
    $node = CC::nodes()
                ->find($slug)
                ->addParams(['full' => 'true'])
                ->get();

```

You can chain paramas

```
    $node = CC::nodes()
                ->find($slug)
                ->addParams(['full' => 'true'])
                ->addParams(['metadata' => 'true'])
                ->get();

```

or pass them in a single array

```
                ->addParams(['full' => 'true', 'metadata' => 'true'])

```

You can get an image like this

```
    $path = 'Samples/Catalog/Products/';
    $img = CC::nodes()
                ->getImage($node['rows'][0]['_qname'])
                ->addParams(['name' => $node['rows'][0]['_features']['f:filename']['filename']])
                ->addParams(['size' => '400'])
                ->set();

```

You can chain any params as per [the documentation](https://www.cloudcms.com/documentation/application-server/services/node-urls.html)

**Refer to `repository/Node.php` to see all available methods. They are documented with working examples**

### Model (Schema)

[](#model-schema)

In order to simplyfy the display of the content you can save the model (schema) from Cloud CMS locally. Then when you have a sucessfull request you can compare it to the model. All properties are available and you do not need to check if they are set.

This method will get the model and save it locally

```
    CC::setModel('your:content-type');

```

This method will delet the model (when you update it in Cloud CMS)

```
    CC::setModel('your:content-type');

```

Here is an example of parsing

```
        foreach ($items as $key => $i){
            // You can do it as the commented lign if you do use Cloud CMS array elements (repeatable elements in the interface)
            //$item += $this->model;
            //If not do it like this
            $item = array_replace_recursive($this->model, $i);
            [...]
            // you can then work on your fields for example to parse markdown
            // the $item has ben objectified before hand
            $item->body = Markdown::parse($item->body);
            //but you could do it like this if your prefer to work on an array
            $item['body'] = Markdown::parse($item['body']);

```

### Todo

[](#todo)

- Use a proxy url to fetch the images/documents
- add more methods

### Get documents and images stored in Cloud CMS

[](#get-documents-and-images-stored-in-cloud-cms)

- Get images you with the node.js server developped by Cloud CMS to fetch and cache the images you need.
- Deploy an application and use the deployement url

###  Health Score

28

—

LowBetter than 57% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity62

Established project with proven stability

 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 ~50 days

Total

5

Last Release

3303d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2eaacaa1c4f295b9f5656093b72a6827f291e712bd7615e586fa59d3175c33f7?d=identicon)[Idealley](/maintainers/Idealley)

---

Top Contributors

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

### Embed Badge

![Health badge](/badges/idealley-cloudcms-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/idealley-cloudcms-sdk/health.svg)](https://phpackages.com/packages/idealley-cloudcms-sdk)
```

###  Alternatives

[laravel/vapor-cli

The Laravel Vapor CLI

31210.4M7](/packages/laravel-vapor-cli)[tempest/framework

The PHP framework that gets out of your way.

2.1k18.0k7](/packages/tempest-framework)[acmephp/acmephp

Let's Encrypt client written in PHP

649153.6k](/packages/acmephp-acmephp)[concrete5/core

Concrete core subtree split

19157.7k42](/packages/concrete5-core)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

707.5k20](/packages/open-dxp-opendxp)[ymirapp/cli

Ymir command-line tool

2518.8k](/packages/ymirapp-cli)

PHPackages © 2026

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