У меня есть основной файл плагина, который называется main-plugin.php , и внутри этого файла я добавляю файл wpll-license.php .
Теперь для этого основного плагина. Я использую класс под названием MyClass . Здесь вы можете видеть, что я вызываю wpll_settings_ajax
метод для создания экземпляра класса WPLL_License
.
Теперь в файле wpll-license.php я использовал __construct()
мегаполис для автоматического запуска метода test()
.
Но этот метод test()
не запускается автоматически, когда я создаю экземпляр этого класса, используя new WPLL_License();
из основного файла плагина. Я должен использовать $WPLL_License->test();
почему?
Есть ли что-то, что я забыл о PHP OOP или sth :(
<?php
// main-plugin.php file
require_once 'includes/wpll-license.php';
class MyClass {
private function __construct(){
add_action('wp_ajax_nonce_settings_action', array($this, 'wpll_settings_ajax'));
}
public function wpll_settings_ajax() {
$WPLL_License = new WPLL_License();
}
}
// wpll-license.php file is in includes directory.
class WPLL_License {
public function __construct() {
add_action('admin_init', array($this, 'test'), 10 );
}
public function test() {
// osme code...
}
}