Почему в конструкторе не работает эхо и вызов метода?

<?php

echo "entering php file";

    class Databasemanager{

        private $server = "localhost";
        private $dbName = "mytest";
        private $user = "root";
        private $pass = ""; 
        private $conn = "";

        function __CONSTRUCT(){
            establishConnection();
            echo "in class constructor";
        }

        private function establishConnection(){
            try {
                $this->conn = mysqli_connect($this->server, $this->user, $this->pass, $this->dbName);
                if ($this->conn) {
                    return true;
                    echo "connection established";
                } else {
                    return false;
                    echo "connection not established";
                }
            }
            catch (Exception $e){}
        }

        function executeQuery($query, $type){

            if ($this->establishConnection()){

                    switch($type){
                        case 'read':
                            $data = mysqli_query($this->conn, $query) or die(mysqli_error($this->conn));
                            $result = mysqli_fetch_assoc($data);
                            return $result;
                        break;

                        case 'read_many':
                            $data = mysqli_query($this->conn, $query) or die(mysqli_error($this->conn));
                            return $data;
                        break;


                        case 'update':
                            $a = mysqli_query($this->conn, $query) or die(mysqli_error($this->conn));
                            if ($a){
                                return true;
                            }else{
                                return false;
                            }
                        break;

                        case 'insert':
                            $a = mysqli_query($this->conn, $query) or die(mysqli_error($this->conn));
                            if ($a){
                                return true;
                            }else{
                                return false;
                            }
                        break;


                    }
            }   

        }


         function closeConnection(){
            mysqli_close($this->conn);
        }




    }

    ?>

Используйте $this->establishConnection();

Jaydp 18.07.2018 07:54
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
62
1

Ответы 1

У вас есть ошибка в вашем конструкторе, которая останавливает продолжение программы, вызов establishConnection() должен быть ...

function __construct(){
    $this->establishConnection();
    echo "in class constructor";
}

Итак, когда вы создаете новый объект ...

$test = new Databasemanager();

ваше сообщение будет отображаться.

Если добавить ...

error_reporting(E_ALL);
ini_set('display_errors', 1);

в начале ваших файлов для разработки, такого рода ошибки будут проявляться более четко.

по-прежнему нет работающей функции __construct () {$ this-> installConnection (); echo "в конструкторе класса"; }

Qazi Ehsan 18.07.2018 08:36

просто вывод, что отображается эхо «вход в файл php»

Qazi Ehsan 18.07.2018 08:40

Итак, вы создаете объект (как в $test = new Databasemanager();). Конструктор не запускается, пока вы не создадите объект этого типа.

Nigel Ren 18.07.2018 08:41

теперь его отображаемое эхо в конструкторе класса, но по-прежнему функция не имеет вывода

Qazi Ehsan 18.07.2018 08:45

Какого результата вы ожидаете?

Nigel Ren 18.07.2018 08:46

Я заметил, что в вашей функции establishConnection() перед эхом стоит return, поэтому они не будут отображаться.

Nigel Ren 18.07.2018 08:52

Другие вопросы по теме