在索引文件中确定Laravel或Wordpress路由
我有一个使用Laravel和Wordpress的应用程序 现在拉威尔有了路由和wordpress 我想在public/index.php中检查url是否与Laravel路由或Wordpress路由对应 所以,类似这样的方法是可行的,但我想动态填充$laravelRoutes数组,但在该级别上没有数据库连接 我怎样才能正确地做到这一点 public/index.php在索引文件中确定Laravel或Wordpress路由,wordpress,laravel,Wordpress,Laravel,我有一个使用Laravel和Wordpress的应用程序 现在拉威尔有了路由和wordpress 我想在public/index.php中检查url是否与Laravel路由或Wordpress路由对应 所以,类似这样的方法是可行的,但我想动态填充$laravelRoutes数组,但在该级别上没有数据库连接 我怎样才能正确地做到这一点 public/index.php $actual_link = "$_SERVER[REQUEST_URI]"; $parts = explode('/',$act
$actual_link = "$_SERVER[REQUEST_URI]";
$parts = explode('/',$actual_link);
$laravelRoutes = ['admin','rest'];
if (isset($parts[1])&& in_array($parts[1],$laravelRoutes) ){
/**
* Laravel - A PHP Framework For Web Artisans
*/
require __DIR__.'/../bootstrap/autoload.php';
$app = require_once __DIR__.'/../bootstrap/app.php';
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
$response->send();
$kernel->terminate($request, $response);
}else{
/*
// Loads the WordPress Environment and Template
*/
define('WP_USE_THEMES', true);
require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' );
}
// laravel route 1
// laravel route 2
Route::any('/{wordpress_slug}', function ($wordpress_slug) {
require_once('wordpress/index.php');
});
这个解决方案怎么样: 在web.php中
$actual_link = "$_SERVER[REQUEST_URI]";
$parts = explode('/',$actual_link);
$laravelRoutes = ['admin','rest'];
if (isset($parts[1])&& in_array($parts[1],$laravelRoutes) ){
/**
* Laravel - A PHP Framework For Web Artisans
*/
require __DIR__.'/../bootstrap/autoload.php';
$app = require_once __DIR__.'/../bootstrap/app.php';
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
$response->send();
$kernel->terminate($request, $response);
}else{
/*
// Loads the WordPress Environment and Template
*/
define('WP_USE_THEMES', true);
require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' );
}
// laravel route 1
// laravel route 2
Route::any('/{wordpress_slug}', function ($wordpress_slug) {
require_once('wordpress/index.php');
});
这样,从Laravel开始做任何事情都很容易。回答:
我从拉威尔那里得到路线并检查一下
$actual_link = "$_SERVER[REQUEST_URI]";
$parts = explode('/',$actual_link);
$laravelRoutes = ['zcalendar','rest'];
if (isset($parts[1])&& in_array($parts[1],$laravelRoutes) ) {
/**
* Laravel - A PHP Framework For Web Artisans
*/
require __DIR__ . '/../bootstrap/autoload.php';
$app = require_once __DIR__ . '/../bootstrap/app.php';
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
$app = app();
$routes = $app->routes->getRoutes();
$exceptions = ['{uri}', 'home', '/'];
foreach ($routes as $route) {
if (in_array($route->uri, $exceptions)) {
continue;
}
$routePart = explode('/', $route->uri);
if ($parts[1] == $routePart[0]) {
$response->send();
$kernel->terminate($request, $response);
}
}
}else{
/*
// Loads the WordPress Environment and Template
*/
define('WP_USE_THEMES', true);
require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' );
}
如何“结合”拉威尔和wordpress?它们都有自己的index.php条目文件。当然,您可以在另一个中包含1。但是感觉你可能创造了一个不安全的弗兰肯斯坦怪兽。@ThomasMoors简单,使用Laravel,将wp/文件夹中的wordpress放到公共场所,它就工作了,没有怪兽:P。这真的工作吗?任何像lumenpress/laravel?@ScraperDave这样的依赖项都可以使用,因为require只是普通的php