PHPackages                             clancats/framework - 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. clancats/framework

ActiveLibrary[Framework](/categories/framework)

clancats/framework
==================

ClanCats Framework, because your time is precious. HMVC PHP framework.

v2.0.6(11y ago)322095[1 PRs](https://github.com/ClanCats/Framework/pulls)MITPHP

Since Jun 5Pushed 9y ago9 watchersCompare

[ Source](https://github.com/ClanCats/Framework)[ Packagist](https://packagist.org/packages/clancats/framework)[ Docs](http://www.clancats.io)[ RSS](/packages/clancats-framework/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (7)Dependencies (1)Versions (10)Used By (0)

[![ClanCats Framework 2.1](https://cloud.githubusercontent.com/assets/956212/5882224/c7e30646-a347-11e4-9af3-f05cb7fb829f.jpg)](https://cloud.githubusercontent.com/assets/956212/5882224/c7e30646-a347-11e4-9af3-f05cb7fb829f.jpg)

[![Build Status](https://camo.githubusercontent.com/75060fada883aa4123e4f49a18992f9d71bb81fe1c6890e8eaa55fb5db74bd24/68747470733a2f2f7472617669732d63692e6f72672f436c616e436174732f4672616d65776f726b2e7376673f6272616e63683d6d6173746572267374796c653d666c6174)](https://travis-ci.org/ClanCats/Framework)[![License](https://camo.githubusercontent.com/7e49699fb98f1fc318b5c65dc895ffdc97808faf33cfc4e17491ad2db0c12c41/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f636c616e636174732f6672616d65776f726b2e7376673f7374796c653d666c6174)](https://github.com/ClanCats/Framework)[![Downloads](https://camo.githubusercontent.com/8bb7f02b9d421cc344690c79d74076a088cb8150e4859b13bd3a927f9ba06aed/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f636c616e636174732f636f72652e7376673f7374796c653d666c6174)](https://github.com/ClanCats/Framework)

ClanCatsFramework, painless web development no overkill. HMVC PHP framework.

- [Philosophy](#philosophy)
- [History](#history)
- [Installation](#installation)
- [Requirements](#requirements)
- [Permissions](#permissions)
- [Structure](#structure)
- [Configuration](#configuration)
- [Routing](#routing)

*This is the Application repository if you like to contribute take a look at the core repository:*

Philosophy
----------

[](#philosophy)

There are a many brilliant frameworks out there and I don't want to reinvent the wheel. My vision of CCF is a:

- modern
- well-architected
- high performance
- **user friendly**

full stack php framework.

User friendly or developer friendly is the core philosophy. The trick should be to keep the balance between the simplest and the best solution for a problem. I've been working on a lot big applications using *Zend and Symfony2* and there was always the point where I looked at the code and thought:

> "wait so to generate a random string I need a class extending a container wich provides me the util service factory to create a new string util instance where i can execute the random string method on?".

Often it's a complete overkill to reach a simple goal using these frameworks. So the goal of CCF is to make development comfortable instead of following 100% a convetion.

History
-------

[](#history)

This PHP framework was originally build 2010 as the core of a social Plattform called "ClanCats". In 2012 I decided to split the core and the application apart, so CCF was born. After developing several application on CCF v1.0, the point has come to rethink the core structure and rewrite the entire thing to a new version that should go open source.

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

[](#installation)

Setting up a new instance of CCF2 can be done simply with one command, or, in other words, with composer.

Run the following command to create a new CCF project.

```
$ composer create-project clancats/framework  --prefer-dist

```

*Composer not installed? Read the installation guide here: *

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

[](#requirements)

To run this framework please check the following requirements:

- PHP &gt;= 5.3.9
- PHP JSON
- PHP MCrypt
- PHP Multibyte String
- Apache with mod\_rewrite or Nginx

Permissions
-----------

[](#permissions)

For some operations ( storage, packtacular etc. ) we may need to grant write permissions in the file system.

**Storage:** `/CCF/storage/`
**Packtacular:** `/public/assets/packtacular/`

You can also set these using the `cli` doctor.

```
$ php cli doctor::permissions

```

If you get an error setting the permissions try to run the that command with `sudo`.

---

Structure
---------

[](#structure)

In the new CCF2 folder structure we split some things apart to make deployment much more efficient.

```
 - CCF/
   - app/                // Your Application
   - core/               // The CCF Core
   - orbit/              // Orbit ships ( plugins / modules )
   - storage/            // Internal file storage for logs, cache etc.
   - vendor/             // Composer vendor

 - boot/
   - environment.php     // The Environment configuration
   - paths.php           // Framework paths configuration

 - cli                   // Command line utility
 - composer.json
 - framework.php
 - phpunit.xml

 - public/
   - index.php           // Web Application public

```

---

Configuration
-------------

[](#configuration)

There is usually no configuration *required* to just run the framework (depending on your environment). We do, however, recommend to do some configuration before you start developing your awesome application.

### Boot

[](#boot)

The boot configuration allow you change the core behavior of the CCF.

#### Environment

[](#environment)

Define how your application detects the environment.
You can create an entirely new script of your own to return the runtime environment or you can make use of the env detector.

```
/boot/environment.php

```

> Check out the environment docs: [Environment](/docs/application/environment)

#### Paths

[](#paths)

Plan on running multiple CCF installations on one machine? Using just a single core? This is no problem because you can modify the CCF paths.

```
/boot/paths.php

```

You are also free to add new paths. Adding a new element to the array will add the path to runtime and also create a path define:

```
 = PATH
test = TESTPATH

```

### main config

[](#main-config)

You will find an initial **main configuration** file under:

```
/CCF/app/config/main.config.php

```

#### Security Salt

[](#security-salt)

At several points CCF is going to encrypt certain things by employing salt. You should define your own salt to keep your application secure.

You can generate a random salt using the following command:

```
$ php cli doctor::security_key

```

**When using composer to create a new project the salt is generated automatically.**

Otherwise you will find the key under security in the main configuration:

```
'security' => array(
    'salt' => 'L~7(%(9=@9+8u.Oo4+ysT45fkA4,82',
),
```

#### Path offset

[](#path-offset)

Maybe you would like to run your application from somewhere other than the domain root, e.g. from a subfolder. *forums*.

```
// www.yourdomain.com/forums/
'url'	=> array(
    'path'		=> '/forums/',
),
```

> For everything else, check out the main configuration documents: [Configuration](/docs/application/main_configuration/)

---

Routing
-------

[](#routing)

Depending on your system you will need to set something up so that all public requests end on the `public/index.php` file.

CCF ships with an `.htaccess` for apache systems with `mod_rewrite` enabled:

```
RewriteEngine On
# RewriteBase /subdir/

# Only Rewrite URL if file not exits
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Default
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
```

###  Health Score

35

—

LowBetter than 79% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity23

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 99.1% 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 ~17 days

Total

7

Last Release

4260d ago

Major Versions

v1.0-beta1 → v2.02014-06-27

### Community

Maintainers

![](https://www.gravatar.com/avatar/1b22b6cd3db7191046069cd7dd954e97585d9de1901403f8394c7eb7ae77056e?d=identicon)[clancats](/maintainers/clancats)

---

Top Contributors

[![mario-deluna](https://avatars.githubusercontent.com/u/956212?v=4)](https://github.com/mario-deluna "mario-deluna (106 commits)")[![lbehm](https://avatars.githubusercontent.com/u/421093?v=4)](https://github.com/lbehm "lbehm (1 commits)")

---

Tags

frameworkccfclancats

### Embed Badge

![Health badge](/badges/clancats-framework/health.svg)

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

###  Alternatives

[hemp/presenter

Easy Model Presenters in Laravel

247592.6k1](/packages/hemp-presenter)[pestphp/pest-plugin-stressless

Stressless plugin for Pest

67792.6k16](/packages/pestphp-pest-plugin-stressless)[wpstarter/framework

The WpStarter Framework - Laravel Framework for WordPress

1810.1k4](/packages/wpstarter-framework)

PHPackages © 2026

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