Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/micropackage/requirements
Requirements checker for WordPress plugins
https://github.com/micropackage/requirements
composer composer-library micropackage wordpress
Last synced: about 3 hours ago
JSON representation
Requirements checker for WordPress plugins
- Host: GitHub
- URL: https://github.com/micropackage/requirements
- Owner: micropackage
- License: mit
- Created: 2020-01-31T14:37:46.000Z (almost 5 years ago)
- Default Branch: develop
- Last Pushed: 2023-06-23T09:01:20.000Z (over 1 year ago)
- Last Synced: 2024-06-18T21:49:29.449Z (5 months ago)
- Topics: composer, composer-library, micropackage, wordpress
- Language: PHP
- Size: 72.3 KB
- Stars: 43
- Watchers: 6
- Forks: 6
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Requirements
[![BracketSpace Micropackage](https://img.shields.io/badge/BracketSpace-Micropackage-brightgreen)](https://bracketspace.com)
[![Latest Stable Version](https://poser.pugx.org/micropackage/requirements/v/stable)](https://packagist.org/packages/micropackage/requirements)
[![PHP from Packagist](https://img.shields.io/packagist/php-v/micropackage/requirements.svg)](https://packagist.org/packages/micropackage/requirements)
[![Total Downloads](https://poser.pugx.org/micropackage/requirements/downloads)](https://packagist.org/packages/micropackage/requirements)
[![License](https://poser.pugx.org/micropackage/requirements/license)](https://packagist.org/packages/micropackage/requirements)
## 🧬 About Requirements
This micropackage allows you to test environment requirements to run your plugin.
It can test:
- PHP version
- PHP Extensions
- SSL state
- WordPress version
- Active plugins
- Current theme
- [DocHooks](https://github.com/micropackage/dochooks) supportBut it's open for any other custom check.
## 💾 Installation
``` bash
composer require micropackage/requirements
```## 🕹 Usage
## Basic usage
In the plugin main file:
```php
'7.0',
'php_extensions' => array( 'soap' ),
'wp' => '5.3',
'dochooks' => true,
'ssl' => true,
'plugins' => array(
array( 'file' => 'akismet/akismet.php', 'name' => 'Akismet', 'version' => '3.0' ),
array( 'file' => 'hello-dolly/hello.php', 'name' => 'Hello Dolly', 'version' => '1.5' )
),
'theme' => array(
'slug' => 'twentysixteen',
'name' => 'Twenty Sixteen'
),
) );/**
* Run all the checks and check if requirements has been satisfied.
* If not - display the admin notice and exit from the file.
*/
if ( ! $requirements->satisfied() ) {
$requirements->print_notice();
return;
}// ... plugin runtime.
```## Advanced usage
You can also define your own custom checks.
```php
class CustomCheck extends \Micropackage\Requirements\Abstracts\Checker {/**
* Checker name
*
* @var string
*/
protected $name = 'custom-check';/**
* Checks if the requirement is met
*
* @param string $value Requirement.
* @return void
*/
public function check( $value ) {// Do your check here and if it fails, add the error.
if ( 'something' === $value ) {
$this->add_error( 'You need something!' );
}}
}
$requirements = new \Micropackage\Requirements\Requirements( 'My Test Plugin', array(
'custom-check' => 'something else',
) );$requirements->register_checker( 'CustomCheck' );
$is_good = $requirements->satisfied();
```## 📦 About the Micropackage project
Micropackages - as the name suggests - are micro packages with a tiny bit of reusable code, helpful particularly in WordPress development.
The aim is to have multiple packages which can be put together to create something bigger by defining only the structure.
Micropackages are maintained by [BracketSpace](https://bracketspace.com).
## 📖 Changelog
[See the changelog file](./CHANGELOG.md).
## 📃 License
This software is released under MIT license. See the [LICENSE](./LICENSE) file for more information.