Klasa do automatycznego łączenia klas php
Jak zawsze, surfuj po Internecie, w poszukiwaniu ciekawych rozwiązań natknąłem się na tę klasę automatycznego łączenia klas, wykonane w php. Długo nie będę pisać., Po prostu podzielę się nim z czytelnikami mojego bloga., kto programuje, zrozumie.
Cała praca nad stworzeniem i połączeniem klasy składa się z kilku etapów:
- Tworzymy 2 pliki index.php i autoload.php.
- Musimy wstawić naszą klasę do pliku autoload.php.
- W pliku index.php podłączymy się i wypróbujemy działanie klasy.
- Obok plików index.php i autoload.php musisz utworzyć foldery
- kontroler
- Model
- pogląd
Kod klasy dla pliku autoload.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 |
<?php class autoloader { public static $loader; public static function init() { if(self::$loader == NULL) { self::$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); } } |
1 2 3 |
define("ROOT_DIR",dirname(__FILE__).'/'); require_once "autoload.php"; $autoloader = new autoloader(); |
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 |
<?php class cconfig { private $params; function get($param1, $param2) { return $this->params[$param1][$param2]; } function __construct() { $this->params = array ( 'database' => array ( 'server' => 'localhost', 'login' => 'mylogin', 'password' => 'pass', 'dbname' => 'db', 'charset' => 'utf8' ), 'extra' => array ( 'adress' => 'siteadress', 'adminemail' => 'info@wp-admin.com.ua' ), 'pics' => array ( 'small_w' => '120', 'small_h' => '120', 'small_path' => 'pics/small/', 'big_w' => '250', 'big_h' => '335', 'big_path' => 'pics/big/', 'max_pics' => '6', 'objpicbig_w' => '541', 'objpicbig_h' => '335', 'objpicbig_path' => 'pics/objbig/', 'objpicmini_w' => '51', 'objpicmini_h' => '46', 'objpicmini_path' => 'pics/objmini/' ), 'other' => array ( 'groupid' => '15', 'groupid' => '4', 'groupid' => '3' ), ); } function __destruct() { } } ?> |
1 2 3 4 5 |
define("ROOT_DIR",dirname(__FILE__).'/'); require_once "autoload.php"; $autoloader = new autoloader(); $cConfig = new CConfig; echo $cConfig->get('database', 'login'); |
Ten projekt jest wykonywany raz podczas opracowywania i może być używany, więc aby zaoszczędzić Twój czas, starannie spakowałem wszystko do archiwum i umieściłem na swoim blogu:
Jeśli ten kod był dla kogoś przydatny, Napisz w komentarzach, Będzie mi miło, jeśli otrzymam dobrą opinię na temat wykonanej pracy.
/*
- Podstawowy kurs projektowania stron internetowych;
- Układ stron;
- Ogólny kurs CMS WordPress oraz kontynuacja kursu dotyczącego tworzenia szablonów;
- Tworzenie stron internetowych w PHP.