Skip to content

Application architecture

Greg Bowler edited this page Mar 28, 2018 · 38 revisions

The most minimal PHP.Gt WebEngine application consists of the following source files:

.                     
├── composer.json     
└── src               
    └── page          
        └── index.html

For context, a large application with many source files may look something like this:

.
├── data
├── src
│   ├── asset
│   │   ├── logo.svg
│   │   └── pattern.png
│   ├── class
│   │   ├── Input
│   │   │   ├── Captcha.php
│   │   │   ├── Search.php
│   │   │   └── Validation.php
│   │   ├── Model
│   │   │   ├── Category.php
│   │   │   ├── Item.php
│   │   │   ├── OutOfStockException.php
│   │   │   └── SpecialOffer.php
│   │   ├── Payment
│   │   │   ├── AbstractPayment.php
│   │   │   ├── CreditDebitPayment.php
│   │   │   └── PayPalPayment.php
│   │   └── UI
│   │       ├── Error.php
│   │       ├── Formatter.php
│   │       └── Message.php
│   ├── page
│   │   ├── checkout
│   │   │   ├── index.html
│   │   │   ├── index.php
│   │   │   ├── payment.html
│   │   │   └── payment.php
│   │   ├── shop
│   │   │   ├── category
│   │   │   │   ├── _common.php
│   │   │   │   └── _dynamic.html
│   │   │   ├── categories.html
│   │   │   ├── categories.php
│   │   │   ├── index.html
│   │   │   ├── index.php
│   │   │   ├── item.html
│   │   │   └── item.php
│   │   ├── _template
│   │   │   ├── cart-popup.html
│   │   │   ├── category-item.html
│   │   │   ├── checkout-listing.html
│   │   │   ├── out-of-stock.html
│   │   │   ├── payment-form.html
│   │   │   └── shop-item.html
│   │   ├── about.html
│   │   ├── _common.php
│   │   ├── contact.html
│   │   ├── contact.php
│   │   ├── _footer.html
│   │   ├── _header.html
│   │   ├── index.html
│   │   ├── index.php
│   │   └── terms.html
│   ├── query
│   │   ├── _migration
│   │   │   ├── 001.sql
│   │   │   ├── 002.sql
│   │   │   ├── 003.sql
│   │   │   ├── 004.sql
│   │   │   └── 005.sql
│   │   └── shop
│   │       ├── category
│   │       │   └── getAll.sql
│   │       └── item
│   │           ├── completePurchase.sql
│   │           ├── getById.sql
│   │           ├── getInCategory.sql
│   │           └── startPurchase.sql
│   ├── script
│   │   ├── Ajax
│   │   │   ├── Updater.js
│   │   │   └── UrlHistory.js
│   │   ├── Input
│   │   │   ├── Dirty.js
│   │   │   ├── Message.js
│   │   │   └── Validate.js
│   │   └── main.js
│   └── style
│       ├── animation
│       │   ├── flash.scss
│       │   └── popup.scss
│       ├── base
│       │   ├── form.scss
│       │   ├── normalise.scss
│       │   ├── typography.scss
│       │   └── variables.scss
│       ├── component
│       │   ├── cart-popup.scss
│       │   ├── category-item.scss
│       │   ├── checkout-listing.scss
│       │   ├── out-of-stock.scss
│       │   ├── payment-form.scss
│       │   └── shop-item.scss
│       ├── page
│       │   └── checkout.scss
│       └── main.scss
├── build.json
├── composer.json
└── config.ini
Clone this wiki locally