2 / 2 / 1
Регистрация: 20.12.2013
Сообщений: 90
|
|
1 | |
Перевод ядра с процедурки на ООП05.06.2015, 22:27. Показов 1574. Ответов 27
Метки нет (Все метки)
Здравствуйте. Недавно, начал свой движок написанный на процедурном PHP + MySQL переводить на PDO + ООП. При чем ООП начал изучать совсем недавно. В общем, возникла проблемы с переводом ядра.
Структура такова. /incfiles/core.php - основной файл ядра движка. Тут инициализируются системные переменные, параметры сайта, подключение классов и т.д.. /incfiles/classes/core.php - тут хранится основной класс Core, который включает в себя важные функции, например функцию подключения языков, в дальнейшем используется в двиге. /incfiles/classes/functions.php - дополнение к классу Core, с функциями типа обработки смайликов, BB-тегов и прочей фигни. Собсно проблема в том, что сайт не хочет видеть класс Core. По крайней мере так пишет интерпретатор. Как устранить ошибки? // Код далек от идеального, он и не доделан полностью в принципе, так что пальцем не тыкайте, какой я быдлокодер, знаю сам. // Скриншот ошибки и файлы с /incfiles/ выложу ниже. Заранее спасибо!
0
|
05.06.2015, 22:27 | |
Ответы с готовыми решениями:
27
Перевод гостевой книги с процедурного стиля на ООП Процедурки Две процедурки Процесс выполнения хранимой процедурки отобразить надо |
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
|
|
06.06.2015, 09:07 | 2 |
То есть то, что перед выводом этой ошибки у Вас вообще php код выводится - Вас не смутило?
0
|
89 / 87 / 49
Регистрация: 09.10.2014
Сообщений: 571
|
|||||||||||
06.06.2015, 09:10 | 3 | ||||||||||
Привет, убери
Вот это изменил, работает вроди
0
|
2 / 2 / 1
Регистрация: 20.12.2013
Сообщений: 90
|
||||||
06.06.2015, 10:20 [ТС] | 4 | |||||
sash, спасибо, сейчас попробую.
Вот index.php.
Смутило конечно, но не могу понять, почему так... В коде вроде как ошибок нет, чтобы он как текст выводился.
0
|
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
|
|
06.06.2015, 10:25 | 5 |
Используй автозагрузку классов
0
|
2 / 2 / 1
Регистрация: 20.12.2013
Сообщений: 90
|
||||||
06.06.2015, 10:36 [ТС] | 6 | |||||
Dolphin, можно подробней? Вроде как есть этот код.
0
|
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
|
|
06.06.2015, 10:41 | 7 |
А, не заметил, вижу что везде require_once.... поэтому и написал
0
|
89 / 87 / 49
Регистрация: 09.10.2014
Сообщений: 571
|
|
06.06.2015, 10:42 | 8 |
Ты на рабочем серваке сделай эхо константы HOME и всё поймёшь
0
|
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
|
|
06.06.2015, 10:43 | 9 |
Но лучше использовать стандарт psr-4. Можно взять composer и использовать его класс автозагрузки
0
|
2 / 2 / 1
Регистрация: 20.12.2013
Сообщений: 90
|
||||||
06.06.2015, 11:02 [ТС] | 10 | |||||
sash, они работают... По крайней мере до того как я переводил движок на ООП все работало. Эти константы, вместе с функцией подключения к БД и системными настройками хранились в index.php.
Добавлено через 4 минуты Вот. В отдельной странице сделал так.
C:/xampp/htdocs http://localhost Как и должно быть
0
|
89 / 87 / 49
Регистрация: 09.10.2014
Сообщений: 571
|
|
06.06.2015, 11:07 | 11 |
Хорошо что работают, но я бы так не усложнял. Как по мне нужно всё делать максимально просто, но не проще
Лучше тогда уже в константе указать путь http:// и т.д. но можно обойтись прекрасно и без этого, относительно скриптов указывать пути ./ и т.д
0
|
2 / 2 / 1
Регистрация: 20.12.2013
Сообщений: 90
|
|
06.06.2015, 11:13 [ТС] | 12 |
sash, да, так и сделаю, спасибо
// Собсно, а как решить проблему описанную в ПП?
0
|
89 / 87 / 49
Регистрация: 09.10.2014
Сообщений: 571
|
|
06.06.2015, 11:21 | 13 |
Гдегде описанную?? V PoPe ?
0
|
2 / 2 / 1
Регистрация: 20.12.2013
Сообщений: 90
|
|||||||||||
06.06.2015, 12:55 [ТС] | 14 | ||||||||||
sash, первый пост
Добавлено через 34 минуты В общем, ошибка, из-за которой показывался текст кода на странице была такова:
Теперь, классы все еще не загружаются. Приходится подключать отдельно каждый с помощью include. Код core.php:
0
|
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
|
|
06.06.2015, 13:01 | 15 |
Какая версия php?
0
|
2 / 2 / 1
Регистрация: 20.12.2013
Сообщений: 90
|
|||||||||||
06.06.2015, 13:11 [ТС] | 16 | ||||||||||
Dolphin, PHP Version 5.6.8
Создал новую страницу index2.php. Туда подключил /incfiles/core.php с помощью include_once. Странность в том, что ни одну функцию из этого файла не подключает. Например, в core.php написал такой код:
0
|
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
|
||||||
06.06.2015, 13:14 | 17 | |||||
Для php >= 5.3
0
|
2 / 2 / 1
Регистрация: 20.12.2013
Сообщений: 90
|
|
06.06.2015, 13:15 [ТС] | 18 |
Я уже не знаю что делать.
Dolphin, та же проблема, опять... Да даже если константу HOME выводить, пишет, что такой не существует.
0
|
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
|
|
06.06.2015, 13:21 | 19 |
этот код должен быть в индексном файле корня сайта
0
|
2 / 2 / 1
Регистрация: 20.12.2013
Сообщений: 90
|
|
06.06.2015, 13:21 [ТС] | 20 |
Dolphin, а нет. Если вместо <?php писать <? то возникает эта ошибка.
А если так, как ты написал <?php то появляется следующее: Fatal error: Uncaught exception 'Exception' with message 'Autoload class: File C:\xampp\htdocs\incfiles/infiles/classes/Core.php not found' in C:\xampp\htdocs\incfiles\core.php:26 Stack trace: #0 [internal function]: {closure}('Core') #1 C:\xampp\htdocs\incfiles\core.php(39): spl_autoload_call('Core') #2 C:\xampp\htdocs\index2.php(2): require_once('C:\\xampp\\htdocs...') #3 {main} thrown in C:\xampp\htdocs\incfiles\core.php on line 26
0
|
06.06.2015, 13:21 | |
06.06.2015, 13:21 | |
Помогаю со студенческими работами здесь
20
нетбук с каким процом лучше n550(2 ядра )или C-50(2 ядра )? Помогайте выбрать: видюха 640М и проц i7 2.4Гц (4 ядра) или 750M и i7 2Гц (2 ядра) ? Что будет лучше i7 2630qm (2 Гц 4 ядра) vs i5 3230m (2,6 Гц 2 ядра) ? Что выбрать: Intel 2 ядра или AMD 4 ядра? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |