PHPackages                             cmsx/fw - 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. [Framework](/categories/framework)
4. /
5. cmsx/fw

ActiveLibrary[Framework](/categories/framework)

cmsx/fw
=======

CMSx Framework

049PHP

Since Mar 12Pushed 12y ago1 watchersCompare

[ Source](https://github.com/cmsx/FW)[ Packagist](https://packagist.org/packages/cmsx/fw)[ RSS](/packages/cmsx-fw/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

CMSx Framework
==============

[](#cmsx-framework)

Идеология
---------

[](#идеология)

1. Полиморфизм. Наследование. Инкапсуляция. Никакой магии.
2. Никаких конфигов. Нигде.
3. Максимум подсказок в IDE (PHPStorm).

Пояснения
---------

[](#пояснения)

> *Всё следует упрощать до тех пор, пока это возможно, но не более того. © Эйнштейн*

### 1. Полиморфизм. Наследование. Инкапсуляция. Никакой магии.

[](#1-полиморфизм-наследование-инкапсуляция-никакой-магии)

Фреймворк старается быть максимально незаметным. Нет никаких сложных соглашений, не обязательно читать тонны документации. Можно просто взять пример и начать писать проект, при необходимости подключая сторонние компоненты или просто замещая части фреймворка, ведь он полностью состоит из подключаемых независимых компонентов.

При этом, основным способом достижения гибкости и производительности являются три базовых принципа ООП, направленные на производство легкого кода, который легко читать и поддерживать, а не на усложнение концепций и многостраничных соглашений и мануалов.

### 2. Никаких конфигов. Нигде.

[](#2-никаких-конфигов-нигде)

Настройка системы производится с помощью вызовов методов, настраивающих окружение, а конфигурирование форм, схемы БД и т.п. осуществляется с помощью наследования базовых классов и их дополнительной инициализации. Таким образом IDE сама подсказывает доступные опции и шанс опечатки или ошибки довольно невысок. И опять же, не нужно лезть в документацию, чтобы посмотреть какие опции есть по этому пункту.

**Пример настройки окружения:**

```
// Настройка подключения к БД. Созданное соединение автоматически сохраняется в "реестр".
X::AddConnection('localhost', 'cmsx', 'qwerty', 'cmsx', 'utf8');

// Прописываем путь к папке с шаблонами
Template::SetPath('/my/path');

```

**Пример настройки [формы](https://github.com/cmsx/Form):**

```
class MyForm extends Form
{
  function init() {
    $this
      ->addInput('name', 'Имя')
      ->setIsRequired(true);
    $this
      ->addSelect('city')
      ->setOptions('Москва', 'Киев', 'Минск')
    $this
      ->addInput('email', 'E-mail')
      ->setRegexp('/[some_regexp]/uis');
  }
}

```

### 3. Максимум подсказок в IDE (PHPStorm).

[](#3-максимум-подсказок-в-ide-phpstorm)

В CMSx Framework если где-либо можно получить объект, по нему с большой вероятностью будет доступен автокомплит, т.к. не используются языковые конструкции вида:

```
$app['DB']->query()
Doctrine::getTable('JobeetJob')

```

Т.к они не позволяют IDE определить, какой именно объект используется и соответственно выдать подсказки для автокомплита. Кроме этого, там где необходимо прописаны PHPDoc комментарии `@return` и каждый метод, за исключением совсем очевидных, снабжен кратким комментарием, позволяющим понять суть без изучения кода.

###  Health Score

21

—

LowBetter than 18% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity41

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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2027189?v=4)[Igor](/maintainers/cmsx)[@cmsx](https://github.com/cmsx)

---

Top Contributors

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

### Embed Badge

![Health badge](/badges/cmsx-fw/health.svg)

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

###  Alternatives

[laravel/passport

Laravel Passport provides OAuth2 server support to Laravel.

3.4k85.0M532](/packages/laravel-passport)[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M259](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

712181.8M596](/packages/laravel-prompts)[cakephp/chronos

A simple API extension for DateTime.

1.4k47.7M121](/packages/cakephp-chronos)[laravel/pail

Easily delve into your Laravel application's log files directly from the command line.

91545.3M590](/packages/laravel-pail)

PHPackages © 2026

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