PHP code example of pinkcrab / perique-framework-core
1. Go to this page and download the library: Download pinkcrab/perique-framework-core 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/ */
pinkcrab / perique-framework-core example snippets
// @file plugin.php
/**
* @wordpress-plugin
* Plugin Name: My Custom Plugin
* Plugin URI: https://my-custom-plugin.com
* Description: This is an example plugin for the PinkCrab Perique Framework
* Version: 1.2.0
* Author: Me<[email protected]>
* Author URI: https://my-custom-plugin.com
* License: GPL-2.0+
* License URI: http://www.gnu.org/licenses/gpl-2.0.txt
* Text Domain: custom-plugin
*/
d during registration
$factory->registration_classes(
// @file config/dependencies.php
use Some\Namespace\{Some_Interface, Some_Implementation};
return array(
// Your custom rules
Some_Interface::class => array(
'instanceOf' => Some_Implementation::class
)
);
// @file config/registration.php
use Some\Namespace\Some_Controller;
return array(
Some_Controller::class
);
// @file config/settings.php
// Assumes the base directory of the plugin, is 1 level up.
$base_path = \dirname( __DIR__, 1 );
$plugin_dir = \basename( $base_path );
return array(
'plugin' => array(
'version' => '1.2.5',
),
'path' => array(
'assets' => $base_path . '/custom/assets',
),
'url' => array(
'assets' => plugins_url( $plugin_dir ) . '/custom/assets',
),
'db_table' => array(
'subscriptions' => 'some_plugin_subscribers'
),
'additional' => array(
// Custom values go here
'key' => 'value' // Config::additional('key'); = value
'other' => 'value' // $app_config->other = value
),
);
class Some_Controller implements Hookable {
public function register(Hook_Loader $loader): void{
$loader->admin_action('some_action', [$this, 'some_callback']);
}
public function some_callback($some_arg): void {...}
}
class With_Dependencies{
private Some_Repository $repo;
private Some_Service $service;
private View $view;
public function __construct(Some_Repository $repo, Some_Service $service, View $view){
$this->repo = $repo;
$this->service = $service;
$this->view = $view;
}
}
// As a dependency
class Something{
protected View $view;
public function __construct(View $view){
$this->view = $view;
}
public function render(): void{
$this->view->render('some/template', ['some' => 'data']);
}
}
// As a static call
class Something{
public function render(): void{
App::view()->render('some/template', ['some' => 'data']);
}
}