В настоящее время у меня возникают некоторые проблемы при попытке включить 2 библиотеки классов (1. Form Builder & 2. Пользовательский Emailer) в плагин WordPress.
Фон:
Form Builder (на основе модифицированной версии PFBC http://www.imavex.com/pfbc3.x-php5/index.php) — Использование для создания форм для быстрой веб-разработки.
Custom Emailer — Собственная библиотека, которая предоставляет API для другой системы, которую мы разработали.
Кажется, что сложность заключается в выводе javascript в нижний колонтитул для оптимизации скорости страницы с использованием перехватчиков wordpress для вывода в нижний колонтитул.
Мой вопрос, как сделать макет моего кода, чтобы я мог получить доступ к классам из других функций.
например. echo $ email-> formid ();
function wpplugin_blah_forms_init_form()
{
$email = new DealerSolutionsEmailGateway();
$email->formid = 'blah'; // ID of the <form>
}
function wpplugin_blah_forms_show($atts)
{
// Get Shortcode parameter "form"$forms = shortcode_atts( array('form' => '', 'view' => 'SideBySide'), $atts );
// Init EmailProcessor
wpplugin_blah_forms_init_form();
echo $email->formid();
$form = new Form("General");
//$form->configure($form_config);
$form->addElement(new Element\HTML($theme));
$form->addElement(new Element\HTML('<h2>General Enquiry</h2>'));
$form->addElement(new Element\Hidden("form", "General"));
$form->addElement(new Element\HTML('<legend>Personal Details</legend>'));
$form->addElement(new Element\Button("Submit My Enquiry"));
return $form->render(); // display form
}
add_shortcode('show_form', 'wpplugin_blah_forms_show');
Приведенный выше пример является урезанной версией того, что я делаю, я просто не уверен, как получить доступ к $ email, когда он был запущен в другой функции.
за firstclass.php
<?php
class Firstclass{
function __construct(){
}
function init(){
}
function temp1(){
}
}
if(class_exists('Firstclass'))
$firstclass_object = new Firstclass();
?>
В secondclass.php, Вы можете получить доступ к функциям firstclass.php как
<?php
class Firstclass{
function __construct(){
}
function temp2(){
global $firstclass_object;
$firstclass_object-> temp1;
}
}
?>
Здесь для вашего ответа, вы можете сделать это, как показано ниже
//for accessing form id declare it as a global variable
global $email;
echo $email->formid;
Других решений пока нет …