Skip to content
Snippets Groups Projects
Select Git revision
  • de695980002448f8558ec2d757854732f90b5507
  • main default protected
  • v0.10
  • 0.10.6
  • 0.10.5
  • 0.10.4
  • 0.10.3
  • 0.10.2
  • 0.10.1
  • 0.10.0
  • 0.9.1
  • 0.9.0
12 results

Plugin.php

Blame
  • Plugin.php 2.08 KiB
    <?php
    declare( strict_types=1 );
    
    namespace WPDesk\Init;
    
    final class Plugin {
    
    	/**
    	 * Plugin basename.
    	 *
    	 * Ex: plugin-name/plugin-name.php
    	 *
    	 * @var string
    	 */
    	private $basename;
    
    	/**
    	 * Absolute path to the main plugin directory.
    	 *
    	 * @var string
    	 */
    	private $directory;
    
    	/**
    	 * Plugin name to display.
    	 *
    	 * @var string
    	 */
    	private $name;
    
    	/**
    	 * Absolute path to the main plugin file.
    	 *
    	 * @var string
    	 */
    	private $file;
    
    	/**
    	 * Plugin identifier.
    	 *
    	 * @var string
    	 */
    	private $slug;
    
    	/**
    	 * URL to the main plugin directory.
    	 *
    	 * @var string
    	 */
    	private $url;
    
    	/**
    	 * Plugin version string.
    	 *
    	 * @var string
    	 */
    	private $version;
    
    	public function __construct(
    		string $file,
    		string $name,
    		string $version,
    		?string $slug = null,
    	) {
    		$this->file        = $file;
    		$this->name        = $name;
    		$this->version     = $version;
    		$this->basename    = plugin_basename( $file );
    		$this->directory   = rtrim( plugin_dir_path( $file ), '/' ) . '/';
    		$this->url         = rtrim( plugin_dir_url( $file ), '/' ) . '/';