PHP code example of veronalabs / rabbit
1. Go to this page and download the library: Download veronalabs/rabbit library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
veronalabs / rabbit example snippets
/**
* Plugin Name: Example plugin
* Plugin URI: https://example.com
* Plugin Prefix: EP
* Description: Description
* Author: Alessandro Tesoro
* Author URI: https://example.com
* Text Domain: example-plugin
* Domain Path: /languages
* Version: 0.1.0
*/
if ( file_exists( dirname( __FILE__ ) . '/vendor/autoload.php' ) ) {
$myPlugin = Application::get();
$myPlugin->config( 'key' );
$config = [
'my_key' => 'my_value',
];
$value = $myPlugin->config( 'my_key' );
$myPlugin->addServiceProvider( RedirectServiceProvider::class );
$myPlugin->onActivation(
function() use ( $myPlugin ) {
// Do something on activation here like update_option()
}
);
$myPlugin->onDeactivation(
function() use ( $myPlugin ) {
// Do something on deactivation here
}
);
$myPlugin->boot(
function( $plugin ) {
// Do something when the plugins_loaded hook is fired.
}
);
$myPlugin->boot(
function( $plugin ) {
$plugin->loadPluginTextDomain();
}
);
$myPlugin->boot(
function( $plugin ) {
$plugin->
/**
* Plugin Name: Rabbit example plugin
* Plugin URI: https://example.com
* Plugin Prefix: REP
* Description: Example plugin
* Author: John Doe
* Author URI: https://example.me
* Text Domain: example-plugin
* Domain Path: /languages
* Version: 0.1.0
*/
namespace RabbitExamplePlugin;
use Rabbit\Application;
use Rabbit\Database\DatabaseServiceProvider;
use Rabbit\Logger\LoggerServiceProvider;
use Rabbit\Plugin;
use Rabbit\Redirects\AdminNotice;
use Rabbit\Templates\TemplatesServiceProvider;
use Rabbit\Utils\Singleton;
use Exception;
use League\Container\Container;
if (file_exists(dirname(__FILE__) . '/vendor/autoload.php')) {
ication->addServiceProvider(TemplatesServiceProvider::class);
$this->application->addServiceProvider(LoggerServiceProvider::class);
// Load your own service providers here...
/**
* Activation hooks
*/
$this->application->onActivation(function () {
// Create tables or something else
});
/**
* Deactivation hooks
*/
$this->application->onDeactivation(function () {
// Clear events, cache or something else
});
$this->application->boot(function (Plugin $plugin) {
$plugin->loadPluginTextDomain();
// load template
$this->application->view('plugin-template.php', ['foo' => 'bar']);
///...
});
} catch (Exception $e) {
/**
* Print the exception message to admin notice area
*/
add_action('admin_notices', function () use ($e) {
AdminNotice::permanent(['type' => 'error', 'message' => $e->getMessage()]);
});
/**
* Log the exception to file
*/
add_action('init', function () use ($e) {
if ($this->application->has('logger')) {
$this->application->get('logger')->warning($e->getMessage());
}
});
}
}
/**
* @return Container
*/
public function getApplication()
{
return $this->application;
}
}
/**
* Returns the main instance of RabbitExamplePlugin.
* @return RabbitExamplePlugin
*/
function RabbitExamplePlugin()
{
return RabbitExamplePlugin::get();
}
RabbitExamplePlugin();