mirror of
https://github.com/laravel/valet.git
synced 2026-02-08 01:10:08 +01:00
Update drivers location and loading
- Extract much of server.php into a `Server` class - Move all but the Laravel and Basic drivers into a subfolder - Load all but the Laravel and Basic drivers via glob - Add `beforeLoading` hook to simplify the `frontControllerPath` method for some drivers
This commit is contained in:
67
cli/Valet/Drivers/Specific/SymfonyValetDriver.php
Normal file
67
cli/Valet/Drivers/Specific/SymfonyValetDriver.php
Normal file
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
namespace Valet\Drivers\Specific;
|
||||
|
||||
use Valet\Drivers\ValetDriver;
|
||||
|
||||
class SymfonyValetDriver extends ValetDriver
|
||||
{
|
||||
/**
|
||||
* Determine if the driver serves the request.
|
||||
*
|
||||
* @param string $sitePath
|
||||
* @param string $siteName
|
||||
* @param string $uri
|
||||
* @return bool
|
||||
*/
|
||||
public function serves(string $sitePath, string $siteName, string $uri): bool
|
||||
{
|
||||
return (file_exists($sitePath.'/web/app_dev.php') || file_exists($sitePath.'/web/app.php')) &&
|
||||
(file_exists($sitePath.'/app/AppKernel.php')) || (file_exists($sitePath.'/public/index.php')) &&
|
||||
(file_exists($sitePath.'/src/Kernel.php'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if the incoming request is for a static file.
|
||||
*
|
||||
* @param string $sitePath
|
||||
* @param string $siteName
|
||||
* @param string $uri
|
||||
* @return string|false
|
||||
*/
|
||||
public function isStaticFile(string $sitePath, string $siteName, string $uri): string|false
|
||||
{
|
||||
if ($this->isActualFile($staticFilePath = $sitePath.'/web/'.$uri)) {
|
||||
return $staticFilePath;
|
||||
} elseif ($this->isActualFile($staticFilePath = $sitePath.'/public/'.$uri)) {
|
||||
return $staticFilePath;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the fully resolved path to the application's front controller.
|
||||
*
|
||||
* @param string $sitePath
|
||||
* @param string $siteName
|
||||
* @param string $uri
|
||||
* @return string
|
||||
*/
|
||||
public function frontControllerPath(string $sitePath, string $siteName, string $uri): string
|
||||
{
|
||||
$frontControllerPath = null;
|
||||
|
||||
if (file_exists($path = $sitePath.'/web/app_dev.php')) {
|
||||
$frontControllerPath = $path;
|
||||
} elseif (file_exists($path = $sitePath.'/web/app.php')) {
|
||||
$frontControllerPath = $path;
|
||||
} elseif (file_exists($path = $sitePath.'/public/index.php')) {
|
||||
$frontControllerPath = $path;
|
||||
}
|
||||
|
||||
$_SERVER['SCRIPT_FILENAME'] = $frontControllerPath;
|
||||
|
||||
return $frontControllerPath;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user