Własna klasa do obsługi PDO

0

Hej,
wymyśliłem sobie, że napiszę jakąś prostą funkcję do obsługi połączenia PDO i wykonywania zapytań. Chcę, żeby to wyglądało mniej więcej w taki sposób:

database_connect($host, $db_name, $user, $password);

Napisałem jakiś tam kod. W zasadzie on nic nie robi, bo nie do końca wiem jak się za to zabrać.

Oto kod:

<?php
	class SqlDatabase{
		private $host, $db_name, $user, $password;
		public function databaseConnection($host, $db_name, $user, $password){
			$this->host = $host;
			$this->db_name = $db_name;
			$this->user = $user;
			$this->password = $password;
			return $this;
		}
	}
	$obj = new SqlDatabase();
	$obj->databaseConnection('localhost', 'database', 'root', '');
?>

Mam prośbę, żeby ktoś podrzucił jakieś rady na temat tego jak napisać taką funkcję oraz jak obsługiwać potem zapytania.

0

W zasadzie on nic nie robi, bo nie do końca wiem jak się za to zabrać.

Ja bym na Twoim miejscu w takim razie siadł i zrozumiał najpierw OOP, a potem zaczął pisać.

Przykłady:
http://culttt.com/2012/10/01/roll-your-own-pdo-php-class/
https://github.com/indieteq/indieteq-php-my-sql-pdo-database-class

0

Przede wszystkim taki kod to ma być struktura klas. Bazowa klasa abstrakcyjna (lub interfejs w zależności od potrzeb), która ma metody wspólne dla wszystkich możliwych SZBD. Czyli np: łączenie z bazą, wykonanie zapytania, pobranie rezultatu itd. Potem zazwyczaj tworzy się klasy potomne, gdzie każda klasa odpowiada za jeden konkretny SZBD. Czyli w taki sposób możesz sobie zbudować hierarchię, która obsługuje MySQL, MSSQL, ORACLE, SQLite i co sobie tylko wymyślisz. A jakie są inne zalety (oprócz obiektowości)? Ano takie, że gdy chcesz zmienić SZBD, to zmieniasz w kodzie tylko jedną linijkę. Jeśli chcesz dopisać obsługę nowego SZBD, tworzysz nową klasę. Polecam Ci popatrzeć, jak są potworzone takie hierarchie w różnych frameworkach. Chociażby phpbb.

1 użytkowników online, w tym zalogowanych: 0, gości: 1