Iron
Guest
propel, include, include_once
у меня еще вопросик по propel. точнее не совсем про propel...
Вопрос наверно вызван моим неокончательным пониманием логики работы inlcude/require[_once]. проблема такая. сгенерировал я propel-проект. Все классы (сгенерированые пропелем, runtime-классы пропеля, creole, jargon) скинул в папку 'classes' и в начале файла 'test.php' прописал set_include_path('.;classes');
запустил. PHP написал "Fatal Error: Cannot redeclare class propel". везде использовал include_once. непонимая что за лажа, установил все классы через pear как написано в мане. Т.е. теперь все то, что лежало у меня в classes лежит в папке PEAR. Убираю строку set_include_path('.;classes');
запускаю. все работает. странно. удаляю все из PEAR, разбираюсь со своим "classes". Нахожу файл BasePeer.php из дистрибутива Propel и в нем строчку "include_once 'propel/Propel.php';"
закомментировал.
запустил. работает, никакой ошибки.
т.е. единственно чем отличалась "PEAR-версия" от версии с папкой "classes" это строчка "include_once 'propel/Propel.php';". Но только "PEAR-версия" с ней работала, а другая нет. Почему? И это при том, что везде стоит include_once, т.е. подобных проблем вобще по идее возникать не должно. Что к чему?
спасибо
у меня еще вопросик по propel. точнее не совсем про propel...
Вопрос наверно вызван моим неокончательным пониманием логики работы inlcude/require[_once]. проблема такая. сгенерировал я propel-проект. Все классы (сгенерированые пропелем, runtime-классы пропеля, creole, jargon) скинул в папку 'classes' и в начале файла 'test.php' прописал set_include_path('.;classes');
запустил. PHP написал "Fatal Error: Cannot redeclare class propel". везде использовал include_once. непонимая что за лажа, установил все классы через pear как написано в мане. Т.е. теперь все то, что лежало у меня в classes лежит в папке PEAR. Убираю строку set_include_path('.;classes');
запускаю. все работает. странно. удаляю все из PEAR, разбираюсь со своим "classes". Нахожу файл BasePeer.php из дистрибутива Propel и в нем строчку "include_once 'propel/Propel.php';"
закомментировал.
запустил. работает, никакой ошибки.
т.е. единственно чем отличалась "PEAR-версия" от версии с папкой "classes" это строчка "include_once 'propel/Propel.php';". Но только "PEAR-версия" с ней работала, а другая нет. Почему? И это при том, что везде стоит include_once, т.е. подобных проблем вобще по идее возникать не должно. Что к чему?
спасибо