Rapid development engine.

Fund package maintenance!

v4.0.6 2022-04-29 11:36 UTC


PHP.Gt logo

Welcome to PHP.Gt webengine — an application development toolkit aimed at streamlining development and respecting web technologies.

Web frameworks offer many features, but often come with steep learning curves or imposing rules. The motivation behind this project is the belief that what a framework can offer can be achieved by eliminating code rather than adding more.

Head over to the Github Wiki for documentation.

PHP.Gt build status PHP.Gt code coverage PHP.Gt code quality PHP.Gt Composer version PHP.Gt download stats PHP.Gt Website

Features at a glance

  • Simple routing: A page's view in page.html has optional logic separated within page.php
  • Pages made dynamic via server-side DOM Document access
  • HTML templates
  • Database organisation
  • Create web pages or web services (APIs) with the same code
  • Inbuilt client side script building (SCSS, ES6, etc.)
  • Web security as standard
  • Strong separation of concerns over PHP, HTML, SQL, JavaScript, CSS
  • Preconfigured PHPUnit and Behat test environment
  • Workflow tools to quickly create, integrate and deploy projects

Essential concepts

Static first

To increase development speed and lower the barrier to getting an idea prototyped, the technique of developing a static prototype first is promoted, dropping in logic when and where necessary to turn prototypes into fully functional production code with as few steps as possible.

Build using tech you already know

The main idea is to provide a platform where you can get as much done, using standard tech you've already learnt. Technologies that make up the world wide web, such as HTML and HTTP, are respected and enhanced by bringing useful tools and techniques to you, the developer.

Drop in tools without any fuss

There are a lot of useful tools included as standard, such as SCSS parsing, HTML templating and CSRF handling, but the highly modularised architecture keeps compatibility high. Packages from Packagist can be installed and loaded with zero configuration.

Develop locally or virtually

Preconfigured scripts are available to automatically set up local servers or virtualisation environments to get you going as quickly as possible, without having to change existing computer configuration.

Community of blueprints

To get projects going with full momentum, blueprint projects are available to base your projects off. Blueprints come with just enough level of design and functionality to get a prototype out the door as quickly as possible, without prescribing anything.

Getting started

Getting started developing WebEngine applications

If you are new to WebEngine development, check out the Quick Start guide in the documentation, or jump straight into the tutorials.

Getting started contributing to WebEngine

If you are looking to contribute to WebEngine itself, please read the Contribution guidelines document.

How to get help

Submit an issue

The Github issue tracker is used to submit bug reports, feature requests or certain types of technical support requests. If you think something is not working correctly, or the documentation doesn't cover your issue, feel free to open a new issue, describing what you have tried, what you expect, and what went wrong.

Ask on Stack Overflow

If you have more of a "How do I do X in WebEngine?" question, it is preferred to ask this publically on Stack Overflow. If you tag your question with phpgt-webengine, or the area of PHP.Gt that the question referrs to, a WebEngine contributor will answer your question as soon as possible.