QimenMedlem sedan juni 20015 009 inlägg Är det alltid bra att bygga i klasser?
Har suttit ett tag nu och byggt ett inloggningssystem. Allt fungerar men nu funderar jag på om jag ska ha mysqlanslutningen i en klass eller inte.
mysql_connect('address', 'user', 'passs');
mysql_select_db('usr_2');
Eller mot denna som verkligen känns onödig.
<?php
class MySQL {
var $mysql_host;
var $mysql_user;
var $mysql_password;
var $mysql_DBC;
var $mysql_QueryReturn;
function MySQL($host, $user, $password) {
$this->mysql_host = $host;
$this->mysql_user = $user;
$this->mysql_password = $password;
}
function connectDB() {
$this->mysql_DBC = mysql_connect($this->mysql_host, $this->mysql_user, $this->mysql_password)
or die("<BR><BR>Could not connect");
}
function disconnectDB() {
mysql_close($this->mysql_DBC);
}
function selectDB($db) {
mysql_select_db($db, $this->mysql_DBC)
or die("<BR><BR>Could not select database");
}
}
?>
<?php
$mysql = new MySQL('localhost', 'user', 'passwd');
$mysql->connectDB();
$mysql->selectDB('tabellen');
$mysql->disconnectDB();
?>
Det som är bra med den andra är ju att man kan vidareutveckla den och få fram ett bra system med felmeddelanden. Men den känns onekligen onödig ändå. :l
Det andra exemplet är taget ifrån phpportalen.net
SPiNMedlem sedan mars 20007 896 inlägg Fördelen med klasser är att du kan skriva återanvändbar kod, samt göra s.k. wrapperklasser för att göra olika saker beroende på någonting. T.ex. en wrapperklass för att använda olika typer av databaser vid olika tillfällen. Då är det effektivt samt återanvändbart att använda klasser. Din klass i det här fallet kan kännas onödig, men med lite vidarutveckling och med egna metoder för t.ex. felhantering blir den mer användbar.
Jag skulle råda dig att skriva ihop ett klassystem för att hantera olika typer av DBMS's, beroende på vilket system du integrerar klassen i. För att vara ett exempel på en databas-klass. Klasser kan sedan vara bra på mycket andra saker, som att strukturera komplex data, m.m.
Hänger du med på hur jag menar?
QimenMedlem sedan juni 20015 009 inlägg Jopp, jag förstår. Innan har jag tyckt det varit så lite men nu när jag byggt det andra i klasser så känns det bättre om man har denna med i en klass.
Det med att ha olika typer av DBMS's är ju rätt praktiskt men är en sak jag inte tänkt på ännu. Jag håller på med att fixa en funktion nu som jag kan använda med db:n så att jag får ett bra system med felhanteringen. :)
QimenMedlem sedan juni 20015 009 inlägg En liten följdfråga, ska man dela upp i flera klasser eller ha allt i en enda?
Jag börjar få en hel del funktioner nu. Som nu har jag en klass till registrering, en åt in/utloggning och funktioner därtill samt en klass där jag har funktioner åt själva sidan.
Nexus86Medlem sedan okt. 20023 030 inlägg Det är nog mest en smaksak men jag brukar ha det i flera klasser. Kör en klass i varje fil och inkluderar filerna. På så sätt så blir det lättare att redigera klasserna då det inte blir en enda lång fil att titta igenom utan flera (med beskrivande namn ;)) som är mycket kortare. :)
QimenMedlem sedan juni 20015 009 inlägg
Nexus86 skrev:
Det är nog mest en smaksak men jag brukar ha det i flera klasser. Kör en klass i varje fil och inkluderar filerna. På så sätt så blir det lättare att redigera klasserna då det inte blir en enda lång fil att titta igenom utan flera (med beskrivande namn ;)) som är mycket kortare. :)
Lite så jag tänkt med, men det blir inte större prestandaskillnader? Man tänker ju lätt att en lång klass tar längre tid att gå igenom än en kortare. Har man flera klasser så inkluderar man inte funktioner som inte behövs just där ju. :)
Nexus86Medlem sedan okt. 20023 030 inlägg Det beror nog alldeles på vad man har för funktioner i klasserna och om man behöver alla på just den sidan. Jag har t.ex. en klass för databaser och en klass för templates (gör hela kodandet så mycket lättare, det enda jobbiga är att koda tolken ;)). Templates använder jag på alla sidor eftersom det behövs på varje sida, databasklassen använder jag bara på sidor som använder databasen.
Sedan så tror inte jag att php kollar igenom alla funktioner och ser vad koden i den funktionen gör innan den funktionen används. Möjligtvis att den kollar vilka funktioner som finns men inte mer.