Установил композером RedBeanPHP, пишу простенький тест:
R::setup('mysql:host=localhost;dbname=test', 'mysql', 'mysql');
$book = R::dispense('book');
$book->title = 'Тест';
R::store($book); // при точке входа делает два insert-А
Если этот код выполнить в index.php в корне, то всё нормально, но если я заюзаю точку входа и перемещаю index.php по классике в public, то этот код производит двойную вставку.
В чём проблема при использовании точки входа?
p.s. применение что-то вроде синглтона
if (!R::testConnection()) {
R::setup('mysql:host=localhost;dbname=test', 'mysql', 'mysql');
}
не решает проблему: соединение одно, вставок - две
как проверял? вот так
$a = 0;
if (!R::testConnection()) {
R::setup('mysql:host=localhost;dbname=test', 'mysql', 'mysql');
$a++;
}
if (!R::testConnection()) {
R::setup('mysql:host=localhost;dbname=test', 'mysql', 'mysql');
$a++;
}
if (!R::testConnection()) {
R::setup('mysql:host=localhost;dbname=test', 'mysql', 'mysql');
$a++;
}
$book = R::dispense('book');
$book->title = 'Тест';
R::store($book);
echo $a; // 1