PHPackages                             qcubed-4/application - 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. qcubed-4/application

ActiveQcubed-library[Framework](/categories/framework)

qcubed-4/application
====================

The common files used by many of the components of the QCubed-4 framework

v4.0(5y ago)11562[5 issues](https://github.com/qcubed-4/application/issues)1MITPHPPHP &gt;=7.0

Since Apr 23Pushed 2mo ago3 watchersCompare

[ Source](https://github.com/qcubed-4/application)[ Packagist](https://packagist.org/packages/qcubed-4/application)[ Docs](https://qcubed.eu/)[ RSS](/packages/qcubed-4-application/feed)WikiDiscussions master Synced 6d ago

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

Application Framework
---------------------

[](#application-framework)

This is the application part of the QCubed-4 framework, and includes forms, controls, actions, events and code to tie them all together.

What is QCubed-4?
-----------------

[](#what-is-qcubed-4)

QCubed (pronounced 'Q' - cubed) is a PHP Model-View-Controller Rapid Application Development framework with support for PHP8 and above. The goal of the framework is to save development time around mundane, repetitive tasks - allowing you to concentrate on things that are useful AND fun. QCubed-4 excels in situations where you have a large database structure that you quickly want to make available to users.

Additional Documentation and Knowledge Base
-------------------------------------------

[](#additional-documentation-and-knowledge-base)

In addition to the official QCubed-4 documentation and examples, you may find the **DeepWiki knowledge base** useful for gaining a broader and more contextual overview of the QCubed-4 ecosystem.

DeepWiki aggregates community-driven knowledge, explanations, and references collected from open-source discussions, repositories, and real-world usage. It can help both new and experienced developers better understand QCubed’s architecture, design philosophy, and ongoing evolution as an open-source framework.

As with any open-source effort, community contributions and shared experiences help keep this knowledge relevant and growing.

Stateful architecture
---------------------

[](#stateful-architecture)

With QCubed-4, you don't have to deal with POSTs and GETs coming from the browser. QCubed-4 automatically handles that for you and packages the information into object oriented forms and controls. Programming with QCubed-4 feels very much like programming a desktop application. If you are familiar with ASP, it is similar.

The Code Generator
------------------

[](#the-code-generator)

The Code Generator automatically creates object classes with matching forms and controls based on your database schema. It uses the concept of ORM, [object-relational mapping](http://en.wikipedia.org/wiki/Object-relational_mapping), to practically create your whole model layer for you.

Codegen can take advantage of foreign key relationships and field constraints to generate ready-to-use data models complete with validation routines and powerful CRUD methods, allowing you to manipulate objects instead of constantly issuing SQL queries.

More info as well as examples are available online at

### Object-oriented querying

[](#object-oriented-querying)

Using QQueries allows for simple yet powerful loading of models, all generated ORM classes have Query methods and QQNodes. By using these methods, getting a complex subset of data is pretty straightforward - and can be used on almost any relational database.

User Interface Library
----------------------

[](#user-interface-library)

QCubed-4 uses the concept of a Qform to keep form state between POST transactions. A QForm serves as the controller and can contain Controls which are UI components.

All Controls (including Qform itself) can use a template which is the view layer, completing the MVC structure.

Controls can take advantage of the Qform's FormState to update themselves through Ajax callbacks as easily as synchronous server POSTs. All jQuery UI core widgets are available as Controls.

Some Controls include:

- Dialog
- TextBox
- ListBox
- Tabs
- Accordion

The easiest way to learn QCubed-4 is to see the examples tutorial at

### Plugins

[](#plugins)

Through its plugin system, QCubed-4 makes it easy to package and deliver enhancements and additions to the core codebase. Some plugins are created by other users, try creating them according to these examples.

System Requirements
-------------------

[](#system-requirements)

- A development computer that you can set up so that the browser can write to a directory in your file system.
- v4.0.x, requires PHP 8.3 and above. HHVM are supported as well.
- All html code is html5 compliant.
- QCubed-4 relies on jQuery for some of its ajax interactions. Also, many of the built-in controls beyond basic html controls require JQuery UI.
- A SQL database engine. MySQL, SqlServer, Postgres, Oracle, PDO, SqlLite, Informix adapters are included. Creating another adapter is not hard if you have a different SQL.

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

[](#installation)

The installation procedure is described in detail here: [Installation instructions](https://github.com/qcubed-4/application/blob/master/INSTALL.md "Installation instructions").

Upgrade Notes
-------------

[](#upgrade-notes)

This version now uses namespacing. See the tools directory for tools to help you convert your current code base to the new names. Specifically, run the following command line script on your codebase, and it will convert about 99% of your code:

```
cd (vendor_dir)/qcubed/application/tools/v4_converter
./run_was.php -R all.regex.php (your source dir)
```

The application framework moving forward will focus on supporting html5 tags in its control library only. There may be some other items in there to provide a way to support common data relationships (like radio and checkbox lists), but for the most part, we would like anything that isn't directly drawing a tag to be in a separate library.

As such, the following files are no longer supported in the core, and are currently dead code. You will find them in the "dead" directory. However, if these old files are important to you, feel free to resurrect them as a plugin. Much of the code is no longer applicable, as better ways to solve the problems have been developed either built-in to PHP or in libraries available in github.

- QDialogBox.class.php (We currently use the JQuery UI dialog, but this may change)
- FileAssetDialog.php
- QArchive.class.php
- QEmailServer.class.php
- QFileAsset.class.php
- QFileAssetBase.class.php
- QImageBase.class.php
- QImageBrowser.class.php
- QImageControl.class.php
- QImageControlBase.class.php
- QImageFileAsset.class.php
- QImageLabel.class.php
- QImageLabelBase.class.php
- QImageRollover.class.php
- QLexer.class.php
- QMimeType.class.php
- QRegex.class.php
- QRssFeed.class.php
- QSoapService.class.php
- QStack.class.php
- QTreeNav.class.php
- QTreeNavItem.class.php
- QWriteBox.class.php

Also, the JQuery UI framework has been put in its own directory to prepare for moving it to a separate library in a later version.

Credits
-------

[](#credits)

QCubed was branched out of QCodo, a project by Michael Ho. QCubed-4v was branched out of QCubed project, which @spekary (Shannon Pekary) has been instrumental in redesigning.

[![Ask DeepWiki](https://camo.githubusercontent.com/0f5ae213ac378635adeb5d7f13cef055ad2f7d9a47b36de7b1c67dbe09f609ca/68747470733a2f2f6465657077696b692e636f6d2f62616467652e737667)](https://deepwiki.com/qcubed-4/application)

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance37

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 59.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.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1850d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f118ebc7b4a8f5223d1faf215226596c05404614b1154c05d774cfb6fe859026?d=identicon)[qcubed-4](/maintainers/qcubed-4)

---

Top Contributors

[![kukrik](https://avatars.githubusercontent.com/u/2853034?v=4)](https://github.com/kukrik "kukrik (67 commits)")[![qcubed-temp](https://avatars.githubusercontent.com/u/83004588?v=4)](https://github.com/qcubed-temp "qcubed-temp (41 commits)")[![koopa](https://avatars.githubusercontent.com/u/195897?v=4)](https://github.com/koopa "koopa (5 commits)")

---

Tags

phpframeworkjquery

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/qcubed-4-application/health.svg)

```
[![Health](https://phpackages.com/badges/qcubed-4-application/health.svg)](https://phpackages.com/packages/qcubed-4-application)
```

###  Alternatives

[phpmv/php-mv-ui

A JQuery and UI library for php and php MVC frameworks

3319.7k3](/packages/phpmv-php-mv-ui)[qcubed/qcubed

QCubed is a PHP framework for rapid web development. Building on top of jQuery, with OOP at its core, QCubed provides a powerful solution for building database-driven Web 2.0 applications.

571.2k1](/packages/qcubed-qcubed)

PHPackages © 2026

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