Форум программистов, компьютерный форум, киберфорум
PHP: ООП
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
2 / 2 / 1
Регистрация: 20.12.2013
Сообщений: 90

Перевод ядра с процедурки на ООП

05.06.2015, 22:27. Показов 2125. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Недавно, начал свой движок написанный на процедурном PHP + MySQL переводить на PDO + ООП. При чем ООП начал изучать совсем недавно. В общем, возникла проблемы с переводом ядра.

Структура такова.
/incfiles/core.php - основной файл ядра движка. Тут инициализируются системные переменные, параметры сайта, подключение классов и т.д..
/incfiles/classes/core.php - тут хранится основной класс Core, который включает в себя важные функции, например функцию подключения языков, в дальнейшем используется в двиге.
/incfiles/classes/functions.php - дополнение к классу Core, с функциями типа обработки смайликов, BB-тегов и прочей фигни.

Собсно проблема в том, что сайт не хочет видеть класс Core. По крайней мере так пишет интерпретатор. Как устранить ошибки?
// Код далек от идеального, он и не доделан полностью в принципе, так что пальцем не тыкайте, какой я быдлокодер, знаю сам.
// Скриншот ошибки и файлы с /incfiles/ выложу ниже.

Заранее спасибо!
Миниатюры
Перевод ядра с процедурки на ООП  
Вложения
Тип файла: zip incfiles.zip (7.4 Кб, 3 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.06.2015, 22:27
Ответы с готовыми решениями:

Перевод гостевой книги с процедурного стиля на ООП
Всем привет! Есть у меня простенькая гостевая книга (файл index.php). На практике сказали избавиться от процедурного метода и поработать с...

Процедурки
procedure TForm1.Button1Click(Sender: TObject) begin .... end; //Вторая процедурка procedure Tform1.Idserver(Sender: TObject);...

Две процедурки
Подскажите пожалуйста. Вот есть база данных - таблицы customs(поля-family,TOWN(город).. ) goods(поля - GOODS(вид товара),...

27
 Аватар для Dolphin
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
06.06.2015, 13:23
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от MyZik Посмотреть сообщение
PHP
1
'Autoload class: File C:\xampp\htdocs\incfiles/infiles/classes/Core.php not found'
Тогда
PHP
1
define('HOME', __DIR__);
вынеси в index.php
0
2 / 2 / 1
Регистрация: 20.12.2013
Сообщений: 90
06.06.2015, 13:25  [ТС]
Цитата Сообщение от Dolphin Посмотреть сообщение
этот код должен быть в индексном файле корня сайта
Dolphin, если и в корне и если в core.php одна и та же ошибка, указанная выше.

Добавлено через 1 минуту
Dolphin, теперь:
Fatal error: Uncaught exception 'Exception' with message 'Autoload class: File C:\xampp\htdocs/classes/Core.php not found' in C:\xampp\htdocs\index.php:34 Stack trace: #0 [internal function]: {closure}('Core') #1 C:\xampp\htdocs\index.php(47): spl_autoload_call('Core') #2 {main} thrown in C:\xampp\htdocs\index.php on line 34
0
2 / 2 / 1
Регистрация: 20.12.2013
Сообщений: 90
06.06.2015, 13:29  [ТС]
Dolphin, все... Теперь, вроде как все работает. Нужно было путь к папке поменять, спасибо, от души.
Но теперь ошибка, которая пугает больше всего.
Миниатюры
Перевод ядра с процедурки на ООП  
0
 Аватар для Dolphin
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
06.06.2015, 13:31
Я поправил пост выше, не так написал.
HOME выносишь в index.php, чтобы получить корректный путь к корню. А функцию автозагрузки оставляешь как в этом посте

Добавлено через 1 минуту
Цитата Сообщение от MyZik Посмотреть сообщение
которая пугает больше всего.
Отключены короткие теги. Вместо <? пиши везде <?php
Исключение только <?= $var ?> вместо <?php echo $var; ?>.
0
2 / 2 / 1
Регистрация: 20.12.2013
Сообщений: 90
06.06.2015, 13:51  [ТС]
Dolphin, хм. Вроде ошибка пропала, теперь на странице - белый экран. Не реагирует на вывод текста.
Код корневого index.php сейчас выглядит так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<?
# Старт сессий
session_name('sid');
session_start();
 
# Подключение основного системного файла
//require_once('incfiles/core.php');
//require_once('incfiles/classes/functions.php');
 
define('HOME', __DIR__); // Серверный путь к сайту
define('URL', 'http://'. $_SERVER['HTTP_HOST']); // Полный HTTP-путь к сайту
 
/**
 * Системные настройки
**/
error_reporting(-1);
mb_internal_encoding('UTF-8'); // Кодировка по умолчанию
 
/**
 * Загружаем классы
**/
spl_autoload_register(function($name) {
    $file = HOME.'/incfiles/classes/' . $name . '.php';
    if(!file_exists($file)) {
        throw new Exception('Autoload class: File '.$file.' not found');
    }
 
    require $file;
});
 
    function sss($var) {
        return $var;
    }
 
    /**
     *  Системные переменные
     **/
    $core = new Core();
    echo HOME;
 
/*# Очистка запроса модуля
$module_url = Functions::txt($_GET['url']);
 
if (preg_match('/\.php$/i', $module_url)) $module_file = true;
else $module_file = false;
 
// Если запрашивается какой-либо модуль
if (!empty($module_url))
{
    // Проверяем существование
    if (file_exists(HOME .'/modules/'. $module_url) && $module_file == true)
    {
        # Подключаем модуль
        require_once(HOME .'/modules/'. $module_url);
    }
    else if (file_exists(HOME .'/modules/'. $module_url) && $module_file == false)
    {
        // Проверяем наличие главной страницы модуля
        if (file_exists(HOME .'/modules/'. $module_url .'/index.php'))
        {
            # Подключаем главную страницу модуля
            require_once(HOME .'/modules/'. $module_url .'/index.php');
        }
        else
        {
            # Подключаем главную страницу сайта
            require_once(HOME .'/modules/index.php');
        }
    }
    else
    {
        # Подключаем главную страницу сайта
        require_once(HOME .'/modules/index.php');
    }
}
else
{
    # Подключаем главную страницу сайта
    require_once(HOME .'/modules/index.php');
}
*/
?>
0
 Аватар для Dolphin
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
06.06.2015, 13:54
Цитата Сообщение от MyZik Посмотреть сообщение
PHP
1
2
<?
# Старт сессий
а здесь <?php ?

Добавлено через 47 секунд
PHP
1
ini_set('display_errors', 'on');
0
2 / 2 / 1
Регистрация: 20.12.2013
Сообщений: 90
06.06.2015, 13:55  [ТС]
Dolphin, нет <?

Добавлено через 1 минуту
Цитата Сообщение от Dolphin Посмотреть сообщение
PHP
1
ini_set('display_errors', 'on');
Написал, ошибку не показывает.
0
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
08.06.2015, 19:40
Цитата Сообщение от MyZik Посмотреть сообщение
Если вместо <?php писать <?
вообще не по теме. ТС не понимает элементарные настройки php.
Цитата Сообщение от Dolphin Посмотреть сообщение
лучше использовать стандарт psr-4
да какой ему.. Тут вопрос о соответствии уровня проекта уровню разработчика. все переписывать нужно, по замыслу ТС.. и по ходу он хочет чтобы это сделали за него..
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.06.2015, 19:40

Процесс выполнения хранимой процедурки отобразить надо
Люди добре - подскажите как в Forms реализовать указанну задумку? А то юзер жмет на кнопку (идет обработка одной таблички и запись в...

нетбук с каким процом лучше n550(2 ядра )или C-50(2 ядра )?
всем привет решил в следюющем году сдать егэ по инфе =&gt; надо готовится и учить програмирование а без практики одной теории мало по этому...

Помогайте выбрать: видюха 640М и проц i7 2.4Гц (4 ядра) или 750M и i7 2Гц (2 ядра) ?
Приветствую. Вот занес уже руку в кошелек для покупки ноута Acer ASPIRE V5-572G но тот засомневался в сторону V3-571G. Оба с ips...

Что будет лучше i7 2630qm (2 Гц 4 ядра) vs i5 3230m (2,6 Гц 2 ядра) ?
Что будет лучше i7 2630qm (2 Гц 4 ядра) vs i5 3230m (2,6 Гц 2 ядра) ? Не использую программы поддерживающие многопоточность.

Что выбрать: Intel 2 ядра или AMD 4 ядра?
Нужен дельный совет от гуру! Могу взять АМД проц 4 ядра, либо интеловский 2 ядерный, цена примерно та же. Боюсь, что с интеловским...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Эксперимент с картинкой-обложкой на CodinGame
Adler 10.07.2026
Решил на днях провести эксперимент. У меня есть аккаунт на CodinGame, ТОП-3 по РФ среди 2200 участников (в разделе соревнования по программированию ИИ-ботов). Там есть обложка, куда можно влепить. . .
После бана на Пикабу не работает авторизация аккаунта с Яндекса.
Hrethgir 09.07.2026
В частности https:/ / auto. ru/ logbook/ zapret-na-vozhdenie-posle-65-let_1cf28789-07b4-4c75-a2f7-4cd4edf9deeb тут хотел оставить комментарий такой Зрите в корень - монополизация на разработку программ. . .
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru