Jump to content
php.lv forumi

john.brown

Reģistrētie lietotāji
  • Posts

    510
  • Joined

  • Last visited

Everything posted by john.brown

  1. Cik zinu, iekš FF var izmainīt, iekš IE - nē :)
  2. Nevajag gan. Vienu php vajag laist kā cgi, otru - kā apache moduli. Un trabliem nevajadzētu būt...
  3. 2 v3rb0 Var, bet labāk tā nedarīt - pierodot močīt notices, ar laiku sāc rakstīt galīgi nelasāmu/nepavadāmu kodu. Bez tam, neaizmirstat, ka viņam massīvs (vismaz sākumā) ir: Array(0 => array($lieta => $skaits)). Pēc tam viņš to mēģina nomodificēt uz array($lieta => $skaits). Domāju, tas arī nesekmē koda izpildi :) ray Tu papriekš saproti, vai tev vajadzīgs masīvu masīvs, vai pietiek vienk ar masīvu :) Pēdējā gadījumā Gundara variants, vai v3rb0...
  4. Tādā variantā tev, domāju, $lieta == 0, un $skaits == 'Array' :)
  5. 2 cucumber Spriežot pēc taviem jautājumiem, tev lasīt, lasīt un vēlreiz lasīt... Tā kā oop ir paradigma, tad tās apgūšana prasa sistemātiskas zināšanas, un tās var iegūt tikai no grāmatām. Forums var tik palīdzēt kāda konkrēta jautājuma atrisināšanā... Bez tam tu slikti lasi arī forumā teikto. tiku tak rakstījis: Un rezultātā tu atkal piedāvā koda gabalu ar mistiskiem, nedefinētiem variabļiem... Tas, ka to var izarīt, ir php bugs. Aizmirsti to, un atceries, ka visiem klases variabļiem ir jābūt definētiem! Klasi, kas validē datus ir vērts uzrakstīt. Tik labs validātors tev vienā klasē diez vai sanāks. Saproti, ka iekš oop parasti izdala klases priekšmetu modelim (Domain Model), biznesa loģikai u.t.t Datu validēšana jāsadala loģiskās vienībās un atbilstoši jātaisa klase katrai šai vienībai. To ir grūti divos vārdos aprakstīt, tāpēc tomēr izbrīvē savu ļoti aizņemto laiku, un palasi nopietni kādu grāmatiņu par oop un design patterns... p.s. arī v3rb0 ieteikums varētu būt vērā ņemams :)
  6. 2 cucumber Ja gribi rakstīt oop, pieradinies uzreiz pie oop paradigmas lietošanas. Vēlams rakstīt iekš php5, lietot "redzamības" deklarācijas - public, protected, private. Tāpat vēlams ievērot, ka bez ļoti īpašas vajadzības pieeja pie objekta īpašībām notiek tikai caur atbilstošām metodēm. Inkapsulācija saucās, un ir viens no oop pamatpostulātiem. Un protams, visām klases īpašībām jābūt definētām, un, vēlams, arī dokumentētām. Tas, ka var bez deklarācijas piešķirt vērtību kādam variablim nenozīmē, ka tā ir jādara. Pie sarežģītākām klasēm pats sajuksi savos variabļos, un pazaudēsi visas oop priekšrocības. Pareizi tava klasīte vajadzētu izskatīties kaut kā tā: class GetFile { /** * path to file * @access private * @var string */ private $path; ... public function setPath($path) { $this->path = $path; } .... } 2w3rb0 Nu vismaz smailu būtu pielicis :) Fīča = dokumentēts bugs. Cerams, ka 6 versijā šīs "fīčas" vairs nebūs, un viņa lamāsies par šādu stilu...
  7. Ja pareizi saprotu, tev tas ajax maina tikai bildīti? Tad naf tik sarežģīti? To var vienkārši ar javascript nomainīt caur image.src. Un nekādu refrešu...
  8. Tad acīm redzot tu php esi stādījis windows installera versijā. Tā nevajag darīt. Ņem parastu binary, un stādi ar rociņām. Iekš php.ini jānorāda extension_dir. Iekš php5 tas ir c:\php\ext. Iekš 4 - c:\php\extensions.
  9. Nu bet naf tev vispār kur tikt "atpakaļ"? Uztaisi index.php, kurā ir smuka valodu izvēlne, pēc tam, ja ir kukijs, includo atbilstošās valodas lapu. Ja nav, inkludo defaulto valodu. Un viss būs pie vietas.... Gan izvēlne, gan lapa :)
  10. Tieši tāpēc :) Taisi visu to ar inclūdēm lieliem texta gabaliem, un kaut kādu translatoru priekš interfeisa elementiem. Par interfeisa tulkošanu te kaut kur bija topiks, pameklē... Idejai, ērti to darīt ar heša palīdzību... un viss ies caur vienu failu index.php. Vai arī dublē valodas izvēlni visos failos...
  11. Nu dievs ar viņu, kas ir java :) Lai iemācītos oop ir dziļi vienalga, kādā valodā to dara, lai tik tā normāli oop atbalsta. Un php5 to dara pilnīgi pieklājīgā līmenī. Oop tomēr ir domāšanas veids, nevis kādu specifisku "oop funkciju" zināšana :) Un pāris klasīšu izmantošana iekš visumā procedurāla koda nav oop. Tas iesākumam, protams ir jauki, jo ļauj kaut kādas lietas staipīt līdzi pa visiem saviem skriptiem, bet ne vairāk... Kas attiecas uz klasi GetFile... Tādā izskatā viņa ir bezjēdzīga, jo aizvieto vienkāršu funkciju fopen(), kas tikai sarežģī visu pasākumu. Jēga būtu, ja tev failā glabājas kādi strukturēti dati, pie kuriem jātiek klāt/jāmaina/jāsaglabā. Tad labi būtu rakstīt klasīti speciāli šī faila datu apstrādei. Tipa tā (pielietot): // atveram failu, izparsejam datus $myFileContentHandler = new FileContentHandler($filePath); // dabunam kaut kadu datu porciju $head = $myFileContentHandler->getHeader(); // izmainam virsrakstu $myFileContentHandler->setHeader($newHeader); // saglabajam izmainas $myFileContentHandler->save(); Šāda klase būtu paredzēta konkrēta tipa datu apstrādei, un iekļautu sevī visu ar to saistīto loģiku. Piemēram, ja tev tajos failos glabātos kaut kādi ziņojumi, tad tu visu šo ziņojumu apstrādes darbu veiktu caur šo klasi, nerūpējoties par zema līmeņa funkcijām darbam ar filesistēmu un datu izpārsēšanu... Parasti to dara ar datubāzē glabājamiem datiem... Lasi "design patterns" un citu iepriekš pieminēto literatūru. Skaidrāks kļūs
  12. john.brown

    intervija

    Nu, patiesībā gan iekš php var rakstīt ne mazāk nopietnas sistēmas, kā ar javu. Tas, diemžēl, ir izplatīts malds, ka php ir nenopietna valoda, ko uztur kā reizi "echo koderi"... :)
  13. Kā rindu. Doķos tak ir: string strip_tags ( string str [, string allowable_tags] )
  14. Tāpēc, ka failā index.php 94 rindiņā tu jau kaut ko esi izdevis outputā. Vismaz tā tur ir rakstīts :)
  15. Un pārbaudīt mysql_error() prātā neienāk? if(!$res = mysql_query($query)) { echo mysql_error(); } P.s. pēc "INSERT" nekāds mysql_free_result() nav jātaisa. atgriežas boolean :)
  16. john.brown

    Value

    un kas tev šitas ira? <select OnChange="Update();" name="size"> <option value="0" selected>Pilns izmers</option> <option value="0" selected>Mazais izmers</option> </select> Un kā tas iet kopā ar šito? if (size == 1) { width = 277; height = 63; } if (size == 2) { width = 450; height = 34; } if (size == 3) { width = 149; height = 29; }
  17. john.brown

    Value

    Klau, varbūt pietiks bombardēt mūs ar milzu palagiem, par kuru darbību pats galīgi neko nezini? Un, kāds, interesanti, jautājums? Izstāstīt tev, kā viņš dabojas? :D
  18. Nu, jā, kļūda drīzāk bija iekš variabļu redzamības apgabalu saprašanas :) T.b. ja tu inicializē variabli funkcijā, tas ir pieejams tikai šajā funkcijā. Piemērs zemāk nestrādās: function init_var() { $var = "kaut kas te"; } init_var(); echo $var; Lai tiktu pie tā variabļa klāt ārpus funkcijas, viņu vajag atgriezt (return): function init_var() { $var = "kaut kas te"; return($var); } $var = init_var(); echo $var; Tavā gadījumā tā bija ar $connection :)
  19. Nu, bet kur tad tu to $connection priekš mysql_close() dabū? Tev tak funkcija piesledzamies_db() neko neatgriež ;) Ja gribi tik smalki, tad saņem no piesledzamies_db() to $connection, glabā viņu visā procesa garumā, un tad closē viņu. Tak, ja tu netaisi vairāk per vienu konekciju, var vienkārši mysql_close() bez argumentiem. Viņš pats sapratīs, kura conekcija jāaiztaisa. Kaut īsti smuki tas nav... p.s. Redz, te būtu viens labums no oop un singletone pattern :) Būtu pilnīgi pārliecināts, ka konekcija tik viena...
  20. includojamos failos, imho, nevajag likt neko tādu, kas kaut kādu outputu var dot, vai kā citādi izpildīties. To biš, funkciju libus tik vai klases. Tad ar nav lielu problēmu ar nesankcionētu include. Nu un paranojas nomierināšanai augstāk minēto... :) Nu, no paranojas viedokļa smukāk būtu: if(!defined('IS_OK')) { header('Location:blahost.lv'); exit; }
  21. Jā, tabuliņa interesanta. Jāpāriet atpakaļ uz perl (tie daudz neatpaliek no java) :) Bet aldziņas ar vietējām salīdzināt nevar - te kādam paprasīt tādu, tak infarkts šo ķers :)
  22. A priekš kam tik dīvains regex? $str = '<font>sunc</font> <b>kakis</b>'; $str = preg_replace('/<.*?>/','',$str); Jā, un pie pirmā, suni un vardi. Korekti būtu šitā: /(sun)(.*?)(varde)/s Pretējā gadījumā, viņš tev tekstā atradīs pirmo "sun" un pēdējo "varde", un aizvāks visu pa vidu, neskatoties uz to , ka tev tur ir vēl "sun" un "varde". T.b. teksts "some text sun text to remove varde some text sun text to remove varde some text" tev kļūs par "some text sunvarde some text" , nevis gaidīto "some text sunvarde some text sunvarde some text" .
  23. john.brown

    Monitori

    2v3rb0 Tev laikam kaut kāda nesavietojamība ar samsungiem ir ;) Vai latvijā tirgo kaut kādus brāķīgus... Man pašam bija 2 - dzīvo līdz šai dienai. Vienam jau gadi 10 drīz būs, otrs jaunāks bik. Un paziņām daudziem ir, un bez vainas iet. Imho, labākā attiecība cena/kvalitāte. Priekš kodešanas laikam lcd - acis mazāk gurs...
  24. john.brown

    PHP4 & PHP5

    Nu bez prāta rakstot gan pilnīgi vienalga, kā rakstīt. He,he ;) Par hash var teikt, ka ne vienmēr ērti - man patīk ar $_REQUEST strādāt caur objektu. Nekontrolējami echo pa vidu oop`am ar nav īsti labi. Parasti visu outputu buferēju, un tad ar templates parseri maucu ārā. Bet te jau ir bijuši strīdi par šā nepieciešamību... Man patīk... savs, ne smarty ;) Nu, zināms off ne par tēmu sanāk.
  25. Nu, tad jau laikam tomēr šitā: <?php switch($_POST['meklis']) { case 'cls': header("Location: index.php"); break; case 'dir': header("Location: dir.php"); break; case 'par.exe': header("Location: par.php"); break; case 'palidziba.bat': header("Location: help.php"); break; case 'urlas.exe': header("Location: urlas.php"); break; } ?>
×
×
  • Create New...