Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
e82e017
wip: improve throwable logging and remove unused error handling methods
g105b Oct 17, 2025
50f5971
wip: fully test redirection functionality
g105b Oct 17, 2025
33c5090
ci: enable phpunit
g105b Oct 17, 2025
ad06b8e
build: upgrade dependencies
g105b Oct 17, 2025
c5a3c36
ci: ignore platform requirements
g105b Oct 17, 2025
263f007
tweak: custom glob to avoid glob_brace error
g105b Oct 17, 2025
441e23f
wip: write todo for next plan of attack
g105b Oct 17, 2025
f3fd611
test: unit test the debug timer
g105b Oct 18, 2025
1b668f5
test: gracefully handle warnings on broken regexes
g105b Oct 18, 2025
ac40b43
feature: outputbuffer stores all output content ready for displaying …
g105b Oct 18, 2025
78fe757
tidy: move to GT namespace
g105b Oct 18, 2025
525ecad
test: run quality tests
g105b Oct 18, 2025
927c28e
refactor: Gt->GT compatibility
g105b Oct 18, 2025
849f6e3
refactor: Gt->GT compatibility
g105b Oct 18, 2025
3bf9973
ci: enable all tests
g105b Oct 18, 2025
18ff78e
docs: type hints
g105b Oct 18, 2025
a292f9a
wip: plan v5 dispatch flow
g105b Oct 19, 2025
776c9bd
wip: dispatcher parity with v4
g105b Oct 19, 2025
a6c42f0
tidy: refactor extracted Dispatcher functions
g105b Oct 19, 2025
0d07afe
wip: jsonview
g105b Oct 19, 2025
5c1de8a
wip: revert Gt until functional parity with v4
g105b Oct 20, 2025
22b0390
wip: fix session cookie access
g105b Oct 21, 2025
91b7fca
wip: refactor - working on $viewREADYTHING
g105b Oct 21, 2025
95dc63a
wip: ignore test cache
g105b Oct 21, 2025
d3c4435
Merge branch 'new-v5--refactor' of github.com:PhpGt/WebEngine into ne…
g105b Oct 22, 2025
b3ccb7c
tweak: ignore phpunit cache files
g105b Oct 22, 2025
2024ff8
tweak: fix order of domtemplate initialisation
g105b Oct 22, 2025
e47c606
tweak: ensure only one DocumentBinder instance
g105b Oct 22, 2025
3416a15
test: redirection tests
g105b Oct 22, 2025
212f6ff
test: view tests
g105b Oct 22, 2025
28dee6a
test: view tests
g105b Oct 22, 2025
68838fb
wip: non-static protected globals
g105b Oct 24, 2025
b40ad1d
test: path normaliser
g105b Oct 24, 2025
e5be7aa
test: router factory
g105b Oct 24, 2025
951a23d
feature: handle errors with custom pages
g105b Oct 24, 2025
b080898
test: update phpunit tests post-refactor
g105b Oct 26, 2025
916cdb5
test: init namespace tests
g105b Oct 31, 2025
6203af1
test: service namespace tests
g105b Oct 31, 2025
b521613
test: logic namespace tests
g105b Oct 31, 2025
4e9d84f
test: debug namespace tests
g105b Nov 1, 2025
ac9a229
test: dispatch namespace tests (not dispatcher)
g105b Nov 1, 2025
39ee08a
tweak: output basic 404 without stack trace
g105b Nov 1, 2025
2444cbc
build: bump deps
g105b Dec 11, 2025
3240654
tweak: default cookie sessions
g105b Jan 8, 2026
c78f373
fix: allow optional view/logic files to determine 404
g105b Jan 20, 2026
b25d3f8
build: bump dependencies
g105b Mar 3, 2026
3991392
tweak: commit minor changes
g105b Mar 5, 2026
2540733
Merge remote-tracking branch 'origin/new-v5--refactor' into new-v5--r…
g105b Mar 5, 2026
190c703
tidy: remove all warnings from unit tests
g105b Mar 9, 2026
8f096ac
build: upgrade service container for case insensitivity
g105b Mar 9, 2026
34e3469
tidy: error page rendering
g105b Mar 9, 2026
339ffb7
feature: output errors to correct STDERR stream
g105b Mar 9, 2026
16eb309
Merge branch 'new-v5--refactor' of github.com:PhpGt/WebEngine into ne…
g105b Mar 9, 2026
0d15b3b
feature: configure logging of static files and 404 errors
g105b Mar 9, 2026
47f0e65
Merge branch 'new-v5--refactor' of github.com:PhpGt/WebEngine into ne…
g105b Mar 10, 2026
a52a73e
Merge branch 'master' of github.com:PhpGt/WebEngine into new-v5--refa…
g105b Mar 10, 2026
95296a9
build: bump dependencies
g105b Mar 10, 2026
4454b66
tweak: copy _www directory to root public dir
g105b Mar 10, 2026
8aee57a
ci: upgrade ci runner
g105b Mar 12, 2026
a947265
tweak: deep copy of static files
g105b Mar 15, 2026
33a4210
Merge remote-tracking branch 'origin/new-v5--refactor' into new-v5--r…
g105b Mar 15, 2026
8b49ff2
feature: custom error script
pixeldrift64 Mar 16, 2026
6f28009
wip: test
pixeldrift64 Mar 16, 2026
9c39889
tweak: type safe config mocking
g105b Mar 16, 2026
4110614
wip: test file
pixeldrift64 Mar 16, 2026
f77877f
feature: custom error script (#663)
pixeldrift64 Mar 16, 2026
4b70a48
Merge branch 'new-v5--refactor' of github.com:PhpGt/WebEngine into ne…
g105b Mar 16, 2026
a623cb6
tweak: remove _www functionality
g105b Mar 17, 2026
59909d1
Merge branch 'master' of github.com:PhpGt/WebEngine into new-v5--refa…
g105b Mar 17, 2026
3677a69
build: dependencies
g105b Mar 17, 2026
215b07a
test: run SessionInitTest in shared process (global state)
g105b Mar 17, 2026
8da114a
test: Dispatcher coverage
g105b Mar 17, 2026
a04b4ce
test: Service coverage
g105b Mar 17, 2026
f436aa1
tweak: remove pointless tests
g105b Mar 17, 2026
9d371d5
test: extract custom classes
g105b Mar 17, 2026
a24d281
test: Application class tests
g105b Mar 17, 2026
a0d6ab7
test: Test logic executor and surrounding functionality
g105b Mar 17, 2026
26d8475
feature: non-html views
g105b Mar 17, 2026
68d2990
feature: non-html views
g105b Mar 17, 2026
a2c2137
feature: non-html views
g105b Mar 17, 2026
3aaad53
maintenance: static analysis improvements
g105b Mar 17, 2026
6039bf0
maintenance: phpmd/phpcs
g105b Mar 17, 2026
1785b35
Merge branch 'new-v5--refactor' of github.com:PhpGt/WebEngine into ne…
g105b Mar 17, 2026
63ac72a
ci: codacy config
g105b Mar 17, 2026
e214b82
ci: update workflow
g105b Mar 17, 2026
c0a0174
chore: Gt -> GT
g105b Mar 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .codacy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
exclude_paths:
- ".github/**"
- "example/**"
- "test/**"
- "go.php"
280 changes: 148 additions & 132 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,25 @@
name: CI

on: [push]
on:
push:
pull_request:

permissions:
contents: read
actions: read

jobs:
composer:
runs-on: ubuntu-latest
strategy:
matrix:
php: [ 8.3, 8.4 ]
php: [ 8.4, 8.5 ]

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Cache Composer dependencies
uses: actions/cache@v3
uses: actions/cache@v5
with:
path: /tmp/composer-cache
key: ${{ runner.os }}-${{ matrix.php }}-${{ hashFiles('**/composer.lock') }}
Expand All @@ -22,139 +28,149 @@ jobs:
uses: php-actions/composer@v6
with:
php_version: ${{ matrix.php }}
php_extensions: pcntl

- name: Archive build
run: mkdir /tmp/github-actions/ && tar -cvf /tmp/github-actions/build.tar ./
run: mkdir /tmp/github-actions/ && tar --exclude=".git" -cvf /tmp/github-actions/build.tar ./

- name: Upload build archive for test runners
uses: actions/upload-artifact@v4
with:
name: build-artifact-${{ matrix.php }}
path: /tmp/github-actions
#
# phpunit:
# runs-on: ubuntu-latest
# needs: [ composer ]
# strategy:
# matrix:
# php: [ 8.1, 8.2, 8.3 ]
#
# outputs:
# coverage: ${{ steps.store-coverage.outputs.coverage_text }}
#
# steps:
# - uses: actions/download-artifact@v4
# with:
# name: build-artifact-${{ matrix.php }}
# path: /tmp/github-actions
#
# - name: Extract build archive
# run: tar -xvf /tmp/github-actions/build.tar ./
#
# - name: PHP Unit tests
# uses: php-actions/phpunit@v3
# env:
# XDEBUG_MODE: cover
# with:
# version: 10
# php_version: ${{ matrix.php }}
# php_extensions: xdebug
# coverage_text: _coverage/coverage.txt
# coverage_clover: _coverage/clover.xml
#
# - name: Store coverage data
# uses: actions/upload-artifact@v4
# with:
# name: code-coverage-${{ matrix.php }}-${{ github.run_number }}
# path: _coverage
#
# coverage:
# runs-on: ubuntu-latest
# needs: [ phpunit ]
# strategy:
# matrix:
# php: [ 8.1, 8.2, 8.3 ]
#
# steps:
# - uses: actions/download-artifact@v4
# with:
# name: code-coverage-${{ matrix.php }}-${{ github.run_number }}
# path: _coverage
#
# - name: Output coverage
# run: cat "_coverage/coverage.txt"
#
# - name: Upload to Codecov
# uses: codecov/codecov-action@v4
# with:
# token: ${{ secrets.CODECOV_TOKEN }}
#
# phpstan:
# runs-on: ubuntu-latest
# needs: [ composer ]
# strategy:
# matrix:
# php: [ 8.1, 8.2, 8.3 ]
#
# steps:
# - uses: actions/download-artifact@v4
# with:
# name: build-artifact-${{ matrix.php }}
# path: /tmp/github-actions
#
# - name: Extract build archive
# run: tar -xvf /tmp/github-actions/build.tar ./
#
# - name: PHP Static Analysis
# uses: php-actions/phpstan@v3
# with:
# php_version: ${{ matrix.php }}
# path: src/
# level: 6
#
# phpmd:
# runs-on: ubuntu-latest
# needs: [ composer ]
# strategy:
# matrix:
# php: [ 8.1, 8.2, 8.3 ]
#
# steps:
# - uses: actions/download-artifact@v4
# with:
# name: build-artifact-${{ matrix.php }}
# path: /tmp/github-actions
#
# - name: Extract build archive
# run: tar -xvf /tmp/github-actions/build.tar ./
#
# - name: PHP Mess Detector
# uses: php-actions/phpmd@v1
# with:
# php_version: ${{ matrix.php }}
# path: src/
# output: text
# ruleset: phpmd.xml
#
# phpcs:
# runs-on: ubuntu-latest
# needs: [ composer ]
# strategy:
# matrix:
# php: [ 8.1, 8.2, 8.3 ]
#
# steps:
# - uses: actions/download-artifact@v4
# with:
# name: build-artifact-${{ matrix.php }}
# path: /tmp/github-actions
#
# - name: Extract build archive
# run: tar -xvf /tmp/github-actions/build.tar ./
#
# - name: PHP Code Sniffer
# uses: php-actions/phpcs@v1
# with:
# php_version: ${{ matrix.php }}
# path: src/
# standard: phpcs.xml
retention-days: 1

phpunit:
runs-on: ubuntu-latest
needs: [ composer ]
strategy:
matrix:
php: [ 8.4, 8.5 ]

outputs:
coverage: ${{ steps.store-coverage.outputs.coverage_text }}

steps:
- uses: actions/download-artifact@v4
with:
name: build-artifact-${{ matrix.php }}
path: /tmp/github-actions

- name: Extract build archive
run: tar -xvf /tmp/github-actions/build.tar ./

- name: PHP Unit tests
uses: php-actions/phpunit@v4
env:
XDEBUG_MODE: cover
with:
php_version: ${{ matrix.php }}
php_extensions: xdebug
coverage_text: _coverage/coverage.txt
coverage_clover: _coverage/clover.xml

- name: Store coverage data
uses: actions/upload-artifact@v4
with:
name: code-coverage-${{ matrix.php }}-${{ github.run_number }}
path: _coverage

coverage:
runs-on: ubuntu-latest
needs: [ phpunit ]
strategy:
matrix:
php: [ 8.4, 8.5 ]

steps:
- uses: actions/checkout@v4

- uses: actions/download-artifact@v4
with:
name: code-coverage-${{ matrix.php }}-${{ github.run_number }}
path: _coverage

- name: Output coverage
run: cat "_coverage/coverage.txt"

- name: Upload to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}

