Skip to content

DylanBaine/php-computed-styles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP Computed Styles

Build up classes or styles to be injected into HTML. I wrote a blog post about this project on my blog.

Installation

composer require baine/php-computed-styles

Example Usage

The two main classes in this package can be used to build styles and classes for your HTML dynamically.

ComputedClasses

<?php

use Baine\PhpComputedStyles\ComputedClasses;

...


$classes = ComputedClasses::make([
    'flex',
    'rounded',
    'text-blue' => $user->likesBlue()
])
    ->when($success, [
        'bg-success',
        'text-white'
    ])->whenNot($user->isAdmin(), [
        'bg-disabled'
    ]);
<div class="<?= $classes ?>">My Div</div>
  • The flex and rounded classes are statically added to the element.
  • The text-blue class is added if $user->isAdmin() evaluates to true.
    • Key based values are only added if the value is of a boolean type (true or false).
  • The bg-success and text-white classes are added to the element if the $success variable is truthy.
  • The bg-disabled class is only added when $user->isAdmin() is falsy.

ComputedStyles

<?php

use Baine\PhpComputedStyles\ComputedStyles;

...

$styles = ComputedStyles::make([
    'display' => 'flex',
    'justify-content' => 'center'
])
    ->when($success, [
        'justify-content' => 'start'
    ])->whenNot($user->isAdmin(), [
        'color' => 'grey'
    ]);
<div style="<?= $styles ?>">My Div</div>

This works pretty much exactly the same as how the ComputedClasses class works. The only difference is how the class is encoded to a string.

Helper Functions

Both classes can be accessed easily via helper functions. baine_computedStyles() and baine_computedClasses().

About

Use method chaining to add classes and styles to html elements in PHP.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages