Пробую использовать этот компонент в своём проекте.
В бд есть таблица 'log' c полями- 'date', 'type', 'event'.
Тестируемый файл в корне на локальном сервере: examplezendbd.php
Fatal error: Uncaught Error: Class 'Zend\Db\Adapter\Adapter' not found in D:\sites\mysite.local\www\examplezendbd.php:22 Stack trace: #0 {main} thrown in D:\sites\mysite.local\www\examplezendbd.php on line 22
<?
require_once __DIR__ .'/vendor/autoload.php';
use Zend\Db\Adapter\Adapter as DbAdapter;
use Zend\Log\Formatter;
use Zend\Log\Writer;
use Zend\Log\Logger;
/*$adapter = new DbAdapter($driverArray);
$adapter = new Zend\Db\Adapter\Adapter(array(
'driver' => 'Mysqli',
'database' => 'localhost',
'username' => 'root',
'password' => ''
));
*/
// Адаптер базы данных
$db = new DbAdapter([
'driver' => 'Pdo',
'dsn' => 'mysql:dbname=mysite-local;host=localhost',
'username' => 'root',
'password' => 'пароль'
]);
/* define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_NAME', 'mysite-local');
$mysqli = @new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); // @ оператор откл.ош.
if ($mysqli->connect_errno) exit('Ошибка соединения с БД');// св-во connect_errno - если есть ош - выход
$mysqli->set_charset('utf8');
$mysqli->close();
*/
// соответствие полей события лога (поля события лога разбирали в предыдущей статье)
// колонкам в базе данных, т.е. например, поле времени timestamp из лога
// соответствует колонке date в базе
$mapping = [
'timestamp' => 'date',
'priority' => 'type',
'message' => 'event',
];
// создаем объект писателя (Writer) со следующими параметрами
// 1) $db - адаптер базы данных
// 2) 'log' - таблица логов в базе
// 3) $mapping - карта соответствия
$writerDb = new Writer\Db($db, 'log', $mapping); // log table
// объект форматера
$formatter = new Formatter\Base();
// используется, для преобразования даты события в формат даты MySQL
$formatter->setDateTimeFormat('Y-m-d H:i:s');
$writerDb->setFormatter($formatter);
// запись лога в файл
$writerFile = new Writer\Stream(__DIR__ . '/test.log');
// создаем объект класса Logger и регистрируем в нем
// объекты "писателей"
$logger = new Logger();
// объект, пишущий лог в базу данных
$logger->addWriter($writerDb, 1);
// объект, пишущий лог в файл
$logger->addWriter($writerFile, 100);
// сообщение лога
$logger->info('Informational message');
?>
Вот этот класс с папкой Zend\Db\Adapter\Adapter нужно создавать отдельно? Так как в этой дир. у меня папки Db вообще нет. Есть к примеру, файл Db.php в дир. D:\sites\mysite.local\www\vendor\zendframework\zend-log\src\Writer И Db.php в дир. D:\sites\mysite.local\www\vendor\zendframework\zend-log\src\Formatter
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Скачал скрипт отправки данных формы на эмейл (имя, эмейл, телефон и проч)
Есть PHP процесс который работает в месте с веб-сервером внутри контейнера Docker, процесс запускается с помощью PHP-CLI и после работы должен отдавать...
В настройках модуля "Социальная сеть" Битрикса прописан такой путь Профайл пользователя:user/#user_id#/