Ошибка Fatal error: Class 'Db' not found

283
10 декабря 2016, 10:12

Есть файл lorem.php, в нём есть код:

    <?php
    class Header
    {
        public static function getData() {

            $db = Db::getConnection();

В этом файле всё работает отлично, запросы к базе выполняются. А вот когда я хочу получить переменную из этого файла в другом:

<?php

        include_once('/../models/lorem.php');
        $resultid = Header::getData();

То мне выдаёт ошибку : Fatal error: Class 'Db' not found in D:\wamp\www\models\lorem.php

Наверное полезной информацией будет то, что второй файл вызывается Ajax-запросом в html файле, в другой директории. Уже перепробовал всё в разных варриациях, ничего не помогает ...

Answer 1

Просто напросто он у вас не находит файл с классом Db.

У вас в lorem.php прописан импорт класса Db, и указан относительный путь к нему. Когда вы вызываете include, все относительные пути включенного файла начинают считаться относительно расположения файла В КОТОРЫЙ он включается.

Поэтому, если у вас в lorem.php написано

require 'class/Db.php';

То при выполнении

include_once('/../models/lorem.php');

Db.php ищется не в /../models/class, а в class/ относительно каталога запуска основного скрипта.

Почитайте про автоматическую загрузку классов

Answer 2

Всегда указывайте абсолютные пути к файлам через константу __DIR__

require __DIR__ . /classes/db.php
include_once(__DIR__ . '/../models/lorem.php');
READ ALSO
PHP Headers. Ошибка

PHP Headers. Ошибка

Есть один сайт, хочу оттуда получить json данныеЗапросы на сайт отправляются через приложение Android

264
Поиск по строке в php

Поиск по строке в php

Нужно осуществить поиск по строке формата:

273
Pubnub утечка памяти

Pubnub утечка памяти

Здравствуйте! Подскажие, из-за чего происходит утечка памяти?

317
Парсинг JSON, возвращаемый php в java android

Парсинг JSON, возвращаемый php в java android

Привет, у меня есть php, который мне json'ом возвращает несколько значений:

390