Здравствуйте! Я такую странность в выполнении своего кода нашёл, что для меня это просто шок.
код
index.php
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<?php
require_once 'SweetAlert.php';
use SweetAlert;
$sweetAlert = new SweetAlert('aaaa!', 'script.php', 'html', 'GET');
$sweetAlert->alert();
SweetAlert.php
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<?php
class SweetAlert
{
function __construct($txt, $color = 'red',
$title = 'title', $icon = 'none')
{
$this->txt = $txt;
$this->color = $color;
$this->title = $title;
$this->icon = $icon;
}
public function alert()
{
?>
<script>
let txt = "<?php echo $this->txt; ?>";
let color = "<?php echo $this->color; ?>";
let title = "<?php echo $this->title; ?>";
let icon = "<?php echo $this->icon; ?>";
Swal.fire({
icon: icon,
text: txt,
iconColor: color,
title: title,
})
</script>
<?php
}
public function __set($property, $value)
{
$this->$property = $value; // устанавливаем значение
}
}
Код выполняется зачастую 2 раза(очевидно, что каждый раз - после обновления страницы) после изменения строки
use SweetAlert;
, если к имени
SweetAlert
как угодно(в середине, вначале, в конце) добавить любую букву. Затем - сколько не обновляй страницу - код перестанет работать. Т.е. Плагин не будет выводить ничего, сообщение об "ошибке" пропадёт. Будет просто пустое белое поле. Вот вывод плагина + "ошибки", о котором я говорю
И да, как сделать так, чтобы всё всегда выводилось, если мне нужно, чтобы в одном файле был класс, в другом - скрипт, который использует методы класса?