Greg Bowler edited this page Sep 7, 2016 · 50 revisions

PHP.Gt logo

Welcome to the PHP.Gt webengine — a lightweight PHP 7 application development toolkit aimed at streamlining development and respecting web technologies.

PHP 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.

What makes this project different?

The core concept is that every component within your application should be developed within its own context, usually within its own file on disk, so that the webengine can automatically hook everything up and make the magic happen. There is a strong separation of concerns promoted throughout the webengine and within applications built upon it.

Separate areas of concern:

  • Page View - the representation of a page or template, in HTML (or an HTML preprocessor).
  • Page Logic - the business logic that makes Views dynamic, in PHP.
  • Database - the database queries, views or procedures, in SQL (or PHP query builder).
  • Webservice View and Logic - the same concept of Page View and Page Logic, but for building webservice requests rather than pages, in JSON and PHP.
  • Class - the separate areas of functionality that build up your application's core logic, in PHP.
  • Client side files - the source code for pages' JavaScript and CSS (or preprocessors).

This approach means that as a developer, all you need to know is where to put the files. The webengine automates areas of development that are typically repetitive or longwinded, such as preprocessing client side files, creating dynamic URLs, or executing and processing prepared statements in the database.

Each area of concern is connected by the webengine for easy access by the developer. For example, the PHP Page Logic code has context of the relevant HTML Page View via the DOM. SQL queries can be called and variables injected from the Page Logic code thanks to the database wrapper.

Getting started.

If you're new to here, read the quick start guide first, and work through the beginner tutorials (Hello, World! and Hello, You!) to get the best introduction to the toolkit.

The core concepts to know are detailed in "The Book", starting with a journey through code from request to response.

Finally, all classes in the core source code are automatically documented using PHPDoc in the Class Reference.

Help & Support.

Use Stack Overflow to get help with technical issues. Tag your question with php.gt, and a developer will answer as quick as possible.

Join the PHP.Gt developer's community on Google+ to keep up to date with news and share your creations.

Report bugs on the Github issue tracker.