Как открыть форму регистрации только в воскресенье - PullRequest
0 голосов
/ 07 июня 2019

Я использую Laravel 5.7 и хочу открыть определенную страницу (страницу регистрации) только по воскресеньям. Как это сделать?

Ответы [ 4 ]

2 голосов
/ 07 июня 2019

Если вы хотите проверить, что сегодня воскресенье, то вам нужно использовать библиотеку PHP Carbon (эта библиотека по умолчанию включена в Laravel).

Вот пример того, как вы найдете решение вашей проблемы.

Как у вас есть имя контроллера RegistrationController: -

<?php
namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use Carbon\Carbon;

class RegistrationController extends Controller {

    public function register()
    {
        $dt = Carbon::now();

        if(!$dt->isSunday()) {
            // here you can add your code if today is not sunday.
            return redirect('home'); 
        }

        // put your code here to open registration form.
        return view('users.registration');
    }
}

Если вы хотитеразберитесь с Date и Time, тогда Carbon - хорошая библиотека для этого.

Вот ссылка нажмите здесь

0 голосов
/ 07 июня 2019

На вопрос уже дан ответ, но я думаю, что более элегантным способом было бы использовать Middleware для этого конкретного маршрута (или маршрутов), который проверяет день (как предложил @Lakhwinder Singh).

Вы можете начатьзапись этого файла в app/Http/Middlewares/DisableOnSunday.php

namespace App\Http\Middlewares;
use Carbon\Carbon;

class DisableOnSunday {
    public function handle($request, Closure $next) {
        if(!$dt->isSunday()) {
            // here you can add your code if today is not sunday.
            return redirect('home'); 
        }
        return next();
    }
}

Таким образом, в будущем вы можете добавить ту же функцию для другого маршрута или группы маршрутов целых контроллеров.

0 голосов
/ 07 июня 2019

сначала вызовите углерод use Carbon\Carbon;, затем в вашем контроллере сделайте что-то вроде

 $dt = Carbon::now();

    if($dt->dayOfWeek == Carbon::SUNDAY)

          {
           dd('sunday');
           return view('user.register');

          }
         else{

            dd('not sunday'); 
           //do not open registration form
    }

upvote, если это поможет.спасибо

0 голосов
/ 07 июня 2019

Вы можете использовать лезвие, чтобы проверить, является ли будний день воскресеньем.

@if(today()->dayOfWeek == 0)
<form>
      ........
</form>
@else
<div>Please comeback on Sunday</div>
@endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...