For Mac
cd ~/
&& git clone https://gist.github.com/349112047c91ea8441256db4dc390b9c.git
&& cd 349112047c91ea8441256db4dc390b9c
&& mv Yii2ValetDriver.php ~/.config/valet/Drivers/
&& rm -rf ~/349112047c91ea8441256db4dc390b9c
&& cd ~/ && valet restart
| <?php | |
| class Yii2ValetDriver extends ValetDriver | |
| { | |
| /** | |
| * Determine if the driver serves the request. | |
| * | |
| * @param string $sitePath | |
| * @param string $siteName | |
| * @param string $uri | |
| * @return bool | |
| */ | |
| public function serves($sitePath, $siteName, $uri) | |
| { | |
| if (file_exists($sitePath.'/vendor/yiisoft/yii2/Yii.php')) { | |
| return true; | |
| } | |
| return false; | |
| } | |
| /** | |
| * 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($sitePath, $siteName, $uri) | |
| { | |
| if (file_exists($staticFilePath = $sitePath.'/web/'.$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($sitePath, $siteName, $uri) | |
| { | |
| if (strpos($uri, '/admin.php') === 0) { | |
| $_SERVER['SCRIPT_FILENAME'] = $sitePath.'/web/admin.php'; | |
| $_SERVER['SCRIPT_NAME'] = '/admin.php'; | |
| $_SERVER['PHP_SELF'] = '/admin.php'; | |
| $_SERVER['DOCUMENT_ROOT'] = $sitePath; | |
| return $sitePath.'/web/admin.php'; | |
| } elseif(strpos($uri, '/api.php') === 0) { | |
| $_SERVER['SCRIPT_FILENAME'] = $sitePath.'/web/api.php'; | |
| $_SERVER['SCRIPT_NAME'] = '/api.php'; | |
| $_SERVER['PHP_SELF'] = '/api.php'; | |
| $_SERVER['DOCUMENT_ROOT'] = $sitePath; | |
| return $sitePath.'/web/api.php'; | |
| } | |
| $_SERVER['SCRIPT_FILENAME'] = $sitePath.'/web/index.php'; | |
| $_SERVER['SCRIPT_NAME'] = '/index.php'; | |
| $_SERVER['PHP_SELF'] = '/index.php'; | |
| $_SERVER['DOCUMENT_ROOT'] = $sitePath; | |
| return $sitePath.'/web/index.php'; | |
| } | |
| } |