PHPackages                             mfcc/noodle - 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. mfcc/noodle

AbandonedArchivedLibrary[Framework](/categories/framework)

mfcc/noodle
===========

Powerfull and flexibile content management system.

1222[1 PRs](https://github.com/Tlapi/mfcc-noodle/pulls)JavaScript

Since Aug 21Pushed 7y ago3 watchersCompare

[ Source](https://github.com/Tlapi/mfcc-noodle)[ Packagist](https://packagist.org/packages/mfcc/noodle)[ RSS](/packages/mfcc-noodle/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependenciesVersions (2)Used By (0)

[![Build Status](https://camo.githubusercontent.com/ff106664dbc46f152c430ec867a3f0e4aef94ac172d3c366a1b5f8dbf7f89b95/68747470733a2f2f7472617669732d63692e6f72672f546c6170692f6d6663632d6e6f6f646c652e706e673f6272616e63683d6d6173746572)](https://travis-ci.org/Tlapi/mfcc-noodle) [![Dependency Status](https://camo.githubusercontent.com/e173b0d7abb05be326e3a848bdd1fc7a23cab131f80955dba6412b4f69287f95/68747470733a2f2f7777772e76657273696f6e6579652e636f6d2f757365722f70726f6a656374732f3532313637383639363332626163373734393031306361382f62616467652e706e67)](https://www.versioneye.com/user/projects/52167869632bac7749010ca8)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

[](#-)

mfcc-noodle
===========

[](#mfcc-noodle)

NOTE: This is still under heavy-development. Use at your own risk.

Easy to use, easy to implement, superflexibile and modular Content Management system base on Zend Framework 2 and Twitter Bootstrap.

Famous 9 step installation to create new website with admin
===========================================================

[](#famous-9-step-installation-to-create-new-website-with-admin)

1. Install Zend Skeleton App (optional)
2. Require mfcc-noodle in composer `"mfcc/noodle": "dev-master"`
3. There is no step 3
4. Copy config.dist files from `vendor/mfcc/noodle/config` to `config/autoload` and setup
5. Setup you doctrine connection driver if not present
6. Copy `cli-config.php` from `vendor/mfcc/noodle` to project root
7. Run `php vendor/doctrine/orm/bin/doctrine orm:schema-tool:update --force` to create db
8. Set default admin user
9. Create your entities and run `php vendor/doctrine/orm/bin/doctrine orm:schema-tool:update --force` after every update

How to create your own module:
==============================

[](#how-to-create-your-own-module)

1. Create you own entity in `Noodle\Entity\Tables`
2. Create corresponding table for your entity.
3. Add your entity to modules table

Bundled datatypes and options
=============================

[](#bundled-datatypes-and-options)

TBS

How to create your own datatype:
================================

[](#how-to-create-your-own-datatype)

1. Create your own form element base on one of Zend Form Elements
2. Implement `prepare()`, `treatValueBeforeSave()` and `getListedValue()` if needed.
3. Use data type in your entity like that:

```
/**
  * @ORM\Column(type="string");
	* @Annotation\Type("Your\Datatype\Namespace")
	* @Annotation\Options({"label":"Your label"})
	* @Annotation\Required(true)
	*/
	public $title;
```

How to create your own custom module:
=====================================

[](#how-to-create-your-own-custom-module)

Noodle is prepared for vendor modules. Just listen for this event:

```
$events->getSharedManager()->attach('Noodle\Service\ModulesService', 'vendorModules.load', function ($e) {
  		$e->getTarget()->addVendorModule('your_module_service');
});
```

Vendor module must implement `TODO`.

How to create dashboard widget:
===============================

[](#how-to-create-dashboard-widget)

Attach view helper to shared event manager event

```
$events->getSharedManager()->attach('Noodle\Controller\IndexController', 'dashboard', function ($e) {
  		$e->getTarget()->addDashboardModule('some_helper_service');
});
```

Use and save noodle options for your widget if needed.

NOTE: Please be carefull if you use your own option settings so there will be no conflicts in namespaces.

In you helper:

```
$optionService = $this->getServiceLocator()->getServiceLocator()->get('noodleOptions');
$optionService->setOption('your_widget_namespace.your_option_key', option_value);
$optionService->getOption('your_widget_namespace.your_option_key');
```

Widget will be rendered via your helper `public function __invoke(){}` method

Please see `Noodle\View\Helper\Dashboard\GoogleAnalytics` as a reference.

Option settings
===============

[](#option-settings)

You can set and get noodle options settings wherever you want using:

```
$optionService = $this->getServiceLocator()->getServiceLocator()->get('noodleOptions');
$optionService->setOption('some_widget_namespace.some_option_key', option_value);
$optionService->getOption('some_option_key');
```

TODOS
=====

[](#todos)

1. Create tables automatically from entities
2. Manage tables in gui
3. Clean code and provide interfaces
4. Add user role management
5. Set absolute namespace path for Noodle\\Entity\\Tables and set base table to extend from

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 82.3% 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/2815391?v=4)[Tlapi](/maintainers/Tlapi)[@Tlapi](https://github.com/Tlapi)

---

Top Contributors

[![Tlapi](https://avatars.githubusercontent.com/u/2815391?v=4)](https://github.com/Tlapi "Tlapi (51 commits)")[![jonsource](https://avatars.githubusercontent.com/u/3274187?v=4)](https://github.com/jonsource "jonsource (10 commits)")[![bedi](https://avatars.githubusercontent.com/u/1188200?v=4)](https://github.com/bedi "bedi (1 commits)")

### Embed Badge

![Health badge](/badges/mfcc-noodle/health.svg)

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

###  Alternatives

[laravel/socialite

Laravel wrapper around OAuth 1 &amp; OAuth 2 libraries.

5.7k104.3M844](/packages/laravel-socialite)[laravel/dusk

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

1.9k38.6M289](/packages/laravel-dusk)[nineinchnick/edatatables

Grid widget for the Yii Framework, wrapper for the DataTables jQuery plugin

173.2k](/packages/nineinchnick-edatatables)[link-cloud/fast-hyperf

LinkCloud Fast Hyperf

241.2k1](/packages/link-cloud-fast-hyperf)

PHPackages © 2026

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