PHPackages                             krubio/perfect-theme-solid - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. krubio/perfect-theme-solid

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

krubio/perfect-theme-solid
==========================

Theme Switcher

022HTML

Since May 31Pushed 1y ago1 watchersCompare

[ Source](https://github.com/benanamen/perfect-theme-solid)[ Packagist](https://packagist.org/packages/krubio/perfect-theme-solid)[ RSS](/packages/krubio-perfect-theme-solid/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

[![codecov](https://camo.githubusercontent.com/c63a52cd99a348e275278742bc76a798912eb9b52617c312ac816af31ca61dd6/68747470733a2f2f636f6465636f762e696f2f67682f62656e616e616d656e2f706572666563742d666c6173682d736f6c69642f6272616e63682f6d61737465722f67726170682f62616467652e7376673f746f6b656e3d30574c30496670336241)](https://codecov.io/gh/benanamen/perfect-flash-solid)[![Build](https://github.com/benanamen/perfect-theme-solid/actions/workflows/build.yml/badge.svg)](https://github.com/benanamen/perfect-theme-solid/actions/workflows/build.yml)

[![Coverage](https://camo.githubusercontent.com/d50c1a8ef5cd9a8c9a869ae4d6e53ec6acb7416225de6c7b09964a7866a27020/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d62656e616e616d656e5f706572666563742d7468656d652d736f6c6964266d65747269633d636f766572616765)](https://sonarcloud.io/summary/new_code?id=benanamen_perfect-theme-solid)[![Reliability Rating](https://camo.githubusercontent.com/b8b189fae6a13d394ac82a9c43958a19624f432f78b618c724703467a338cf3b/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d62656e616e616d656e5f706572666563742d7468656d652d736f6c6964266d65747269633d72656c696162696c6974795f726174696e67)](https://sonarcloud.io/summary/new_code?id=benanamen_perfect-theme-solid)[![Security Rating](https://camo.githubusercontent.com/56572be433c3f160074714f6b902af0a0eeca8db33aff72fa7b080816ba5908b/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d62656e616e616d656e5f706572666563742d7468656d652d736f6c6964266d65747269633d73656375726974795f726174696e67)](https://sonarcloud.io/summary/new_code?id=benanamen_perfect-theme-solid)[![Maintainability Rating](https://camo.githubusercontent.com/5f089652d0d2397e28ce1635b8ed932d8b19650668afddadcbda857e90ba9f9b/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d62656e616e616d656e5f706572666563742d7468656d652d736f6c6964266d65747269633d7371616c655f726174696e67)](https://sonarcloud.io/summary/new_code?id=benanamen_perfect-theme-solid)[![Bugs](https://camo.githubusercontent.com/135986994ac173cd6253b2f6445541024db350fe78840e7fa4bfdfc79812a2be/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d62656e616e616d656e5f706572666563742d7468656d652d736f6c6964266d65747269633d62756773)](https://sonarcloud.io/summary/new_code?id=benanamen_perfect-theme-solid)[![Vulnerabilities](https://camo.githubusercontent.com/46fef5677e8eaf63203258d2d013ebfba69e7bc5821bec42da028d719d834e49/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d62656e616e616d656e5f706572666563742d7468656d652d736f6c6964266d65747269633d76756c6e65726162696c6974696573)](https://sonarcloud.io/summary/new_code?id=benanamen_perfect-theme-solid)

[![Quality Gate Status](https://camo.githubusercontent.com/ab4ec9f45b78117b1cb37896d088ca86c11f45e1639b1c820966a11d3117ee37/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d62656e616e616d656e5f706572666563742d7468656d652d736f6c6964266d65747269633d616c6572745f737461747573)](https://sonarcloud.io/summary/new_code?id=benanamen_perfect-theme-solid)[![Duplicated Lines (%)](https://camo.githubusercontent.com/0b86f2c9252cee485b4b2ba39e7713a837ad91163c30662f6e3929707c6dcc59/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d62656e616e616d656e5f706572666563742d7468656d652d736f6c6964266d65747269633d6475706c6963617465645f6c696e65735f64656e73697479)](https://sonarcloud.io/summary/new_code?id=benanamen_perfect-theme-solid)[![Technical Debt](https://camo.githubusercontent.com/3ff4c93cfb51c3b5ef2fb082549838e617e86ec2e6257d329df27ee0eaa079ab/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d62656e616e616d656e5f706572666563742d7468656d652d736f6c6964266d65747269633d7371616c655f696e646578)](https://sonarcloud.io/summary/new_code?id=benanamen_perfect-theme-solid)[![Code Smells](https://camo.githubusercontent.com/b9dadee069dfed0e7bb894f858162c3a68b7dba644ae999e19ea569b8aa9f095/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d62656e616e616d656e5f706572666563742d7468656d652d736f6c6964266d65747269633d636f64655f736d656c6c73)](https://sonarcloud.io/summary/new_code?id=benanamen_perfect-theme-solid)

Overview:
---------

[](#overview)

ThemeSelector is a PHP class that enables the user to select and apply different themes to their web application. The available themes are predefined and are listed in a dropdown menu for selection.

### Usage:

[](#usage)

To use ThemeSelector in your PHP project, follow these steps:

1. Create an instance of ThemeSelector by passing a Cookie object as an argument to its constructor.
2. Call the renderSelector method to generate the HTML code for the dropdown menu.
3. Display the generated HTML code to the user in your web application.
4. Check for POST request and call the `setTheme` method

### Example Usage:

[](#example-usage)

Here is an example of how to use ThemeSelector in your PHP project:

Create a Cookie object

```
$cookie = new PerfectApp\Http\Cookie();
```

Create an instance of ThemeSelector

```
$themeSelector = new PerfectApp\ThemeSelector\ThemeSelector($cookie);
```

Generate &amp; Display the HTML code for the dropdown menu

```

    Switch Theme

```

Example Usage

```
