Я пытаюсь загрузить стороннюю библиотеку под названием Идиорма, но не могу заставить ее работать. Я установил через композитор вот такой composer require j4mie/idiorm. Библиотека установлена в папке vendor. Я вижу, как он загружен в autoload_static.php вот так
public static $classMap = array (
'Collator' => __DIR__ . '/..' . '/symfony/intl/Resources/stubs/Collator.php',
'IdiormMethodMissingException' => __DIR__ . '/..' . '/j4mie/idiorm/idiorm.php',
'IdiormResultSet' => __DIR__ . '/..' . '/j4mie/idiorm/idiorm.php',
'IdiormString' => __DIR__ . '/..' . '/j4mie/idiorm/idiorm.php',
'IdiormStringException' => __DIR__ . '/..' . '/j4mie/idiorm/idiorm.php',
'IntlDateFormatter' => __DIR__ . '/..' . '/symfony/intl/Resources/stubs/IntlDateFormatter.php',
'Locale' => __DIR__ . '/..' . '/symfony/intl/Resources/stubs/Locale.php',
'NumberFormatter' => __DIR__ . '/..' . '/symfony/intl/Resources/stubs/NumberFormatter.php',
'ORM' => __DIR__ . '/..' . '/j4mie/idiorm/idiorm.php',
'SqlFormatter' => __DIR__ . '/..' . '/jdorn/sql-formatter/lib/SqlFormatter.php',
);
Я не могу предоставить ему собственное пространство имен, так как это сторонняя библиотека. Итак, как мне установить его правильно, чтобы я мог начать использовать его в своих контроллерах
@PavelAlazankin Спасибо, я прочитаю об этом. Наши старшие разработчики решили использовать вместо этого Idiorm ORM.
@PavelAlazankin Я создал пакет, но как мне импортировать файл vendors/j4mie/idiorm.php. include и require не сработали.
Я взглянул на эту библиотеку, и теперь я не уверен, что вам действительно нужен отдельный комплект для этого, поскольку это действительно просто. так почему вы не можете использовать его в своем контроллере? Я просто попробовал, и это работает
Я добавил use ORM; в раздел использования, а затем внутри действия я настроил соединение с ORM::configure(...), как сказано в документации, и получил некоторые данные из базы данных с $product = ORM::for_table('product')->where('id', '1')->find_one(); (idiorm.readthedocs.io/en/latest/querying.html)
@PavelAlazankin Спасибо. это действительно сработало. Я думаю, что не могу использовать use, если не определено пространство имен. Отличная работа.




Хорошо, действительно простая проблема, как только пакет загружен через композитор, в моем случае composer require j4mie/idiorm вы можете буквально начать "использовать" его. Никакой каламбур
в моем классе модели
use ORM .....
вы можете создать свой собственный пакет, который использует эту библиотеку в качестве зависимости для правильной интеграции с symfony (symfony.com/doc/master/bundles.html), но почему бы вам не использовать doctrine orm?