Jump to content
php.lv forumi

MySQL klase


Guest Medniex

Recommended Posts

Guest Medniex

Lai lapa strādātu ātrāk, parasti pats kodā rakstu pieslēgšanos DB, datu lasīšanu, rakstīšanu, rezultātu atbrīvošanu utt (runa iet tikai par MySQL DB serveri). Iesakiet kādu mazu MySQL klasi, kura veic tikai nepieciešamākās darbības - insert, update, select(arī kā asociētu masīvu). Cik atceros, bija tāds latviešu ražojums - VenMySQL. Ko jūs paši izmantojat?. Kaut kā smago ADO DB negribās izmantot...

Link to comment
Share on other sites

Nubet ja nav plāns kādreiz migrēt uz kādu citu DB un ir vēlme lai viss strādātu maksimāli ātri tad izmantot kaut kādu klases un redefinēt visas mysql_* funkcijas būtu diezgan jocīgi ..

 

Ja tomēr gribās unificēt tad var izmantot paša php 'native' iespējas .. proti PDO http://lv.php.net/pdo un tad piekurbulēt kādu nu DB draiveri gribās

Link to comment
Share on other sites

Medniex --> pilniigi piekriitu Roze.

Ja tev no DB nenotiek 1001 pieprasijumu tad kaada jeega ir 2 defineet f-jas?

+ visi taa kaa traki OOP un OOP nu padomaajiet kad tas tieshaam ir nepiecieshams....

(ir situaacijas kad bez taa ir Ljoti gruti iztikt)

------

PHP pati peec savas buutiibas ir Lineari functionla programmeeshanas valoda....

kadeelj vinjai jauzspiezj OOP?

P.S. kaa jau mineeju OOP ir labi tur kur vinju tieshaam vajag... nevis ielikt klasee 1 f-ju un peectam, neko nemainot, to f-nju saukt kaa objekta f-ju --> kodaa vismaz 1 lieka rindinja + kods kljuust nelasaamaks + lenaaks + jeega nekaada ...

Link to comment
Share on other sites

viss ko vajag ir 3 funkcijas:

1 - pievienojamies

2 - pieprasijumi

3 - pieprasijumi kuri atgriež vienu rindu ( var arī iztikt ar pirmajām 2 divām )

 

neredzu jēgu taisīt veselu klasi priekš DB, ko tu tur vairāk liksi iekšā

 

P.S. ar MySQL gan sen jau neesu strādājis, bet gadu atpakaļ pietika, ORACLE pilnībā pietiek ar šādu variantu

Link to comment
Share on other sites

PHP pati peec savas buutiibas ir Lineari functionla programmeeshanas valoda....

Tu smagi maldies. PHP nav funkcionāla programmēšanas valoda. Funkcionālas programmēšanas valodas ir Lisp, ML un tml. PHP ir imperatīva programmēšanas valoda (tāpat kā C, paskāls un tml).

 

A par tēmu runājot - kā jau Roze minēja, paskaties uz PDO klasēm, kas nāk līdzi php 5.1 un 5.0 tās ir iespējams pieslēgt kā pecl moduli (vismaz Windows variantā).

Link to comment
Share on other sites

viss ko vajag ir 3 funkcijas:

1 - pievienojamies

2 - pieprasijumi

3 - pieprasijumi kuri atgriež vienu rindu ( var arī iztikt ar pirmajām 2 divām )

neredzu jēgu taisīt veselu klasi priekš DB, ko tu tur vairāk liksi iekšā

P.S. ar MySQL gan sen jau neesu strādājis, bet gadu atpakaļ pietika, ORACLE pilnībā pietiek ar šādu variantu

Nu īstenībā var jau tai klasē iebāzt vēl šādas tādas derīgas lietas, piemēram, atribūtu - masīvs, kas saglabā visus objekta dzīves laikā izpildītos SQL teikumus debugošanai... vēl šo to var iebāzt, bet vai vajag tas ir jautājums. Pats šādu klasi uzcepu vienam projektam un nu jau pusgadu sekmīgi to lietoju, taču brīžiem māc šaubas vai tam bija liela jēga šai gadījumā. Protams, ir situācijas, kur klases PHP ļoti atvieglo programmētāja dzīvi. Pat u PHP 4.x var OOP izmantot tikai tas ļoti sux, OOP uz PHP 4.x ir iekodēts sūdīgi un strādā lēni un aprij nenormālu atmiņas daudzumu. Uz PHP 5.x OOP ir itkā realizēts daudzreiz labāk (PHP 5.x es gan neizmantoju, jo visu ko vjaag var uz PHP 4.x arī uztaisīt :)
Link to comment
Share on other sites

Nemaz jau tik smags tas ADODB nav, esmu testējis, konketu ar datubāzi tas veic ātrāk nekā piemēram PEAR::DB

 

tie takš sauc vienu un to pašu native f-ju ;)

Citlieta, ja PHP ir iesetots pārgudrais errro_handlers kurš pēc konekta ieraksta pārs failos statistiku vai apstrādā erroru, tā it kā tā būtu kaut kāda katastrofa...

 

dažreiz tomēr ir ērtāk kodēt OOP stilā, ja bieži tiek lietotas kaut kādas konstrukcijas

DB::function result_handler($res, $func)
{
while($row = mysql_fetch_row($res) )
{
	$func($row);
}
}

function manafunkcija($row)
{
  print_r($row);
}

$sql = '...';
$hRes = $db->query($sql);
$db->result_handler($hRes,'manafunkcija');

 

šādi nevajadzēs rakstīt N ciklus, bet vnk izsaukt callback-u

Edited by Delfins
Link to comment
Share on other sites

a es vienreiz izraku kkādu db klasi.. ja nemaldos tad tā bija no wordpress. maza, ātra un funkcionāli vienkārša. + modifikācijas manām vajadzībām un whoala! viss strādā aš pat ideāli :)

Link to comment
Share on other sites

×
×
  • Create New...