From 637d78fd7539a576f3ec3d80176184ef986e30c3 Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Tue, 15 Nov 2016 19:47:03 -0500 Subject: [PATCH] Support a SiteValetDriver in the site path --- cli/drivers/ValetDriver.php | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/cli/drivers/ValetDriver.php b/cli/drivers/ValetDriver.php index 3bbfef4..a3bd1e2 100644 --- a/cli/drivers/ValetDriver.php +++ b/cli/drivers/ValetDriver.php @@ -42,7 +42,13 @@ abstract public function frontControllerPath($sitePath, $siteName, $uri); */ public static function assign($sitePath, $siteName, $uri) { - $drivers = static::driversIn(VALET_HOME_PATH.'/Drivers'); + $drivers = []; + + if ($customSiteDriver = static::customSiteDriver($sitePath)) { + $drivers[] = $customSiteDriver; + } + + $drivers = array_merge($drivers, static::driversIn(VALET_HOME_PATH.'/Drivers')); $drivers[] = 'LaravelValetDriver'; @@ -71,6 +77,23 @@ public static function assign($sitePath, $siteName, $uri) } } } + + /** + * Get the custom driver class from the site path, if one exists. + * + * @param string $sitePath + * @return string + */ + public static function customSiteDriver($sitePath) + { + if (! file_exists($sitePath.'/SiteValetDriver.php')) { + return; + } + + require_once $sitePath.'/SiteValetDriver.php'; + + return 'SiteValetDriver'; + } /** * Get all of the driver classes in a given path.