From 976339f8983d55b7658a785198192e3f9bfd700a Mon Sep 17 00:00:00 2001 From: Matt Stauffer Date: Mon, 26 Dec 2022 09:47:58 -0500 Subject: [PATCH] Support isolated sites running PHP 7.4 --- cli/Valet/Brew.php | 1 + cli/Valet/Drivers/BasicValetDriver.php | 2 +- cli/Valet/Drivers/BasicWithPublicValetDriver.php | 2 +- cli/Valet/Drivers/LaravelValetDriver.php | 2 +- cli/Valet/Drivers/Specific/BedrockValetDriver.php | 2 +- cli/Valet/Drivers/Specific/CakeValetDriver.php | 2 +- cli/Valet/Drivers/Specific/Concrete5ValetDriver.php | 2 +- cli/Valet/Drivers/Specific/ContaoValetDriver.php | 2 +- cli/Valet/Drivers/Specific/CraftValetDriver.php | 2 +- cli/Valet/Drivers/Specific/DrupalValetDriver.php | 2 +- cli/Valet/Drivers/Specific/KirbyValetDriver.php | 2 +- cli/Valet/Drivers/Specific/Magento2ValetDriver.php | 2 +- cli/Valet/Drivers/Specific/NeosValetDriver.php | 2 +- cli/Valet/Drivers/Specific/StatamicV1ValetDriver.php | 2 +- cli/Valet/Drivers/Specific/StatamicValetDriver.php | 2 +- cli/Valet/Drivers/Specific/SymfonyValetDriver.php | 2 +- cli/Valet/Drivers/Specific/Typo3ValetDriver.php | 2 +- cli/Valet/Drivers/ValetDriver.php | 4 +++- cli/Valet/Server.php | 6 +++++- cli/stubs/SampleValetDriver.php | 2 +- 20 files changed, 26 insertions(+), 19 deletions(-) diff --git a/cli/Valet/Brew.php b/cli/Valet/Brew.php index 71fbab3..201ab8c 100644 --- a/cli/Valet/Brew.php +++ b/cli/Valet/Brew.php @@ -13,6 +13,7 @@ class Brew 'php@8.2', 'php@8.1', 'php@8.0', + 'php@7.4', ]; const BREW_DISABLE_AUTO_CLEANUP = 'HOMEBREW_NO_INSTALL_CLEANUP=1'; const LATEST_PHP_VERSION = 'php@8.2'; diff --git a/cli/Valet/Drivers/BasicValetDriver.php b/cli/Valet/Drivers/BasicValetDriver.php index c0f718c..a5cf74c 100644 --- a/cli/Valet/Drivers/BasicValetDriver.php +++ b/cli/Valet/Drivers/BasicValetDriver.php @@ -40,7 +40,7 @@ public function beforeLoading(string $sitePath, string $siteName, string $uri): * @param string $uri * @return string|false */ - public function isStaticFile(string $sitePath, string $siteName, string $uri): string|false + public function isStaticFile(string $sitePath, string $siteName, string $uri) { if (file_exists($staticFilePath = $sitePath.rtrim($uri, '/').'/index.html')) { return $staticFilePath; diff --git a/cli/Valet/Drivers/BasicWithPublicValetDriver.php b/cli/Valet/Drivers/BasicWithPublicValetDriver.php index 1290b35..87aae52 100644 --- a/cli/Valet/Drivers/BasicWithPublicValetDriver.php +++ b/cli/Valet/Drivers/BasicWithPublicValetDriver.php @@ -25,7 +25,7 @@ public function serves(string $sitePath, string $siteName, string $uri): bool * @param string $uri * @return string|false */ - public function isStaticFile(string $sitePath, string $siteName, string $uri): string|false + public function isStaticFile(string $sitePath, string $siteName, string $uri) { $publicPath = $sitePath.'/public/'.trim($uri, '/'); diff --git a/cli/Valet/Drivers/LaravelValetDriver.php b/cli/Valet/Drivers/LaravelValetDriver.php index 669b0e2..fc98c5b 100644 --- a/cli/Valet/Drivers/LaravelValetDriver.php +++ b/cli/Valet/Drivers/LaravelValetDriver.php @@ -42,7 +42,7 @@ public function beforeLoading(string $sitePath, string $siteName, string $uri): * @param string $uri * @return string|false */ - public function isStaticFile(string $sitePath, string $siteName, string $uri): string|false + public function isStaticFile(string $sitePath, string $siteName, string $uri) { if (file_exists($staticFilePath = $sitePath.'/public'.$uri) && is_file($staticFilePath)) { diff --git a/cli/Valet/Drivers/Specific/BedrockValetDriver.php b/cli/Valet/Drivers/Specific/BedrockValetDriver.php index 3f8c49e..7358260 100644 --- a/cli/Valet/Drivers/Specific/BedrockValetDriver.php +++ b/cli/Valet/Drivers/Specific/BedrockValetDriver.php @@ -45,7 +45,7 @@ public function beforeLoading(string $sitePath, string $siteName, string $uri): * @param string $uri * @return string|false */ - public function isStaticFile(string $sitePath, string $siteName, string $uri): string|false + public function isStaticFile(string $sitePath, string $siteName, string $uri) { $staticFilePath = $sitePath.'/web'.$uri; diff --git a/cli/Valet/Drivers/Specific/CakeValetDriver.php b/cli/Valet/Drivers/Specific/CakeValetDriver.php index 643f92d..950d5c5 100644 --- a/cli/Valet/Drivers/Specific/CakeValetDriver.php +++ b/cli/Valet/Drivers/Specific/CakeValetDriver.php @@ -27,7 +27,7 @@ public function serves(string $sitePath, string $siteName, string $uri): bool * @param string $uri * @return string|false */ - public function isStaticFile(string $sitePath, string $siteName, string $uri): string|false + public function isStaticFile(string $sitePath, string $siteName, string $uri) { if ($this->isActualFile($staticFilePath = $sitePath.'/webroot/'.$uri)) { return $staticFilePath; diff --git a/cli/Valet/Drivers/Specific/Concrete5ValetDriver.php b/cli/Valet/Drivers/Specific/Concrete5ValetDriver.php index 09acedf..ba301b4 100644 --- a/cli/Valet/Drivers/Specific/Concrete5ValetDriver.php +++ b/cli/Valet/Drivers/Specific/Concrete5ValetDriver.php @@ -27,7 +27,7 @@ public function serves(string $sitePath, string $siteName, string $uri): bool * @param string $uri * @return string|false */ - public function isStaticFile(string $sitePath, string $siteName, string $uri): string|false + public function isStaticFile(string $sitePath, string $siteName, string $uri) { if (stripos($uri, '/application/files') === 0) { return $sitePath.$uri; diff --git a/cli/Valet/Drivers/Specific/ContaoValetDriver.php b/cli/Valet/Drivers/Specific/ContaoValetDriver.php index 9b9d4fe..6fc8c76 100644 --- a/cli/Valet/Drivers/Specific/ContaoValetDriver.php +++ b/cli/Valet/Drivers/Specific/ContaoValetDriver.php @@ -27,7 +27,7 @@ public function serves(string $sitePath, string $siteName, string $uri): bool * @param string $uri * @return string|false */ - public function isStaticFile(string $sitePath, string $siteName, string $uri): string|false + public function isStaticFile(string $sitePath, string $siteName, string $uri) { if ($this->isActualFile($staticFilePath = $sitePath.'/web'.$uri)) { return $staticFilePath; diff --git a/cli/Valet/Drivers/Specific/CraftValetDriver.php b/cli/Valet/Drivers/Specific/CraftValetDriver.php index 6ba0ef8..67c1561 100644 --- a/cli/Valet/Drivers/Specific/CraftValetDriver.php +++ b/cli/Valet/Drivers/Specific/CraftValetDriver.php @@ -47,7 +47,7 @@ public function frontControllerDirectory($sitePath) * @param string $uri * @return string|false */ - public function isStaticFile(string $sitePath, string $siteName, string $uri): string|false + public function isStaticFile(string $sitePath, string $siteName, string $uri) { $frontControllerDirectory = $this->frontControllerDirectory($sitePath); diff --git a/cli/Valet/Drivers/Specific/DrupalValetDriver.php b/cli/Valet/Drivers/Specific/DrupalValetDriver.php index 8b5606e..af47f80 100644 --- a/cli/Valet/Drivers/Specific/DrupalValetDriver.php +++ b/cli/Valet/Drivers/Specific/DrupalValetDriver.php @@ -38,7 +38,7 @@ public function serves(string $sitePath, string $siteName, string $uri): bool * @param string $uri * @return string|false */ - public function isStaticFile(string $sitePath, string $siteName, string $uri): string|false + public function isStaticFile(string $sitePath, string $siteName, string $uri) { $sitePath = $this->addSubdirectory($sitePath); diff --git a/cli/Valet/Drivers/Specific/KirbyValetDriver.php b/cli/Valet/Drivers/Specific/KirbyValetDriver.php index fed936a..2e7234e 100644 --- a/cli/Valet/Drivers/Specific/KirbyValetDriver.php +++ b/cli/Valet/Drivers/Specific/KirbyValetDriver.php @@ -27,7 +27,7 @@ public function serves(string $sitePath, string $siteName, string $uri): bool * @param string $uri * @return string|false */ - public function isStaticFile(string $sitePath, string $siteName, string $uri): string|false + public function isStaticFile(string $sitePath, string $siteName, string $uri) { if ($this->isActualFile($staticFilePath = $sitePath.$uri)) { return $staticFilePath; diff --git a/cli/Valet/Drivers/Specific/Magento2ValetDriver.php b/cli/Valet/Drivers/Specific/Magento2ValetDriver.php index 43c5cb9..fd471f6 100644 --- a/cli/Valet/Drivers/Specific/Magento2ValetDriver.php +++ b/cli/Valet/Drivers/Specific/Magento2ValetDriver.php @@ -34,7 +34,7 @@ public function serves(string $sitePath, string $siteName, string $uri): bool * @param string $uri * @return string|false */ - public function isStaticFile(string $sitePath, string $siteName, string $uri): string|false + public function isStaticFile(string $sitePath, string $siteName, string $uri) { $this->checkMageMode($sitePath); diff --git a/cli/Valet/Drivers/Specific/NeosValetDriver.php b/cli/Valet/Drivers/Specific/NeosValetDriver.php index a8fc948..7ab77ab 100644 --- a/cli/Valet/Drivers/Specific/NeosValetDriver.php +++ b/cli/Valet/Drivers/Specific/NeosValetDriver.php @@ -43,7 +43,7 @@ public function beforeLoading(string $sitePath, string $siteName, string $uri): * @param string $uri * @return string|false */ - public function isStaticFile(string $sitePath, string $siteName, string $uri): string|false + public function isStaticFile(string $sitePath, string $siteName, string $uri) { if ($this->isActualFile($staticFilePath = $sitePath.'/Web'.$uri)) { return $staticFilePath; diff --git a/cli/Valet/Drivers/Specific/StatamicV1ValetDriver.php b/cli/Valet/Drivers/Specific/StatamicV1ValetDriver.php index 2561178..b9d8f61 100644 --- a/cli/Valet/Drivers/Specific/StatamicV1ValetDriver.php +++ b/cli/Valet/Drivers/Specific/StatamicV1ValetDriver.php @@ -27,7 +27,7 @@ public function serves(string $sitePath, string $siteName, string $uri): bool * @param string $uri * @return string|false */ - public function isStaticFile(string $sitePath, string $siteName, string $uri): string|false + public function isStaticFile(string $sitePath, string $siteName, string $uri) { if (strpos($uri, '/_add-ons') === 0 || strpos($uri, '/_app') === 0 || strpos($uri, '/_content') === 0 || strpos($uri, '/_cache') === 0 || strpos($uri, '/_config') === 0 || strpos($uri, '/_logs') === 0 || diff --git a/cli/Valet/Drivers/Specific/StatamicValetDriver.php b/cli/Valet/Drivers/Specific/StatamicValetDriver.php index a9f990f..9a08878 100644 --- a/cli/Valet/Drivers/Specific/StatamicValetDriver.php +++ b/cli/Valet/Drivers/Specific/StatamicValetDriver.php @@ -27,7 +27,7 @@ public function serves(string $sitePath, string $siteName, string $uri): bool * @param string $uri * @return string|false */ - public function isStaticFile(string $sitePath, string $siteName, string $uri): string|false + public function isStaticFile(string $sitePath, string $siteName, string $uri) { if (strpos($uri, '/site') === 0 && strpos($uri, '/site/themes') !== 0) { return false; diff --git a/cli/Valet/Drivers/Specific/SymfonyValetDriver.php b/cli/Valet/Drivers/Specific/SymfonyValetDriver.php index aae7d2d..79754e2 100644 --- a/cli/Valet/Drivers/Specific/SymfonyValetDriver.php +++ b/cli/Valet/Drivers/Specific/SymfonyValetDriver.php @@ -29,7 +29,7 @@ public function serves(string $sitePath, string $siteName, string $uri): bool * @param string $uri * @return string|false */ - public function isStaticFile(string $sitePath, string $siteName, string $uri): string|false + public function isStaticFile(string $sitePath, string $siteName, string $uri) { if ($this->isActualFile($staticFilePath = $sitePath.'/web/'.$uri)) { return $staticFilePath; diff --git a/cli/Valet/Drivers/Specific/Typo3ValetDriver.php b/cli/Valet/Drivers/Specific/Typo3ValetDriver.php index d6748e7..745dbb9 100644 --- a/cli/Valet/Drivers/Specific/Typo3ValetDriver.php +++ b/cli/Valet/Drivers/Specific/Typo3ValetDriver.php @@ -86,7 +86,7 @@ public function serves(string $sitePath, string $siteName, string $uri): bool * @param string $uri * @return string|false */ - public function isStaticFile(string $sitePath, string $siteName, string $uri): string|false + public function isStaticFile(string $sitePath, string $siteName, string $uri) { // May the file contains a cache busting version string like filename.12345678.css // If that is the case, the file cannot be found on disk, so remove the version diff --git a/cli/Valet/Drivers/ValetDriver.php b/cli/Valet/Drivers/ValetDriver.php index 164c18a..a890e57 100644 --- a/cli/Valet/Drivers/ValetDriver.php +++ b/cli/Valet/Drivers/ValetDriver.php @@ -27,7 +27,9 @@ abstract public function serves(string $sitePath, string $siteName, string $uri) * @param string $uri * @return string|false */ - abstract public function isStaticFile(string $sitePath, string $siteName, string $uri): string|false; + // While we support PHP 7.4 for individual site isolation... + abstract public function isStaticFile(string $sitePath, string $siteName, string $uri); + //abstract public function isStaticFile(string $sitePath, string $siteName, string $uri): string|false; /** * Get the fully resolved path to the application's front controller. diff --git a/cli/Valet/Server.php b/cli/Valet/Server.php index 08c5c76..96e26f1 100644 --- a/cli/Valet/Server.php +++ b/cli/Valet/Server.php @@ -4,13 +4,17 @@ class Server { + // Skip constructor promotion until we stop supporting PHP@7.4 isolation + public $config; + /** * Create a new Server instance. * * @param array $config */ - public function __construct(public array $config) + public function __construct(array $config) { + $this->config = $config; } /** diff --git a/cli/stubs/SampleValetDriver.php b/cli/stubs/SampleValetDriver.php index 3692518..ed80f0f 100644 --- a/cli/stubs/SampleValetDriver.php +++ b/cli/stubs/SampleValetDriver.php @@ -31,7 +31,7 @@ public function serves(string $sitePath, string $siteName, string $uri): bool * @param string $uri * @return string|false */ - public function isStaticFile(string $sitePath, string $siteName, string $uri): string|false + public function isStaticFile(string $sitePath, string $siteName, string $uri) { if (file_exists($staticFilePath = $sitePath.'/public/'.$uri)) { return $staticFilePath;