LINUX.ORG.RU

Ошибка при работе с Propel в PHP

 


0

1

Приветствую. Пытаюсь использовать эту библиотеку вне какого-нибудь фреймворка. Вот код:

require_once 'vendor/autoload.php';

require_once 'application/models/UserQuery.php';

var_dump(UserQuery::create()->findOneByIsEmailConfirmed(1));
При попытке получить записи выводится ошибка:
Fatal error: Uncaught exception 'Propel\Runtime\Exception\RuntimeException' with message 'No connection defined for database "default". Did you forget to define a connection or is it wrong written?' ...
Конфигурация propel.xml:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<config>
    <propel>
        <paths>
            <phpDir>application/models</phpDir>
        </paths>
        <database>
            <connections>
                <connection id="default">
                    <adapter>mysql</adapter>
                    <classname>Propel\Runtime\Connection\ConnectionWrapper</classname>
                    <dsn>mysql:host=localhost;dbname=typing</dsn>
                    <user>root</user>
                    <password></password>
                    <settings>
                        <charset>utf8</charset>
                    </settings>
                </connection>
            </connections>
        </database>
        <runtime>
            <defaultConnection>default</defaultConnection>
            <connection>default</connection>
        </runtime>
        <generator>
            <defaultConnection>default</defaultConnection>
            <connection>default</connection>
        </generator>
    </propel>
</config>
Заранее спасибо!

★★

Ответ на: комментарий от Frost

Если что, то у меня в scheme.xml есть вот что (нужно обратить внимание на атрибут name у database-тега):

<database name="default" defaultIdMethod="native" defaultPhpNamingMethod="underscore">...</database>
В документации еще есть пример:
<database name="my_connection_name" defaultIdMethod="native"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="http://xsd.propelorm.org/1.6/database.xsd" >
Т.е. по идеи все должно бы правильно.

Razip ★★
() автор топика
Ответ на: комментарий от Razip

Хороший вопрос. Подразумевается что эта библиотека работает с базой данных, а какую базу ты выберешь(создашь) зависит от твоих задач. Посмотри документацию по подключению этой либы, там наверняка есть подробная инфа.

Frost ★★★
()
Ответ на: комментарий от Wolfram

Содержание ошибки понятно (благо у меня хороший английский), но вот в контексте Propel не понятно ЧЯДНТ.

Razip ★★
() автор топика
Ответ на: комментарий от Wolfram
Подключить свежесозданные классы просто. Для этого достаточно инициализировать Propel, указав путь к файлу с настройками:

Propel::init("fruitbasket-conf.php")

О fruitbasket-conf в статье до этого момента не говорится. Что за файл с настройками? Какими настройками? Ничего о нем неизвестно.

Да и вообще, ты на дату смотрел >15.01.2008?

Razip ★★
() автор топика
Ответ на: комментарий от Razip

Да и вообще, ты на дату смотрел

Смотрел

В том мануале твой косяк описан. А ты вообще своей ошибки не понимаешь?

Вот тебе официальная дока http://propelorm.org/documentation/10-configuration.html Что это меняет? Если ты читать не умеешь.

Wolfram
()
Ответ на: комментарий от Razip

Не понимаю. Так почему ошибка выводится?

Ну извини, тогда только в Job наверно. На твое образование у меня нет времени.

Wolfram
()
Ответ на: комментарий от Razip

Тебя уже почти носом ткнули, ты один хер ниче не понял.

//а потом еще говорят, почему на пхп столько говнокода

Wolfram
()
Ответ на: комментарий от Razip

Если до сих пор не понял.

Тут 2 варианта.
Секцию xlm обзави именем базы данных. Хотя это наверно уже пофиксили, этот косяк был 3-4 года назад
Или скорее всего ты тупо конфиг не тот грузиш. Настройки в xml поменяй и смотри на ошибки.

Все просто же.

Wolfram
()
Ответ на: комментарий от Wolfram

Если ты о секции connection, то вылезает ошибка если я переименую ее в typing. Какой конфиг? Его нужно загружать в Propel? Сам не подхватывается? Если да, то каким образом? Телепаты в отпуске одним словом.

Razip ★★
() автор топика
Последнее исправление: Razip (всего исправлений: 1)
Ответ на: комментарий от Wolfram

PS. консольная утилита нормально работает.

Razip ★★
() автор топика

Короче решил отказаться от ORM и не мучатся с их проблемами. Вопрос снят.

Razip ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.