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

AbandonedArchivedLibrary[Framework](/categories/framework)

titon/framework
===============

Collection of packages that make up the Titon framework.

0.1.0-alpha(10y ago)2062923[5 issues](https://github.com/titon/framework/issues)[1 PRs](https://github.com/titon/framework/pulls)BSD-3-ClauseHack

Since Jan 2Pushed 10y ago1 watchersCompare

[ Source](https://github.com/titon/framework)[ Packagist](https://packagist.org/packages/titon/framework)[ Docs](http://titon.io)[ RSS](/packages/titon-framework/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependencies (5)Versions (6)Used By (0)Security (1)

```
 ______  ______   ______   __    __   ______   __    __   ______   ______   __  __
/\  ___\/\  __ \ /\  __ \ /\ '-./  \ /\  ___\ /\ \ __\ \ /\  __ \ /\  __ \ /\ \/ /_
\ \  __\\ \  __< \ \  __ \\ \ \._/\ \\ \  __\ \ \ \| \\ \\ \ \/\ \\ \  __< \ \  _  \
 \ \_\/  \ \_\ \_\\ \_\ \_\\ \_\/\ \_\\ \_____\\ \__/_.__\\ \_____\\ \_\ \_\\ \_\ \_\
  \/_/    \/_/\/_/ \/_/\/_/ \/_/  \/_/ \/_____/ \/_/  \/_/ \/_____/ \/_/\/_/ \/_/\/_/

```

Titon Framework
===============

[](#titon-framework)

[![Project Titon](https://camo.githubusercontent.com/0089e3beec2940f4936e255343000adb58dd9508956ad7547af7aa0c1bb015fb/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f70726f6a6563742d7469746f6e2d3832363637642e7376673f7374796c653d666c6174)](http://titon.io)[![Build Status](https://camo.githubusercontent.com/1338743f69c726290d7407b22b24bef5b22580d6d103991a617c04c3a7ecf9e1/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f7469746f6e2f6672616d65776f726b2e7376673f7374796c653d666c6174)](https://travis-ci.org/titon/framework)[![HHVM](https://camo.githubusercontent.com/d540900a91fb1d29b55d8d03bd39cfdc90998f1376e9641859776af3b0017857/68747470733a2f2f696d672e736869656c64732e696f2f6868766d2f7469746f6e2f6672616d65776f726b2e7376673f7374796c653d666c6174)](https://github.com/titon/framework)[![Latest Version](https://camo.githubusercontent.com/22b951079f08c0bcc228d1c39da0d5b3473f27459571b620751ef4891c24df2c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7469746f6e2f6672616d65776f726b2e7376673f7374796c653d666c6174)](https://packagist.org/packages/titon/framework)[![Total Downloads](https://camo.githubusercontent.com/6c1d4876397644e1502612c0af7844e80c09192734d9d8b870a446013d5531b4/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646d2f7469746f6e2f6672616d65776f726b2e7376673f7374796c653d666c6174)](https://packagist.org/packages/titon/framework)[![License](https://camo.githubusercontent.com/cf6683e57b4bd25a556b3c32d5cccf7247c82850b8a674845e0368e6ab789927/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f7469746f6e2f6672616d65776f726b2e7376673f7374796c653d666c6174)](https://github.com/titon/framework/blob/master/license.md)

What is Titon?
--------------

[](#what-is-titon)

Titon is a modular web framework built on Hack that runs in HHVM. It is written with simplicity and efficiency in mind, with enough room for extensibility and abstraction. The framework takes advantage of Hack's strict mode, type system, generics, collections, and more. It also integrates the wonderful PSRs from PHP-FIG for increased interoperability with external PHP code bases and libraries.

Looking for more information? Find us in [\#titon](http://webchat.freenode.net/?channels=titon) on FreeNode.

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

[](#requirements)

- [HHVM 3.8.0](http://hhvm.com/)
- [Hack](http://hacklang.org/)
- [Composer](http://getcomposer.org)

Roadmap
-------

[](#roadmap)

Upcoming features and release plan.

- Q4 2015
    - Console package - Command line application \[DELAYED\]
    - HTTP package - Updated for PSR-7 support
    - [MVC package](https://github.com/titon/mvc) - Model-view-controller application \[DELAYED UNTIL PSR-7\]
    - Pipeline package - Piped command streams
- Q1 2016
    - CommandBus package - Command bus layer
    - Queue package - Queue, job, and worker services
    - Session package - Custom session handler
- Q2 2016
    - [DB package](https://github.com/titon/db) - Database abstraction layer
    - [Model package](https://github.com/titon/model) - Object relational mapper and active record for DB entities
- Q3 2016
    - Mail package - Emailing layer
    - ACL package - Access control lists
    - Auth package - Authentication and authorization
- Q4 2016
    - ADR package - Action-domain-responder application
    - WebSocket package - Web socket based application

Features and additions currently in discussion.

- Separate Type\\Xml into its own package
- Rewrite the Type package into a data structure oriented package
- Implement a custom Yaml package that doesn't rely own Zend compat mode
- Possibly merge Utility and Common packages

Usage
-----

[](#usage)

Documentation is currently in the works, but in the mean time, check out the following articles.

- [Installation](docs/en/setup/installing.md)
- [Packages](docs/en/packages/index.md)

Contributing
------------

[](#contributing)

Titon is accepting any knowledgeable PHP developers looking to get their hands and feet wet in Hack. Chat with us over in [\#titon](http://webchat.freenode.net/?channels=titon) for more information.

Testing
-------

[](#testing)

Titon comes packaged with a Vagrant box and a handful of Python scripts to ease the testing process. Boot up the Vagrant instance with `vagrant up` and SSH into the box with `vagrant ssh`. Once in Vagrant, you can run the following command to run tests.

```
/vagrant/bin/run-tests
```

Or run tests for a single file or folder.

```
/vagrant/bin/run-tests --path=Titon/Common
```

Or filter tests based on class or method name.

```
/vagrant/bin/run-tests --filter=methodName
```

#### Hack Strict Mode

[](#hack-strict-mode)

For the most part, Titon strives to be strict compliant. This can be very challenging, but with Hack's built-in type checker, it couldn't be easier. Simply run the following command to check for strict issues.

```
/vagrant/bin/type-check
```

Or type check a specific folder.

```
/vagrant/bin/type-check --path=Titon/Utility
```

When filtering down by path, multiple errors will still arise like "Was expecting a class", "Unbound name", "Unbound global constant", "This is not a container, this is an object of type X", etc. The main cause of this issue is that the type checker is ran in a sub-folder, and not the root, so all those classes are not in scope. This should not be an issue if the type checker is ran in the source root.

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity26

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 87% 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 ~181 days

Total

2

Last Release

3973d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7fde949ba5bf8f6af95b77cf88fe1362c4cc7519edbcd4f8891f1564da621fdb?d=identicon)[milesj](/maintainers/milesj)

---

Top Contributors

[![milesj](https://avatars.githubusercontent.com/u/143744?v=4)](https://github.com/milesj "milesj (488 commits)")[![exonintrendo](https://avatars.githubusercontent.com/u/735894?v=4)](https://github.com/exonintrendo "exonintrendo (70 commits)")[![GrahamCampbell](https://avatars.githubusercontent.com/u/2829600?v=4)](https://github.com/GrahamCampbell "GrahamCampbell (2 commits)")[![BackEndCoder](https://avatars.githubusercontent.com/u/163614?v=4)](https://github.com/BackEndCoder "BackEndCoder (1 commits)")

---

Tags

frameworktiton

###  Code Quality

TestsPHPUnit

### Embed Badge

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

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

###  Alternatives

[symfony/symfony

The Symfony PHP framework

31.3k86.3M2.2k](/packages/symfony-symfony)[laravel/framework

The Laravel Framework.

34.7k509.9M17.0k](/packages/laravel-framework)[cakephp/cakephp

The CakePHP framework

8.8k18.5M1.6k](/packages/cakephp-cakephp)[slim/slim

Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs

12.3k49.9M1.3k](/packages/slim-slim)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[yiisoft/yii-middleware

Yii Middleware

21151.3k1](/packages/yiisoft-yii-middleware)

PHPackages © 2026

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