你好开发者,
这不是直接重复:调用成员函数setCookie()on null 当我从Middleware调用Controller操作然后在控制器操作中我返回View时,
这是我的路线 web.php
Route::get('/end', [EndPageController::class, 'index'])
->name('survey.end')
->middleware('App\Http\Middleware\LegacyEndCheck');
Run Code Online (Sandbox Code Playgroud)
中间件LegacyEndCheck.php处理功能
public function handle($request, Closure $next)
{
$sjid = $request->input('sjid', false);
if( empty($sjid) || strlen($sjid) !== 36 ){
return app()->make(EndLegacyController::class)->index($request); //I have to call EndLegacyController@index here as I can't change URL using redirect route
}
return $next($request);
}
Run Code Online (Sandbox Code Playgroud)
控制器EndLegacyController index动作
public function index(Request $request)
{
$sjid = $request->input('sjid',false);
$status = $request->input('status',false);
if( empty($sjid) || empty($status) ){
$this->status = 5;
return view('survey.legacy.end')
->with('status', $this->status);
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试改进我的 WordPress 网站搜索,
我希望用户也能够通过 WooCommerce 产品属性进行搜索。我已经创建了 WooCommerce 产品并通过以下代码添加了所有自定义属性(产品属性):
$attributes = array(
'_image_number' => array(
'name' => 'IMAGE ID',
'value' =>0001,
'is_visible' => '1',
'is_variation' => '0',
'is_taxonomy' => '0'
),
'_year' => array(
'name' => 'YEAR',
'value' => 1988),
'is_visible' => '1',
'is_variation' => '0',
'is_taxonomy' => '0'
),
);
update_post_meta( $new_post_id, '_product_attributes', $attributes );
Run Code Online (Sandbox Code Playgroud)
meta_key=_product_attributes好的,我的产品已创建,这些属性作为我的属性的序列化数组存储在 Postmeta 中meta_value=。
我的搜索表单是:
<form action="<?php echo home_url(); ?>/" method="get" class="wp-search-form">
<i class="oic-zoom"></i>
<input type="text" name="s" id="search" placeholder="<?php echo get_search_query() == '' …Run Code Online (Sandbox Code Playgroud) 当 PHP 数组有共同前缀时,我想将它们分开。
$data = ['status.1', 'status.2', 'status.3',
'country.244', 'country.24', 'country.845',
'pm.4', 'pm.9', 'pm.6'];
Run Code Online (Sandbox Code Playgroud)
我希望它们每个都在单独的变量中,例如$status, $countries, $pms将包含:
$status = [1,2,3];
$country = [244, 24, 845]
$pms = [4,9,6]
Run Code Online (Sandbox Code Playgroud)
我当前的代码需要 1.5 秒才能对它们进行分组:
$statuses = [];
$countries = [];
$pms = [];
$start = microtime(true);
foreach($data as $item){
if(strpos($item, 'status.') !== false){
$statuses[]= substr($item,7);
}
if(strpos($item, 'country.') !== false){
$countries[]= substr($item,8);
}
if(strpos($item, 'pm.') !== false){
$pms[]= substr($item,3);
}
}
$time_elapsed_secs = microtime(true) - $start;
print_r($time_elapsed_secs);
Run Code Online (Sandbox Code Playgroud)
我想知道是否有更快的方法来做到这一点
您好,我有以下流明路线
$router->get('/end', function (\Illuminate\Http\Request $request) use ($router) {
$controller = $router->app->make('App\Http\Controllers\Legacy\EndLegacyController');
return $controller->index($request);
});
Run Code Online (Sandbox Code Playgroud)
我试图给它一个路由名称,以便我可以使用重定向来重定向到该路由,例如redirect()->route('name_of_route')
到目前为止我已经尝试过
})->namedRoute['end'] = '/end'; // No Effect
})->name('end') //Undefined function
Run Code Online (Sandbox Code Playgroud)
编辑
由于我的某些要求,我无法使用['as' => 'end', 'uses'=> 'ControllerName@Action']