phpstan:
runs-on: ubuntu-latest
needs: [ composer ]
strategy:
matrix:
php: [ 8.4, 8.5 ]

steps:
- uses: actions/download-artifact@v4
with:
name: build-artifact-${{ matrix.php }}
path: /tmp/github-actions

- name: Extract build archive
run: tar -xvf /tmp/github-actions/build.tar ./

- name: PHP Static Analysis
uses: php-actions/phpstan@v3
with:
php_version: ${{ matrix.php }}
path: src/
level: 6
memory_limit: 256M

phpmd:
runs-on: ubuntu-latest
needs: [ composer ]
strategy:
matrix:
php: [ 8.4, 8.5 ]

steps:
- uses: actions/download-artifact@v4
with:
name: build-artifact-${{ matrix.php }}
path: /tmp/github-actions

- name: Extract build archive
run: tar -xvf /tmp/github-actions/build.tar ./

- name: PHP Mess Detector
uses: php-actions/phpmd@v1
with:
php_version: ${{ matrix.php }}
path: src/
output: text
ruleset: phpmd.xml

phpcs:
runs-on: ubuntu-latest
needs: [ composer ]
strategy:
matrix:
php: [ 8.4, 8.5 ]

steps:
- uses: actions/download-artifact@v4
with:
name: build-artifact-${{ matrix.php }}
path: /tmp/github-actions

