Задавайте питання щодо курсів WordPress

Клас для автоматичного підключення класів php

Як завжди лазячи в інтернеті, у пошуках цікавих рішень натрапив на такий клас автоматичного підключення класів, зроблений мовою php. Довго розписувати не стану, просто поділюся знахідкою з читачами блогу, хто програмує, зрозуміє.

 

Вся робота зі створення та підключення класу складається з кількох етапів:

  1. Створюємо 2 файлу index.php та autoload.php.
  2. У файл autoload.php необхідно вставити наш клас.
  3. У файл index.php будемо підключати та пробувати роботу класу.
  4. Поруч із файлами index.php та autoload.php необхідно створити папки
    1. контролер
    2. модель
    3. переглянути

Код класу для файлу autoload.php

<?php
class autoloader {
    публічна статична $loader;

    публічна статична функція init()
    {
        if(Самостійної::$завантажувач == NULL) {
            Самостійної::$loader = new self();
        }
        return self::$loader;
    }

    public function __construct()
    { 
        spl_autoload_register(array($this, 'controller'));
        spl_autoload_register(array($this, 'model'));
        spl_autoload_register(array($this, 'view'));
    }

    public function library($class){
        set_include_path(ROOT_DIR . '/lib');
        spl_autoload_extensions('.php');
        spl_autoload($class);
    }

    public function controller($class){
        set_include_path(ROOT_DIR . '/controller');
        spl_autoload_extensions('.php');
        spl_autoload($class);
    }

    public function helper($class){
        set_include_path(ROOT_DIR .'/helper');
        spl_autoload_extensions('.php');
        spl_autoload($class);
    }
    public function view($class){
        set_include_path(ROOT_DIR .'/view');
        spl_autoload_extensions('.php');
        spl_autoload($class);
    }

    public function model($class){ 
        set_include_path(ROOT_DIR .'model');
        spl_autoload_extensions('.php');
        spl_autoload($class);
    }
}

Далі створюємо константу ROOT_DIR і підключаємо до файлу index.php створений клас, за допомогою require_once.

define("ROOT_DIR",dirname(__ФАЙЛ__).'/');
require_once "autoload.php";
$autoloader    = new autoloader();

Ось у принципі і все, тепер залишилося лише створити додатковий клас та підключити його. Наприклад, я створив клас конфігурації cconfig.php для сайту і поклав його до папки модель.

<?php 
	class cconfig {
	private $params;

	функція отримати($парам1, $парам2) {
		повернути $this->Параметри[$парам1][$парам2];
	}

	function __construct() {
		$це->params = масив (
			'база даних' => array (
				'сервер' => 'localhost', 
				'Логін' => 'Мілогін', 
				"пароль" => 'Pass', 
				'dbname' => 'БД', 
				'charset' => 'UTF8'
			), 
			'extra' => array (
				'адреса' => 'siteadress',
				'adminemail' => 'info@wp-admin.com.ua'
			),
			'фото' => array (
				'small_w' => '120',
				'small_h' => '120',
				'small_path' => 'фотографії/малі/',
				'big_w' => '250',
				'big_h' => '335',
				'big_path' => 'Фото / Великий / ',
				'max_pics' => '6',
							  'objpicbig_w' => '541',
                'objpicbig_h' => '335',
                'objpicbig_path' => 'pics/objbig/',
                'objpicmini_w' => '51',
                'objpicmini_h' => '46',
                'objpicmini_path' => 'Pics/objmini/'
			),
			'інше' => array (
                'groupid' => '15',
                'groupid' => '4',
                'groupid' => '3'
            ), 
		);
	}

	функція __destruct() {
	
	}
}
?>

Доопрацюємо код у файлі index.php.

define("ROOT_DIR",dirname(__ФАЙЛ__).'/');
require_once "autoload.php";
$autoloader    = new autoloader(); 
$cConfig = новий CConfig;
відлуння $cConfig->отримати('База даних', 'Вхід');

Як видно з коду вище для підключення нового класу, нам не знадобилася конструкція require_once, оскільки створений вище клас autoloader підключив клас CConfig.

Дана конструкція при розробці робиться один раз і її можна використовувати, так що для економії вашого часу я акуратно все запакував в архів і викладаю на своєму блозі:

Скачать архив с примером

Якщо комусь цей код був корисний, пишіть у коментарях, буду радий хорошим відгукам про виконану роботу.


Купити хостинг WordPress
/* Репетитор по wordpress
Послуги репетитора онлайн. Список курсів, які я веду
  • Базовий курс з веб-дизайну;
  • Верстка сайтів;
  • Загальний курс CMS WordPress та продовження курсу з розробки шаблонів;
  • Розробка сайтів на PHP.
Докладніше читайте на сторінці репетитор по WordPress
*/

Ніколаєнко Максим

Директор веб-студии ProGrafika. Займаюсь розробкою, дизайном та просуванням веб-сайтів. Завжди радий новим читачам блогу та добрим клієнтам.


Вам також може сподобатися...

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються дані ваших коментарів.

Шаблони для WordPress
Найкращий хостинг в Україні
Стабільний хостинг для Drupal