Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
d2a7c16
- Move all the files
markrandall Jun 16, 2026
27c64c5
Update path in template in createReleaseEntry
markrandall Jun 16, 2026
837468e
add robots.txt
markrandall Jun 16, 2026
44588d6
add htaccess
markrandall Jun 16, 2026
2807856
Repair ChangeLogs that got caught up in find/replace of include_once …
markrandall Jun 16, 2026
aadf1a2
Remove my docker files.
markrandall Jun 16, 2026
ebac5b7
Fix: Updated includes in error.ph
markrandall Jun 16, 2026
f61e909
Fix: Use project, not public root for backend. in manual-lookup.inc
markrandall Jun 16, 2026
f7dd7c4
Fix: Additional relative include changes
markrandall Jun 16, 2026
8dc6659
Fix: Pear include path
markrandall Jun 16, 2026
b3b8fe9
Fix: PHP files inside images/
markrandall Jun 16, 2026
58c84f7
Update readme to require being in public directory
markrandall Jun 16, 2026
413c6fc
Fix: Various href changes that seem to have applied automatically
markrandall Jun 16, 2026
778bc43
Fix: Update paths inside download instructions
markrandall Jun 16, 2026
b0740e9
Fix: Throw on realpath failures on ProjectGlobals (should never happen).
markrandall Jun 16, 2026
e0d6174
Add shared-manuals.inc @ public/include/shared-manuals.inc to maintai…
markrandall Jun 16, 2026
dba6b8f
The script in GH:web-master:scripts/update-backend expects backend/ a…
derickr Jun 18, 2026
10cb352
Bump phpstan level to 7, baseline everything.
markrandall Jun 18, 2026
5b1b2b2
Skip running end-to-end tests that require the booted router.
markrandall Jun 18, 2026
f66fb0a
Make /var optional (later build).
markrandall Jun 18, 2026
f15b047
The backend is currently in public.
markrandall Jun 18, 2026
97eacca
Include missing include in phpstan.neon.dist
markrandall Jun 18, 2026
c87291e
Use ProjectGlobals::getBackendRoot to handle backend/ moving into pub…
markrandall Jun 18, 2026
a416b4d
Add more reliable way of accessing branch / version / release data wi…
markrandall Jun 17, 2026
c0c3b85
Add build / routing / services with a single demo controller.
markrandall Jun 19, 2026
294b220
Class-level route can be skipped having a path.
markrandall Jun 23, 2026
c7f1268
Fix phpstan error loading kernel in error.php
markrandall Jun 23, 2026
ff68f63
Improve build step error reporting by allowing use of reflection in $…
markrandall Jun 23, 2026
18ce7f9
Improve build step error reporting for ServiceLocator.
markrandall Jun 23, 2026
e38d99d
Delete the code coverage checks again.
markrandall Jun 23, 2026
bee855c
Move setting 1G memory limit into executeBuild
markrandall Jun 23, 2026
8e55495
Move development mode check into ProjectGlobals
markrandall Jun 23, 2026
66971da
Update BuildTools::$building
markrandall Jun 23, 2026
d7af5ad
Defend against only using #[Route] on a class method. Will discuss ch…
markrandall Jun 23, 2026
9ed748f
Fix conflicting overwrites when setting route with same path, differe…
markrandall Jun 23, 2026
2c8fd1c
Apply Jordi's suggestion of FILTER_VALIDATE_BOOL in isDevelopmentMode
markrandall Jun 23, 2026
8a80e12
Only do the response prepare immediately before sending.
markrandall Jun 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
99 changes: 51 additions & 48 deletions .github/workflows/integrate.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,50 +9,50 @@ on:
- "master"

jobs:
code-coverage:
name: "Code Coverage"

runs-on: "ubuntu-latest"

strategy:
matrix:
php-version:
- "8.4"

steps:
- name: "Checkout"
uses: "actions/checkout@v6"

- name: "Set up PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "xdebug"
extensions: "none, curl, dom, json, mbstring, tokenizer, xml, xmlwriter, iconv"
php-version: "${{ matrix.php-version }}"

- name: "Set up problem matchers for PHP"
run: "echo \"::add-matcher::${{ runner.tool_cache }}/php.json\""

- name: "Set up problem matchers for phpunit/phpunit"
run: "echo \"::add-matcher::${{ runner.tool_cache }}/phpunit.json\""

- name: "Determine composer cache directory"
run: "echo \"COMPOSER_CACHE_DIR=$(composer config cache-dir)\" >> $GITHUB_ENV"

- name: "Cache dependencies installed with composer"
uses: "actions/cache@v5"
with:
path: "${{ env.COMPOSER_CACHE_DIR }}"
key: "php-${{ matrix.php-version }}-composer-${{ hashFiles('composer.lock') }}"
restore-keys: "php-${{ matrix.php-version }}-composer-"

- name: "Install dependencies with composer"
run: "composer install --ansi --no-interaction --no-progress"

