Въпрос за класовете

adrian

Registered
За какво точно служат класовете и ако може някой и друг прост пример за използването им, защото си взех PHP 5 Професионално програмиране, но като се почна с тия класове и не разбирам изобщо за какво мога да ги ползвам :oops:
 

mute

Registered
класовете са използват когато пишеш по сложни пхп приложения и спестяват доста код
класовете са част от обекното програмиране
хубавото е че може да си напишеш един клас и после да си го използваш в други сайтове
примерно клас за регистрация е етс
 

mute

Registered
ами освен да ти дам пример от книгата ;)

class auth {

function Auth (){
mysql_connect('localhost','root','');
mysql_select_db('mynews');
}

public function addUser($user, $pass1 , $pass2){
$q='SELECT * FROM users WHERE user="'.$user.'"';
$r=mysql_query($q);
if(mysql_num_rows($r)<1 and $pass1==$pass2){
$q='INSERT INTO users(user , pass) VALUES("'.$user.'" , "'.md5($pass1).'" )';
$r=mysql_query($q);
return true;
}else{
return false;
}

}

public function authUser($user, $pass){
$q='SELECT * FROM users WHERE user="'.$user.'" AND pass="'. md5($pass).'" ';
$r=mysql_query($q);
if(mysql_num_rows($r)==1){
return true;
}else{
return false;
}
}
}

както виждаш класат съдържа 3 функции Auth , adduser и authUser
първата е за свързване с БД втората за добавяне на потребител и 3тата за логване

когато искаш да използваш класа
$name=new auth() //името на класът
$name->addUser()//след това съответната функция
а в моя случай трябва да се подадът 2 параметра за нея Име и Парола
$name->addUser($name,$pass);
а $name и $pass са били изпратени чрез формуляр

разбирасе не е необходимо да използваш ООП
 

adrian

Registered
mute каза:
ами освен да ти дам пример от книгата ;)

class auth {

function Auth (){
mysql_connect('localhost','root','');
mysql_select_db('mynews');
}

public function addUser($user, $pass1 , $pass2){
$q='SELECT * FROM users WHERE user="'.$user.'"';
$r=mysql_query($q);
if(mysql_num_rows($r)<1 and $pass1==$pass2){
$q='INSERT INTO users(user , pass) VALUES("'.$user.'" , "'.md5($pass1).'" )';
$r=mysql_query($q);
return true;
}else{
return false;
}

}

public function authUser($user, $pass){
$q='SELECT * FROM users WHERE user="'.$user.'" AND pass="'. md5($pass).'" ';
$r=mysql_query($q);
if(mysql_num_rows($r)==1){
return true;
}else{
return false;
}
}
}

както виждаш класат съдържа 3 функции Auth , adduser и authUser
първата е за свързване с БД втората за добавяне на потребител и 3тата за логване

когато искаш да използваш класа
$name=new auth() //името на класът
$name->addUser()//след това съответната функция
а в моя случай трябва да се подадът 2 параметра за нея Име и Парола
$name->addUser($name,$pass);
а $name и $pass са били изпратени чрез формуляр

разбирасе не е необходимо да използваш ООП

мдам...така мисля, че ми стана по-ясно, мерси по-натам ако има пак проблеми ще си питам :)

Значи да го разбирам, че просто си съкращаваш работата, защото после можеш да се обръщаш с $name=new auth() и т.н ?

Ако някой се сети още възможности за ползването на класове, ще се радвам да ги сподели тук ;)
 

bafitu

Registered
с $name=new auth();
се прави така нареченото инсталиране на класа, без него нищо неможе да правиш.Виж в уроците има 1 на Our за класове що годе е обяснено и има няколко примера.
 

Горе