- name: Extract build archive
run: tar -xvf /tmp/github-actions/build.tar ./

- name: PHP Code Sniffer
uses: php-actions/phpcs@v1
with:
php_version: ${{ matrix.php }}
path: src/
standard: phpcs.xml

remove_old_artifacts:
runs-on: ubuntu-latest

permissions:
actions: write
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/.idea
/vendor
/test/behaviour/project/*/vendor
/test/unit/_coverage
/test/phpunit/.phpunit.cache
.phpunit*.cache
4 changes: 0 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,10 +85,6 @@ The [Github issue tracker][issues] is used to submit bug reports, feature reques

It would be helpful if you could create your issue in the appropriate repository - for instance, if the issue/question is regarding using a database in WebEngine, https://github.com/phpgt/Database/issues would be the best place - but it's fine to create the issue on WebEngine's issue tracker, and someone can then move the issue if necessary.

### Chat to a developer

A hands-on dev chat system is currently being planned

[quick-start]: https://github.com/PhpGt/WebEngine/wiki/Quick-start
[tutorials]: https://github.com/PhpGt/WebEngine/wiki/hello-world-tutorial
[contributing]: https://github.com/PhpGt/WebEngine/blob/master/CONTRIBUTING.md
Expand Down
4 changes: 2 additions & 2 deletions build.default.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
},
"execute": {
"command": "vendor/bin/sync",
"arguments": ["--pattern", "*.js", "script", "www/script"]
"arguments": ["--pattern", "**/*.js", "script", "www/script"]
}
},

Expand All @@ -35,7 +35,7 @@
},
"execute": {
"command": "vendor/bin/sync",
"arguments": ["--pattern", "*.css", "style", "www/style"]
"arguments": ["--pattern", "**/*.css", "style", "www/style"]
}
},

Expand Down
Loading
Loading