Skip to content

Instantly share code, notes, and snippets.

@lomotech
Created February 19, 2021 01:52
Show Gist options
  • Save lomotech/750bcedc70079acfb7e5e1f24f5d733d to your computer and use it in GitHub Desktop.
Save lomotech/750bcedc70079acfb7e5e1f24f5d733d to your computer and use it in GitHub Desktop.
Yii2 Advance Template Valet Driver
<?php
// put in into .config/valet/Driver/Yii2AdvanceValetDriver.php
class Yii2AdvanceValetDriver 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') && file_exists($sitePath.'/common/config/bootstrap.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)
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)
{
$_SERVER['SCRIPT_FILENAME'] = $sitePath.'/backend/web/index.php';
$_SERVER['SCRIPT_NAME'] = '/index.php';
$_SERVER['PHP_SELF'] = '/index.php';
$_SERVER['DOCUMENT_ROOT'] = $sitePath;
return $sitePath.'/backend/web/index.php';
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment