рпр Posted November 5, 2004 Report Share Posted November 5, 2004 man liekas ka nav iisti korekti taisiit die funkciju viduu, bet labaak izvadiit false. es parasti nodefineeju klases mainiigo error, kur tiek iemests kljuudas paskaidruojums un pirms false ieraksta kas bija pa kljuudu. Link to comment Share on other sites More sharing options...
john.brown Posted November 6, 2004 Report Share Posted November 6, 2004 (edited) man liekas ka nav iisti korekti taisiit die funkciju viduu Strīdīgs jautājums. Pirmajā brīdī tā liekas. Bet : 1) vai ir jēga izpildīt tālāk kodu, ja nav atvēries fails? 2) lai jēdzīgi un smuki izvestu kļūdas beigās no mainīgās, jāekranē paša php ziņojumi (@fopen($file,"w")), bet tad no tām kļūdām ir maz jēgas - es pats varu max uzrakstīt "Nevaru avert failu $file", bet kāpēc nevaru, to tā arī neuzzināšu. Ja pareizi saprotu, iekš php nav mainīgā, kurā viņš pats ievietotu savus kļūdu ziņojumus (analogu Perla $@ vai $!). 3) PHP manuālī par OOP viņi paši piemēros taisa funkcijas vidū die() :) Tās bāzītes pārrakstīšanas sākums varētu būt apmēram šitāds: http://paste.php.lv/1359 Varbūt tā būs interesantāk pakomentēt? Edited November 6, 2004 by john.brown Link to comment Share on other sites More sharing options...
bubu Posted November 6, 2004 Report Share Posted November 6, 2004 http://lv.php.net/manual/en/reserved.varia...les.phperrormsg Link to comment Share on other sites More sharing options...
john.brown Posted November 6, 2004 Report Share Posted November 6, 2004 This variable will only be available within the scope in which the error occurred, and only if the track_errors configuration option is turned on (it defaults to off). Ar to rēķināties diez vai var :) Link to comment Share on other sites More sharing options...
bubu Posted November 6, 2004 Report Share Posted November 6, 2004 Un kāpēc nevar? Link to comment Share on other sites More sharing options...
john.brown Posted November 6, 2004 Report Share Posted November 6, 2004 (edited) Ja viņš defaultā ir izslēgts, tad nav nekādas garantijas, ka labais sisadmins viņu būs ieslēdzis :) 2Venom Vai tad galīgi nekā nav ko teikt par to klassīti http://paste.php.lv/1367? It kā būtu pārrakstīta vispārējos vilcienos. Gribu vēl order funkciju pielikt. Te ir uz ātru roku lietošanas pimērs: lietošana Edited November 7, 2004 by john.brown Link to comment Share on other sites More sharing options...
john.brown Posted November 7, 2004 Report Share Posted November 7, 2004 Uzrakstīju orderBy() funkciju, un it kā pat strādā. Bet man nez kāpēc liekas, ka īsti smuka viņa nav, tik nekādi nevaru saštukot, kā to jēdzīgāk izdarīt. Liekas, ka array_multisort() varētu līdzēt kaut kā... Varbūt kāds ko ieteiks? function orderBy($colname,$order = 'ASC',$type = SORT_REGULAR) { $sortarr = array(); for($i = 0;$i < count($this->result);$i++) $sortarr[$i] = $this->result[$i][$colname]; if($order == 'ASC') asort($sortarr,$type); if($order == 'DESC') arsort($sortarr,$type); $sorted = array(); foreach(array_keys($sortarr) as $key) $sorted[] = $this->result[$key]; return $this->result = $sorted; } Link to comment Share on other sites More sharing options...
Venom Posted November 8, 2004 Report Share Posted November 8, 2004 klasi pārāk gari skatīties, kad vēl darbs nedarīts stāv ;) + kaučkādi gatavie varianti laikam ir (Sqlite?) no redzēta orderBy: forā count() nevajadzētu izmantot, it īpaši, ja masīva var būt tūkstošiem elementu (nosacījums tiek novērtēts, lasi - count tiek pārrēķināts pie katra for cikla), + tad, kad jāizskrien masīvs, vienmēr labāk būtu izmantot predekrementu - --$i (n.b. šajā gadījumā arī inkrementu būtu jāizmanto ar "pre" - ++$i), resp. $tmp=count($this->result); while(--$tmp>-1) $sortarr[$i]=$this->result[$i][$colname]; un atkal jau foreach(array_keys() ... ) izskatās ļoti aizdomīgi - tā, it kā array_keys() tiktu izsaukts pie katra caurgājiena if ($order=='ASC') else ..., ja vien nedomā izmantot kādu citu orderēšanas veidu multisortā laikam gan derētu ieskatīties. Link to comment Share on other sites More sharing options...
john.brown Posted November 8, 2004 Report Share Posted November 8, 2004 Paldies, par to count() netiku padomājis :) Nu vo, palaboju un vēl piebēru funkcionalitāti :) Būs laiks, paskaties, plz. Tavi padomi ir ļoti vērtīgi. Te ir svaigais variants: http://paste.php.lv/1369 A te lietošana:http://paste.php.lv/1370 Multisortā tiku ieskatījies ne reizi vien, bet, godīgi sakot, neko vairāk par neskaidru nojausmu, ka tas ir tas, ko vajag, neguvu - manualī viņi assoc. massīvus vispār neapskata :( Varbūt pastulbs esmu... Kā sazortēt assoc. massīvu massīvu pēs viena no elementiem paliek pilnīgi nesaprotams. Link to comment Share on other sites More sharing options...
Venom Posted November 8, 2004 Report Share Posted November 8, 2004 Tā uz ātro ieskatījos: function set_err($mess = '') { $this->errors[]=$mess; //nav ko lieki izsaukt funkcijas, kur var iztikt ar operatoru return false; } tad $this->set_err('whateva'); return false vietā var rakstīt uzreiz return $this->set_err('whateva'); un arī "Can not create table \"$database\"!" vieglāk un labāk rakstīt 'can not ...'.$database.'!' hints1: tā kā varētu būt, ka bieži tiek rakstīts failā, tad derētu nevis uzticēties lockiem (kuru winos nav, bet rakstīt no sākuma temp failā un pēc tam pārlikt to par vajadzīgo) hints2: tā kā tik un tā streso RAMu ar faila lasīšanu un explodēšanu - varbūt uzreiz apskaties serialise/unserialise f-jas? iekš php, ja masīvs ir tukšs tad if(masīvs) arī atgriešz false, resp. if(!count($this->errors)) { return false; } #192 $err = $this->errors; #193 $this->errors = array(); #194 return $err; var pārrakstīt kā $tmp=$this->errors; $this->errors=array(); return $tmp; NB: foreach($data as $d) { foreach(array_keys($d) as $key) echo $key.' => '.$d[$key].'<br>'; vietā lieto print '<pre>'.print_r($data,1).'</pre>'; iekš VenPad-a snippets "chk" Link to comment Share on other sites More sharing options...
john.brown Posted November 8, 2004 Report Share Posted November 8, 2004 (edited) Jā, ar error funkcijām drusku pārcentos :) Viņas gan man tur tāpat ir bērnudārza līmenī. Līdz pilnvērtīgai kļūdu apstrādei rakstīt un rakstīt... Serialize/unserialize funkcijas es tiku meģinājis izmantot vienā citā projektā, bet nonācu pie secinājuma, ka strādā viņas tomēr lēnāk par explode/implode. Ar vienu vārdu sakot, atteicos no viņām neskatoties uz acīm redzamām lietošanas ērtībām kodā. Par lokiem. Zinu, ka winos viņu nav, bet php jau parasti tomēr strādā Unix/Linux sistēmās, un tur tie tomēr ir diezgan droši (IMHO). Taču temp fails droši vien paaugstinās datu drošību. Laikam tā arī darīšu... Paldies par komentāru. Ja Vēl ko ievērības cienīgu pamanīsi, būšu pateicīgs :) p.s. Jā, ar <pre></pre> print_r izskatās stipri cilvēcīgāk :D Edited November 8, 2004 by john.brown Link to comment Share on other sites More sharing options...
Blitz Posted November 23, 2006 Report Share Posted November 23, 2006 es jau zinaju, ka kads te pec 8h programmesanas pa vakariem repo :) Link to comment Share on other sites More sharing options...
gabrielj Posted November 28, 2006 Report Share Posted November 28, 2006 Hallo everybody I am going to go to Italy, but can't decide where exactly Can you advise me something ? Has anybody been to that country? what are your impression? Will be grateful for your help Link to comment Share on other sites More sharing options...
Stopp Posted November 28, 2006 Report Share Posted November 28, 2006 The best place there, as far as I remember, was somewhere in conf directory. Maybe it was httpd.conf, maybe srm.conf, I don't remember. But italian index in htdocs directory was also cool. Oh, and don't forget to RewriteURL, otherwise it's too hot. And if you have PHP installed on, change the configuration of GD library, you know, turn it on. That makes it prettier if you have images :) Link to comment Share on other sites More sharing options...
Val Posted November 28, 2006 Report Share Posted November 28, 2006 don't forget to restart webserver :D Link to comment Share on other sites More sharing options...
Recommended Posts