- name: "Collect code coverage from running unit tests with phpunit/phpunit"
env:
XDEBUG_MODE: "coverage"
run: "vendor/bin/phpunit --colors=always --configuration=tests/phpunit.xml --coverage-text --testsuite=unit"
# code-coverage:
# name: "Code Coverage"
#
# runs-on: "ubuntu-latest"
#
# strategy:
# matrix:
# php-version:
# - "8.4"
#
# steps:
# - name: "Checkout"
# uses: "actions/checkout@v6"
#
# - name: "Set up PHP"
# uses: "shivammathur/setup-php@v2"
# with:
# coverage: "xdebug"
# extensions: "none, curl, dom, json, mbstring, tokenizer, xml, xmlwriter, iconv"
# php-version: "${{ matrix.php-version }}"
#
# - name: "Set up problem matchers for PHP"
# run: "echo \"::add-matcher::${{ runner.tool_cache }}/php.json\""
#
# - name: "Set up problem matchers for phpunit/phpunit"
# run: "echo \"::add-matcher::${{ runner.tool_cache }}/phpunit.json\""
#
# - name: "Determine composer cache directory"
# run: "echo \"COMPOSER_CACHE_DIR=$(composer config cache-dir)\" >> $GITHUB_ENV"
#
# - name: "Cache dependencies installed with composer"
# uses: "actions/cache@v5"
# with:
# path: "${{ env.COMPOSER_CACHE_DIR }}"
# key: "php-${{ matrix.php-version }}-composer-${{ hashFiles('composer.lock') }}"
# restore-keys: "php-${{ matrix.php-version }}-composer-"
#
# - name: "Install dependencies with composer"
# run: "composer install --ansi --no-interaction --no-progress"
#
# - name: "Collect code coverage from running unit tests with phpunit/phpunit"
# env:
# XDEBUG_MODE: "coverage"
# run: "vendor/bin/phpunit --colors=always --configuration=tests/phpunit.xml --coverage-text --testsuite=unit"

coding-standards:
name: "Coding Standards"
Expand Down Expand Up @@ -193,11 +193,14 @@ jobs:
- name: "Install dependencies with composer"
run: "composer install --ansi --no-interaction --no-progress"

- name: "Execute build step"
run: "php bin/build.php"

- name: "Run unit tests with phpunit/phpunit"
run: "vendor/bin/phpunit --colors=always --configuration=tests/phpunit.xml --testsuite=unit"

- name: "Start built-in web server for PHP"
run: "php -S ${{ env.HTTP_HOST }} .router.php &"
# - name: "Start built-in web server for PHP"
# run: "php -S ${{ env.HTTP_HOST }} .router.php &"

- name: "Run end-to-end tests with phpunit/phpunit"
run: "vendor/bin/phpunit --colors=always --configuration=tests/phpunit.xml --testsuite=end-to-end"
# - name: "Run end-to-end tests with phpunit/phpunit"
# run: "vendor/bin/phpunit --colors=always --configuration=tests/phpunit.xml --testsuite=end-to-end"
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ git clone https://github.com/php/web-php.git
Change into `web-php`:

```
cd web-php
cd web-php/public
```

Start the built-in web server:
Expand Down
9 changes: 9 additions & 0 deletions bin/build.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?php

use phpweb\Framework\Build\BuildTools;

(PHP_SAPI === 'cli') or die("Please run this script using the cli sapi");

require_once __DIR__ . '/../src/autoload.php';

exit(BuildTools::executeBuild());
13 changes: 8 additions & 5 deletions bin/bumpRelease
Original file line number Diff line number Diff line change
@@ -1,21 +1,24 @@
#!/usr/bin/env php
<?php

use phpweb\Releases\Branches;

(PHP_SAPI === 'cli') or die("Please run this script using the cli sapi");

require_once __DIR__ . "/../include/branches.inc";
require_once __DIR__ . "/../include/version.inc";
require_once __DIR__ . "/../include/releases.inc";
require __DIR__ . '/../include/releases.inc';
require __DIR__ . '/../src/autoload.php';

if ($_SERVER['argc'] < 1) {
fwrite(STDERR, "Usage: {$_SERVER['argv'][0]} major_version [ minor_version ]\n");
exit(1);
}

$RELEASES = Branches::getReleaseData();
$major = (int) $_SERVER['argv'][1];
isset($RELEASES[$major]) or die("Unknown major version $major");
$minor = isset($_SERVER['argv'][2]) ? (int) $_SERVER['argv'][2] : null;

$version = get_current_release_for_branch($major, $minor);
$version = Branches::getCurrentReleaseForBranch($major, $minor);
$info = $RELEASES[$major][$version] ?? null;

if ($info === null) {
Expand All @@ -34,7 +37,7 @@ $OLDRELEASES[$major] = array_merge(
);

file_put_contents(__DIR__ . "/../include/releases.inc", [
"<?php\n\$OLDRELEASES = ",
"<?php\nreturn \$OLDRELEASES = ",
var_export($OLDRELEASES, true),
";\n",
]);
Expand Down
2 changes: 1 addition & 1 deletion bin/createReleaseEntry
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ if (isset($opts['r'])) {
$release = strtr($version, '.', '_') . '.php';
file_put_contents(RELEASES_ABS . $release, "<?php
\$_SERVER['BASE_PAGE'] = 'releases/$release';
include_once __DIR__ . '/../include/prepend.inc';
require_once __DIR__ . '/../../include/prepend.inc';
site_header('PHP $version Release Announcement');
?>
<h1>PHP $version Release Announcement</h1>
Expand Down
11 changes: 9 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,14 @@
"source": "https://github.com/php/web-php"
},
"require": {
"php": "~8.4.0"
"php": "~8.4",
"ext-dom": "*",
"monolog/monolog": "^3.10",
"symfony/config": "^7.4",
"symfony/dependency-injection": "^7.4",
"symfony/http-foundation": "^7.4",
"symfony/http-kernel": "^7.4",
"symfony/routing": "^7.4"
},
"require-dev": {
"ext-curl": "*",
Expand All @@ -30,7 +37,7 @@
},
"config": {
"platform": {
"php": "8.4.0"
"php": "8.4.1"
},
"sort-packages": true,
"allow-plugins": {
Expand Down
Loading
Loading