Esempio n. 1
0
function menu()
{
    echo chr(27) . "[1m--- Main menu (" . date("l d F H:i:s") . ") ---" . chr(27) . "[0m" . "\n";
    echo "\nSelect a task:\n\n";
    echo "[1] Update Mediboard SVN and user-oriented logger\n";
    echo "[2] Configure groups and mods for Mediboard directories\n";
    echo "[3] Update and rsync Mediboard SVN\n";
    echo "[4] Launch Mediboard request\n";
    echo "[5] Replace Mediboard database\n";
    echo "[6] Backup database on a daily basis\n";
    echo "[7] Send a file by FTP\n";
    echo "[8] Log Ping for server load analysis\n";
    echo "[9] Log Uptime for server load analysis\n";
    echo "[10] Run MySQL performance tuning primer script\n";
    echo "[11] Rotate binlogs\n";
    echo "-------------------------------------------------------\n";
    echo "[0] Quit\n";
    // Waiting for input
    echo "\nSelected task: ";
    // Getting interactive input
    $task = trim(fgets(STDIN));
    // According to the task...
    switch ($task) {
        // Update Mediboard SVN
        case "1":
            echo exec("clear") . "\n";
            task1();
            break;
            // Configure groups and mods
        // Configure groups and mods
        case "2":
            echo exec("clear") . "\n";
            task2();
            break;
            // Update and rsync Mediboard SVN
        // Update and rsync Mediboard SVN
        case "3":
            echo exec("clear") . "\n";
            task3();
            break;
            // Launch Mediboard request
        // Launch Mediboard request
        case "4":
            echo exec("clear") . "\n";
            task4();
            break;
            // Replace Mediboard database
        // Replace Mediboard database
        case "5":
            echo exec("clear") . "\n";
            task5();
            break;
            // Database backup
        // Database backup
        case "6":
            echo exec("clear") . "\n";
            task6();
            break;
            // Send a file by FTP
        // Send a file by FTP
        case "7":
            echo exec("clear") . "\n";
            task7();
            break;
            // Log Ping for server load analysis
        // Log Ping for server load analysis
        case "8":
            echo exec("clear") . "\n";
            task8();
            break;
            // Log Uptime for server load analysis
        // Log Uptime for server load analysis
        case "9":
            echo exec("clear") . "\n";
            task9();
            break;
            // Run MySQL performance tuning primer script
        // Run MySQL performance tuning primer script
        case "10":
            echo exec("clear") . "\n";
            task10();
            break;
        case "11":
            echo exec("clear") . "\n";
            task11();
            break;
            // Exit program
        // Exit program
        case "0":
            exit;
            break;
            // No action
        // No action
        default:
            echo exec("clear") . "\n";
            echo "Incorrect input\n";
            menu();
    }
}
Esempio n. 2
0
<?php

include_once 'Task.php';
include_once 'Scheduler.php';
function task1()
{
    for ($i = 1; $i <= 10; ++$i) {
        echo "This is task 1 iteration {$i}.\n";
        yield;
    }
}
function task2()
{
    for ($i = 1; $i <= 5; ++$i) {
        echo "This is task 2 iteration {$i}.\n";
        yield;
    }
}
$scheduler = new Scheduler();
$scheduler->newTask(task1());
$scheduler->newTask(task2());
$scheduler->run();
function task2()
{
    for ($i = 1; $i <= 6; $i++) {
        $data = yield;
        echo '<p>Tâche 2, itération ' . $i . ', valeur envoyée : ' . $data . '</p>';
    }
}
function task3()
{
    for ($i = 1; $i <= 4; $i++) {
        $data = yield;
        echo '<p>Tâche 3, itération ' . $i . ', valeur envoyée : ' . $data . '</p>';
    }
}
$taskRunner->addTask(task1());
$taskRunner->addTask(task2());
$taskRunner->addTask(task3());
$taskRunner->run();
?>
  
                </p>
                
                
                <h2>La méthode throw()</h2>
                <p><strong>Lancer une exception à l'emplacement du <code>yield</code> dans le générateur - accepte un seul argument</strong></p>
                <p class="col-sm-12">
                <?php 
// Génére une fatal error - normal - une exception est lancée par PHP
//                function generator3() {
//                    echo "<p>Début</p>";
//                    yield;