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.
- Simple routing: A page's view in
page.html
has optional logic separated withinpage.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
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.
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.
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.
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.
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.
If you are new to WebEngine development, check out the Quick Start guide in the documentation, or jump straight into the tutorials.
If you are looking to contribute to WebEngine itself, please read the Contribution guidelines document.
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.
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.