Посмотрев, как это делает плагин ACF, я нашел решение, вместо того, чтобы вызывать функцию при загрузке плагина, я просто добавил его в действие init
.
require 'myClass.php';
$myClass = new myClass();
add_action('init', [$myClass, 'myFunction']);
Я бы даже предложил использовать основной класс для ваших плагинов и в __construct
привязать вашу логику к init
и / или plugins_loaded
.
class MyPlugin {
public function __construct() {
add_action( 'plugins_loaded', [$this, 'plugins_loaded'] );
add_action( 'init', [$this, 'init'] );
}
public function plugins_loaded() {
// pluggables functions are available here
}
public function init() {
// pluggables functions are available here
}
}
new MyPlugin();
IronPython.
Я испытал использование и Powershell и IronPython для вышеупомянутой задачи и пришел к выводу, что IronPython был лучшим соответствием (для меня).
Для ярмарки или Powershell или любой основанный на долларе язык, такой как IronPython или IronRuby удовлетворили бы задаче и будут меньше служебным, чем забота о тривиальных консольных приложениях.
Если все, что Вы делаете, использует библиотеку .NET и делает некоторые сценарии затем края IronPython Powershell. Если Вы хотите использовать своего рода функциональность типа оболочки или использовать существующий CMDLETS затем, Powershell является лучшим выбором.
IronPython, будучи реализацией Python, приносит все преимущества Python для сценариев такого как являющегося легким учиться, легкий читать и быстрый для разработки в.
Абсолютно PowerShell, это - точно вид вещи, для которой он разработан.
Вот некоторые полезные ресурсы, чтобы помочь Вам начать:
Одно из преимуществ PowerShell - то, что они сделали большую работу в фоновом режиме, чтобы заставить вещи совместиться легко, делая неявные преобразования типов и т.д. для создания вывода одной программы применимым как вход другому. И так как все передает объекты, Вы не должны писать текст, портящий код, чтобы починить вещи.
Я действительно предпочитаю Python, однако, когда я пишу большой объем исходного кода вместо того, чтобы положиться в большой степени на библиотеки и склеить компоненты.
Проблема с драйверами приложения состоит в том, что они постоянно повреждаются. Приложения постоянно изменяют свою внешнюю поверхность, и это наносит ущерб драйверам. Поэтому Вам постоянно нужно к обновленным частям драйверов. Я нахожу, что нескомпилированный динамический язык идеален для этого, поскольку можно быстро сделать обновление и начать задачу.
Powershell является большой технологией для этого. Это удивительно гибко и действительно легко взять. Это - соединение скомпилированного и динамического кода. Так больше алгоритма тяжелые части Вашего драйвера могут быть любым скомпилированным языком, и более хрупкие и часто обновляемые части могут быть сценарием. Они интегрируются беспрепятственно.
Я - энергичный пользователь Powershell и действительно не имею большого опыта с IronPython (следовательно мой выбор). IronPython мог также иметь эти функции, хотя поэтому, если Вы более довольны тем языком, это - куда необходимо пойти.
Из разочарования PowerShell я действительно изучал IronPython. Я думаю, что это - хорошая альтернатива powershell, особенно если Вы - программист. Даже если Вы - человек IT, я думаю командный процессор Windows +, IronPython является хорошей комбинацией, которая выполнит то, в чем Вы нуждаетесь в эру.NET (как то, для чего командный процессор + vbscript был хорошо в эру COM).