PHP: generare classi CSS helper in modo dinamico

Short link

Con PHP possiamo generare in modo dinamico le classi helper per il layout con i CSS.

La soluzione è la seguente:


function my_generate_css() {
    $path = $_SERVER['DOCUMENT_ROOT'] . '/assets/css/';
    $values = range(1, 100);
    $prefixes = ['margin-top', 'margin-bottom', 'padding-top', 'padding-bottom'];
    $rules = [];
    foreach($prefixes as $prefix) {
        foreach($values as $value) {
            $rule = '.' . $prefix . '-' . $value . '{' . $prefix . ':' . $value . 'px;}';
            $rules[] = $rule;
        }
    }
    file_put_contents($path . 'helpers.css', implode("\n", $rules));
}

In pratica ora abbiamo classi helper del tipo .margin-top-n con un valore progressivo che va da 1 a 100 per la proprietà CSS corrispondente.