Qcodo Explained

Qcodo
Author:Mike Ho, Quasidea Development
Developer:Qcodo Community
Discontinued:no
Latest Release Version:0.6.0
Latest Release Date:[1]
Operating System:Cross-platform
Programming Language:PHP, SQL
Genre:Web application framework
License:MIT License

Qcodo is an open-source PHP web application framework which builds an object-relational model (ORM),[2] CRUD (create, retrieve, update, delete)[3] UI pages, and AJAX hooks from an existing data model. It additionally includes a tightly integrated HTML and JavaScript form toolkit which interfaces directly with the generated entities. It is a robust, comprehensive framework which can be utilized by small and large Web applications alike.

Structure

The framework consists of three main components: a code generator, QForms[2] (OOP generated stateful Ajax- or server-processed webform), QQuery (OOP based SQL query builder) -- all of which can be used independently of each other. The code generator parses an existing relational database structure, and builds an object-relational mapping (ORM), as well as several remote interfaces (SOAP, AJAX) to the ORM. The ORM in Qcodo can be extended to provide user-maintained functionality (via object subclassing). QForms is an ASP.NET-inspired templating engine in which each form element is an object exposing its functionality and state via methods and attributes.

QForms maintain page as well as form state, and include the ability to validate fields, trigger events, and associate AJAX calls. QForms bind tightly to the ORM, allowing developers to rapidly and iteratively change any of three components in the model–view–controller (MVC) architecture with little impact to the other components.

The Qcodo Package Manager (QPM) was introduced starting with Qcodo v0.4.0 to allow community members a much more streamlined and efficient way to post and share modules, enhancements and fixes of the Qcodo development framework with each other. The Qcodo.com website can be used to view user-submitted QPM packages that community members have contributed at the QPM Section of the website.

Qcodo was conceived and developed by Mike Ho, and his company Quasidea Development acts as the central maintainer with dozens of contributors from the Qcodo Community that provide new features and releases via the Qcodo website.

The website, itself, is written in Qcodo and custom developed for the community, including suite of tools like online forums, bug/issue tracking, online showcase and QPM management. It is integrated with GitHub to manage releases of the Qcodo Framework itself. The code for Qcodo.com is also open sourced and available at GitHub as well.

Uses

The framework is mature and has been deployed in many production environments in everything from highly trafficked social networks to large Fortune 500 and government organizations, including:

Notes and References

  1. https://packagist.org/packages/qcodo/qcodo Qcodo PHP Development Framework
  2. Book: Porębski . Bartosz . Przystalski . Karol . Nowak . Leszek . Building PHP applications with Symfony, CakePHP, and Zend framework . 2011 . Wiley Pub . Indianapolis, Ind. . 9781118067925 . 64 . 6 May 2022.
  3. Web site: Grehan . Rick . Fabulous PHP frameworks: Qcodo, Lithium, Seagull, and Yii . . . 6 May 2022 . 26 Jan 2011.
  4. Levri, J.A.; Deng, B.; Welch, J.; Ho, M.C.; Hogan, J.A. (2009) "Online Project Information System (OPIS) Description, Annual Reporting Outcomes, and Resulting Improvements" 39th International Conference on Environmental Systems, SAE 2009-01-2513.