На странице произошла ошибка #S51. Свяжитесь с вебмастером.На странице произошла ошибка #S51. Свяжитесь с вебмастером. PHP 5.6 и PHP 7 на русском: Руководство по PHP

Руководство по PHP

от:
Mehdi Achour
Friedhelm Betz
Antony Dovgal
Nuno Lopes
Hannes Magnusson
Georg Richter
Damien Seguy
Jakub Vrana
2014-05-16
Под редакцией: Philip Olson
от:
Алексей Шеин
Андрей Безруков
Максим Чабан
Александр Москалёв
Борис Клименко
Дмитрий Винярчук
Борис Флейтлих
Алексей Егоров
Юрий Бабиков
Михаил Баранов

Коментарии

A better way to implement singleton desygn pattern and resquest data from a json file to connect to a database mysql. this is from my development project.

<?php
namespace Simulab\Simulab\models\connections;

/**
 * Desygn Pattern: Construction: Singleton method.
 */
class SimulabConnection
{
   
    private static 
$instance null;
    private static 
$pdo null;

    private function 
__construct()
    {
       
    }

   
/**
     * This method get information like servername, database, user and password from a json file
     * All The informations about the database connections.
     */
   
public static function getJsonData():object{

       
$filename  '../../config/json/sgbd_informations.json';

        if (
file_exists($filename)) {

           
$data file_get_contents($filename);
           
$infodbjson_decode($data);

            return 
$infodb;
        }else{
            return 
null;
        }
       
    }

    public static function 
connect():?\PDO{

        if (
is_null(self::$instance)) {
           
self::$instance = new self;

           
$infodbself::getJsonData()!=null?self::getJsonData():null;

           
$server$infodb->server;
           
$database$infodb->database;
           
$user$infodb->user;
           
$password$infodb->password;

           
$options= [\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION];
           
self::$pdo = new \PDO("mysql:host=$server;dbname=$database"$user$password$options);

        }

        return 
self::$pdo;
       
    }

}
2024-06-24 06:32:23
http://php5.kiev.ua/manual/ru/index.html

    Поддержать сайт на родительском проекте КГБ