Когда я вызываю свою страницу example.com/do-something, я хочу, чтобы мой код в __cunstruct()
выполнялся автоматически.Автоматический запуск метода класса
<?php
class Ajax {
// POST Manager
public function __construct() {
require_once('../../../wp-load.php');
require_once('intern/functions.php');
$customers = new Customers;
// Save a comment
if (isset($_POST['comment']) && $_POST['comment'] === 'save') {
$this::save_comment();
}
// User has been called
if ($_POST['form_sent'] === 'yes' && (isset($_POST['id']))) {
$this::mark_user_as_complete();
}
// Load a dynamic table for 'closed' customers
if (isset($_POST['customer_status']) && $_POST['customer_status'] === 'abgeschlossen') {
$this::get_closed_customers();
}
// Load a dynamic table for 'open' customers
if (isset($_POST['customer_status']) && $_POST['customer_status'] === 'offen') {
$this::get_open_customers();
}
// Mark the user as 'open' and remove him from the 'closed' list
if ($_POST['customer_uncalled'] === 'yes' && isset($_POST['customer_called_id'])) {
$this::mark_user_as_open();
}
// Show search results
if (isset($_POST['searchValue']) && !empty($_POST['searchValue'])) {
$this::show_search_results();
}
}
}
Я думал __construct()
бы сделать это, но она ничего не выводит. Как я могу заставить его работать автоматически?
Не уверен, что я понимаю вопрос. Если вы хотите, чтобы __construct выполнялся, вам необходимо создать экземпляр класса. То есть используйте 'new Ajax()' где-то, где вы этого хотите. –
Кроме того, почему вы используете такие вещи, как '$ this ::'. У вас есть экземпляр, но вы вызываете методы статически. Вероятно, вы хотите '$ this->', а не '$ this ::', или, возможно, 'self ::', но это зависит от остальной части класса. –
@JonStirling Да, я знаю, но я подумал, что, возможно, будет такой способ, поэтому __construct инициализируется. –