1
0
mirror of https://github.com/laravel/valet.git synced 2026-02-05 00:20:08 +01:00

craft support

This commit is contained in:
Taylor Otwell
2016-05-05 16:35:32 -05:00
parent 55c04915f1
commit 1b905afa19
4 changed files with 55 additions and 1 deletions

View File

@@ -0,0 +1,51 @@
<?php
class CraftValetDriver extends ValetDriver
{
/**
* Determine if the driver serves the request.
*
* @param string $sitePath
* @param string $siteName
* @param string $uri
* @return void
*/
public function serves($sitePath, $siteName, $uri)
{
return is_dir($sitePath.'/craft');
}
/**
* 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.'/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($sitePath, $siteName, $uri)
{
$_SERVER['SCRIPT_FILENAME'] = $sitePath.'/public/index.php';
$_SERVER['SCRIPT_NAME'] = '/index.php';
return $sitePath.'/craft/app/index.php';
}
}

View File

@@ -12,7 +12,8 @@ class LaravelValetDriver extends ValetDriver
*/
public function serves($sitePath, $siteName, $uri)
{
return file_exists($sitePath.'/public/index.php');
return file_exists($sitePath.'/public/index.php') &&
file_exists($sitePath.'/artisan');
}
/**

View File

@@ -48,6 +48,7 @@ public static function assign($sitePath, $siteName, $uri)
$drivers[] = 'StatamicValetDriver';
$drivers[] = 'JigsawValetDriver';
$drivers[] = 'WordPressValetDriver';
$drivers[] = 'CraftValetDriver';
$drivers[] = 'StaticValetDriver';
foreach ($drivers as $driver) {

View File

@@ -67,6 +67,7 @@ function show_valet_404()
require_once __DIR__.'/drivers/StaticValetDriver.php';
require_once __DIR__.'/drivers/JigsawValetDriver.php';
require_once __DIR__.'/drivers/WordPressValetDriver.php';
require_once __DIR__.'/drivers/CraftValetDriver.php';
$valetDriver = ValetDriver::assign($valetSitePath, $siteName, $uri);