PHPackages                             presentator/api - 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. [API Development](/categories/api)
4. /
5. presentator/api

AbandonedArchivedLibrary[API Development](/categories/api)

presentator/api
===============

Presentator v2 REST API

v2.15.1(3y ago)077311BSD-3-ClausePHPPHP &gt;=7.1.0

Since Aug 4Pushed 2y ago1 watchersCompare

[ Source](https://github.com/presentator/presentator-api)[ Packagist](https://packagist.org/packages/presentator/api)[ RSS](/packages/presentator-api/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependencies (19)Versions (48)Used By (1)

Presentator v2 REST API [![Yii2](https://camo.githubusercontent.com/d6b0929173e28cc627430d2519ca1853466a70f37395877eaf4820cb3e1e1909/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f506f77657265645f62792d5969695f4672616d65776f726b2d677265656e2e7376673f7374796c653d666c6174)](http://www.yiiframework.com/)
=========================================================================================================================================================================================================================================================================================================================

[](#presentator-v2-rest-api-)

Important

This repo is for the older Presentator v2 and it is no longer maintained.

Presentator v2 REST API server implementation, written in PHP and based on [Yii2](https://www.yiiframework.com/).

**Detailed API reference could be found here - .**

- [Requirements](#requirements)
- [Installation](#installation)
- [Development](#development)

> **This repository is READ-ONLY.****Report issues and send pull requests in the [main Presentator repository](https://github.com/presentator/presentator/issues).**

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

[](#requirements)

- Apache/Nginx HTTP server
- SQL database (MySQL/MariadDB/PostgreSQL)

    > For MySQL up to 5.6 and MariaDB up to 10.1 you may need to set `innodb_large_prefix=1` and `innodb_default_row_format=dynamic` to prevent migration errors (see [\#104](https://github.com/presentator/presentator/issues/104)).
- PHP 7.1+ with the following extensions:

    ```
    Reflection
    PCRE
    SPL
    MBString
    OpenSSL
    Intl
    ICU version
    Fileinfo
    DOM extensions
    GD or Imagick

    ```

    For more detailed check, run `php requirements.php` from the application root directory.

    In addition, here are some recommended `php.ini` configuration settings:

    ```
    post_max_size       = 64M
    upload_max_filesize = 64M
    max_execution_time  = 60
    memory_limit        = 256M

    ```

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

[](#installation)

Before getting started make sure that you have checked the project requirements and installed [Composer](https://getcomposer.org/).

1. Clone or download the repo.

    > **For security reasons, if you are using a shared hosting service it is recommended to place the project files outside from your default public\_html(www) directory!**
2. Setup a vhost/server address (eg. `http://api.presentator.local/`) and point it to `web/`.

    > By default a generic `.htaccess` file will be created for you after initialization. If you are using nginx, you could check the following [sample configuration](https://github.com/presentator/presentator/issues/120#issuecomment-539844456).
3. Run the following commands:

    ```
    # navigate to the project root dir
    cd /path/to/project

    # install vendor dependencies
    composer install

    # execute the init command and select the appropriate environment:
    # dev     - for development
    # prod    - for production
    # starter - this is used only for the the starter project setup (https://github.com/presentator/presentator-starter)
    php init
    ```
4. Create a new database (with `utf8mb4_unicode_ci` collation) and adjust the db, mailer and other component configurations in `config/base-local.php` accordingly.

    > **All available app components with their default values could be found in `config/base.php`.**
5. Adjust the application parameters in `config/params-local.php.`.

    > **All available app parameters with their default values could be found in `config/params.php`.**
6. Apply DB migrations.

    ```
    php /path/to/project/yii migrate
    ```
7. (optional) Setup a cron task to process unread screen comments:

    ```
    # Every 30 minutes processes all unread screen comments and sends an email to the related users.
    */30 * * * * php /path/to/project/yii mails/process-comments
    ```

**That's it!** You should be able to make HTTP requests to the previously defined server address.

Additional console commands you may find useful:

```
# set Super User access rights to a single User model
php /path/to/project/yii users/super test@example.com

# set Regular User access rights to a single User model
php /path/to/project/yii users/regular test@example.com

# regenerates all screen thumbs
php /path/to/project/yii screens/generate-thumbs
```

Development
-----------

[](#development)

#### Running tests

[](#running-tests)

Presentator uses [Codeception](https://codeception.com/) as its primary test framework.

Running tests require an additional database, which will be cleaned up between tests. Create a new database and edit the db component settings in `config/test-local.php` and then run the following console commands:

```
# apply db migrations for the test database
php path/to/project/yii_test migrate

# build the test suites
/path/to/project/vendor/bin/codecept build

# start all application tests
/path/to/project/vendor/bin/codecept run
```

> Currently only functional tests are available.

#### Conventions

[](#conventions)

The project makes use of the following conventions:

- *(PHP)* Each class must follow the accepted [PSR standards](https://www.php-fig.org/psr/#accepted).
- *(PHP)* Each class method should have comment block tags based on [PHPDoc](https://docs.phpdoc.org/references/phpdoc/index.html) (method description is optional).
- *(DB)* Use InnoDB table engine.
- *(DB)* Use `utf8mb4_unicode_ci` or `utf8_unicode_ci` collation.
- *(DB)* Table names must match with the corresponding AR model class name (eg. `UserProjectRel`).
- *(DB)* Table columns must be in camelCase format (eg. `passwordResetToken`)
- *(DB)* Each database change must be applied via Yii migrations.
- *(DB)* Whenever is possible add named foreign keys and indexes in the following format `fk_{FROM_TABLE}_to_{TO_TABLE}` and `idx_{TABLE}_{COLUMN(S)}` (eg. `fk_ProjectLink_to_Project`, `idx_ProjectLink_slug`)

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity66

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

Recently: every ~50 days

Total

47

Last Release

1393d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e03e4fa9f37616b4394ac1fad014584edfefb067e8772bb995254db6ea562cd7?d=identicon)[ganigeorgiev](/maintainers/ganigeorgiev)

---

Top Contributors

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

---

Tags

presentatorrest-apiyii2apiyii2designcollaborationpresentatorpresentator-api

###  Code Quality

TestsCodeception

### Embed Badge

![Health badge](/badges/presentator-api/health.svg)

```
[![Health](https://phpackages.com/badges/presentator-api/health.svg)](https://phpackages.com/packages/presentator-api)
```

###  Alternatives

[skeeks/yii2-google-api

Component for work with google api based on google/apiclient

1243.1k1](/packages/skeeks-yii2-google-api)[dotzero/yii2-amocrm

Расширение для Yii Framework 2 реализующее клиент для работы с API amoCRM

1639.7k](/packages/dotzero-yii2-amocrm)[jumper423/yii2-vk

Расширенная работа с API VK

301.6k](/packages/jumper423-yii2-vk)

PHPackages © 2026

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