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:

.
├── build.json
├── composer.json
├── config.ini
├── 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
    │   ├── about.html
    │   ├── checkout
    │   │   ├── index.html
    │   │   ├── index.php
    │   │   ├── payment.html
    │   │   └── payment.php
    │   ├── _common.php
    │   ├── contact.html
    │   ├── contact.php
    │   ├── _footer.html
    │   ├── _header.html
    │   ├── index.html
    │   ├── index.php
    │   ├── shop
    │   │   ├── categories.html
    │   │   ├── categories.php
    │   │   ├── category
    │   │   │   ├── _common.php
    │   │   │   └── _dynamic.html
    │   │   ├── 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
    │   └── 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
        ├── main.scss
        └── page
            └── checkout.scss
Clone this wiki locally