Site icon PlusMagi's Blog By Pitt Phunsanit

Laravel: Artisan clear cache, optimize, info

การเขียน laravel มันจะมีส่วนที่ต้องเข้าไปใน command เพื่อที่จะใช้ php artisan xxx บ่อยมากโดยเฉพาะที่เกี่ยวกับ cache ส่วนต่าง ๆ เลยทำทางลัด short cut จัดการจะได้ทำได้ง่าย ๆ

เปิดไฟล์ /routes/web.php แล้วเพิ่ม

//refresh cache
Route::get('/refresh', function () {
    //php artisan optimize:clear
    $commands = [

        //clear
        'auth:clear-resets',
        'optimize:clear',
        'queue:clear',
        'schedule:clear-cache',

        //add
        'cache:table',
        'lang:publish',
        'optimize',
        'stub:publish',
        //'ziggy:generate',

        //infomation
        'about',
        //'db:show',
        'env',
        'list', //all commands
        'package:discover',
        'route:list',//may fail if there are errors in routes
    ];

    $output = '<!DOCTYPE html><html lang="en"><head><title>refresh</title></head><body><dl>';

    foreach ($commands as $command) {
        if (Artisan::call($command) === 0) {
            $results = Artisan::output();
            $results = explode("\n", $results);
            $results = implode("</dd><dd>", $results);
            $output .= '<dt>php artisan ' . $command . '</dt><dd>' . $results . '</dd>';
        } else {
            $output .= '<dt>php artisan ' . $command . '</dt><dd><h2>Error executing command</h2></dd>';
        }
    }

    $output .= '</dl><br>All caches have been cleared and recreated.</body></html>';

    return response($output)->header('Content-Type', 'text/html');
});

การใช้ก็ง่าย ๆ แค่ ใส่ใน array แล้วเรียก URL ประมาณ http://127.0.0.1:8000/refresh ก็จะจัดงานที่ต้องใช้ php artisan ให้เราได้แล้ว CI/DI เล็ก ๆ

จะปีใหม่แล้ว ล้างสิ่งเก่า ๆ เริ่มต้นส่ิงใหม่ ๆ กันครับ

Exit mobile version