PHPackages                             james481/micro-cms-standard - 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. james481/micro-cms-standard

ActiveProject[Framework](/categories/framework)

james481/micro-cms-standard
===========================

Micro cms / static site MVC framework standard application

v0.1.0(11y ago)021MITPHPPHP &gt;=5.4

Since Jul 14Pushed 11y ago1 watchersCompare

[ Source](https://github.com/james481/MicroCMS-standard)[ Packagist](https://packagist.org/packages/james481/micro-cms-standard)[ Docs](https://github.com/james481/MicroCMS)[ RSS](/packages/james481-micro-cms-standard/feed)WikiDiscussions master Synced 3d ago

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

MicroCMS - Micro framework for CMS projects
===========================================

[](#microcms---micro-framework-for-cms-projects)

This is a lightweight and easy to use framework for the development of small CMS-like projects. It is designed for rapid prototyping of a basic application which may later be expanded onto a larger framework (Symfony). The typical use case would be a project that is very limited in initial scope, but a larger and more complex application is planned for the future.

### Install

[](#install)

The framework along with a base application directory structure can be installed using composer from the `james481/micro-cms-standard` package:

```
$ composer create-project james481/micro-cms-standard /Path/To/Project v0.1.0

```

MicroCMS provides the following features:
-----------------------------------------

[](#microcms-provides-the-following-features)

### Routing

[](#routing)

The MicroCMS router implements a stack of request matchers, which are checked in order to match a request:

- **Symfony Matcher** - If an environment specific routing file is provided (usually `app/config/routing_{env}.yml`), any routes specified in that file (in the usual Symfony manner) will be matched first. Routes to custom controllers can be specified by a fully qualified class name and action (`\\Namespace\\Pkg\\Class::indexAction`).
- **Template Matcher** - Any Twig template with the .html extension in the application templates directory (usually `app/templates`) **whose filename does not begin with `_`** will be automatically routed by name, either with or without extension. In other words, `app/templates/foo.html` will be rendered by requests to either `/foo` or `/foo.html`. Templates can be nested in directories (`/foo/bar` matches `app/templates/foo/bar.html`), and you can use the `_` prefix for templates that you don't want to be routable (for twig template includes or inheritance, etc).
- **Default Matcher** - The default matcher provides routes for the homepage and error pages. If a file named `index.html` exists in the application templates directory, it will be rendered for the site homepage (as well as `/index` and `/index.html`). In addition, the Default Matcher will render `_404.html` and `_500.html` for not found and application errors. Note that the `_500.html` template is only used in the production environment (other environments will display a stack trace for the exception / error).

### DI Container

[](#di-container)

The framework builds a Symfony DI Container, which will be provided to any custom controllers automatically as long as they implement `ContainerAwareInterface`. The container can be customized by editing the environment specific configuration file (usually `app/config/app_{env}.yml`) and specifying custom services / factories.

### Twig Templating

[](#twig-templating)

The DI Container includes a Twig renderer which is setup by the kernel.

### Logging

[](#logging)

The kernel also builds a Monolog logger, which will log to environment specific log files in the application logs directory (usually `app/logs`). In addition to being used internally by the framework, a [PSR-3](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md) compatible trait (`MicroCMS\DependencyInjection\LogAwareTrait`) can also be used by custom classes for convenient logging.

About
=====

[](#about)

The framework is currently at version `0.1.0`. It is functionally fairly complete and tested, but major additions are planned for future versions.

The framework is implemented using [PSR-2](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md) coding standards, and in the [PSR-4](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader.md) namespace standard.

### Documentation

[](#documentation)

The framework includes [PHPDocumentor](http://www.phpdoc.org/) compatible comments for all source files. The API documentation is not included in this package but can be built with `phpdoc` in the standard fashion:

```
$ cd /Path/To/MicroCMS
$ phpdoc -d ./src -t ./docs

```

### Tests

[](#tests)

The framework includes unit tests for the [PHPunit](http://phpunit.de/) test framework, and can be run by:

```
$ cd /Path/To/MicroCMS
$ composer install
$ phpunit

```

### TODO

[](#todo)

Version `0.2.0` will include:

- More extensive configuration of framework behavior for applications
- Basic content storage and injection into rendered templates

### Author

[](#author)

James Watts -

### License

[](#license)

MicroCMS is licensed under the MIT License - see the `LICENSE` file for details

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity48

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

4322d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/879219?v=4)[James Watts](/maintainers/james481)[@james481](https://github.com/james481)

---

Top Contributors

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

---

Tags

frameworkcms

### Embed Badge

![Health badge](/badges/james481-micro-cms-standard/health.svg)

```
[![Health](https://phpackages.com/badges/james481-micro-cms-standard/health.svg)](https://phpackages.com/packages/james481-micro-cms-standard)
```

###  Alternatives

[yii2-starter-kit/yii2-starter-kit

Yii2 Starter Kit Application Template

1.4k6.6k](/packages/yii2-starter-kit-yii2-starter-kit)

PHPackages © 2026

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