Jump to content
php.lv forumi

black

Reģistrētie lietotāji
  • Posts

    421
  • Joined

  • Last visited

Posts posted by black

  1. Pag, bet kā tur palika ar to iepriekšējo programmētāju. Esmu ziņkārīgs. Ja firmai bieži vajag jaunus programmētājus, vai nu firma ir "strauji augoša" vai arī esošajiem programmētājiem tur kaut kas nepatīk. Kā piemēru varu minēt vivaxmedia.lv, kura jau 5. gadu pastāvīgi meklē PHP programmētājus. Uzminiet, kāpēc.

  2. Vienīgais gadījums, kad vajag kaut ko "staipīt" ir tad, ja valodām jāstrādā arī tiem apmeklētājiem, kas cepumiņus atslēguši.

     

    Visos citos gadījumos - vienkārši pārbaudīt, vai get parametros ir norādīta valoda, ja nē - skatīties cepumiņu/sesiju, ja tur arī nav - izmantojam defaulto valodu. Tas nozīmē, ka nav jāliek visiem URLiem klāt valoda, bet vajadzības gadījumā var padot linku, kurā valoda tomēr norādīta.

  3. Kur Tu redzēji, ka gettext izmanto SQL? :)

     

    Cita lieta, ka vajadzīgs gettext extension. Bet ja tādu nav iespējams pieslēgt, tad var izlīdzēties arī ar gettext php emulatoru.

  4. nu, ja nesaproti, tad taisi šādi (neliela deva ironijas):

    $language = $this->GetLanguage();
    if($language=='lv_LV.UTF-8') {
    print 'sveika pasaule';
    }
    else {
    print 'hello world';
    }

     

    Atbilde uz šādiem jautājumiem ir "gettext". Un Gūgle lai ir tavs draugs!

  5. $domainPath = WEBROOT ."/locale"; 
    $language = $this->GetLanguage(); // piem. lv_LV.UTF-8
    $domain = 'messages';
    
    setlocale(LC_ALL, $language);
    bindtextdomain($domain, $domainPath);
    textdomain($domain);
    bind_textdomain_codeset($domain, 'UTF-8');
    
    print _("hello world");

  6. <?php
    class MySQL {
    function whatever() {
    	 $acl = new ACL();
    	 $acl->authorizeMe();
    }
    }

     

    Apmēram šādi? Vai arī - kur īsti ir problēma?

     

    No wikipedia:

    The Scope Resolution Operator (::) in PHP is officially called Paamayim Nekudotayim (IPA: [paʔamajim nəkudotajim]). It means 'twice colon' or 'double colon' in Hebrew.

  7. Padalīšos ar dažām atziņām, par to, kā NEVAJAG taisīt:

     

    1) Katram tipam savu tabulu (ti, kopīgie lauki tabulā sludinajumi, un specifiskie - auto_sludinajumi (marka, krāsa), dzivoklu_sludinajumi (istabu skaits, stāvs, utt.) Tā struktūra darbojas ļoti jauki, līdz klientam sagribēsies pievienot vēl pāris tipus (nekustamajam īpašumam - zemes platību, utt.) Problēma tā, ka dzīvokļiem nav 'zemes platība' un mežam nav 'istabu skaits'. Tātad, vai nu mums ir tabulas, kurās viena daļa lauku ir tukša (ja ir kopīga tabula nek. īpašumam) vai arī (ja ir atsevišķas tabulas gan dzīvokļiem, gan mežam, utt) ir ļoti daudz tabulu. Jebkurā gadījumā, vēlāk būs ļoti grūti pievienot jaunus laukus esošajiem sludinājumiem - vajadzēs pārrakstīt SQLus un taisīt jaunas tabulas vai laukus. Tas būtībā nozīmē, ka lapas administrators jaunus laukus nevarēs pievienot.

     

    2) Redzēju šo variantu pirms dažiem mēnešiem. Vairs neatceros, kuram no abiem portāliem (ss.lv vai reklama.lv) uz neilgu laiku HTML kodā bija pieejams komentārs ar izpildītajiem SQL kverijiem. Tur bija kaut kas apmēram tāds:

     

    SELECT a1, a2, a3, a4, a5 FROM advertisements WHERE a34='dzīvoklis' AND a7='2'

     

    Ģeniāls risinājums - visu samočīt vienā lielā tabulā. Programmētājam tas nozīmē stabilu darbu - neviens viņu neatlaidīs, jo jebkurš cits šādā kodā uzreiz nolauztu kaklu.

  8. Man vienkārši likās, ka negribēsi visur (pārbaudē, vai arī SQL insertā, ja pārbaude OK) rakstīt to POST masīvu. Tāpēc ērtāk būtu izveidot lokālu mainīgo, kam sākumā piešķir vērtību no POST, un tad visur arī izmanto. Tas, protams, der tikai tādā gadījumā, ja POST masīvs vienmēr saturēs 'message' mainīgo.

     

    Ieliec tieši vienu rindiņu pirms pārbaudes.

  9. Nu tad pirms pārbaudes raksti "$message = _$POST['txtMessage']". Un pārbaude - "if (empty($message)) utt." Problēma, protams, bija tā, ka no HTML formas tiek padots mainīgais 'txtMessage', bet pārbaude tiek veikta mainīgajam 'message'. Varbūt vari pārsaukt formas mainīgo, lai abās vietās ir vienādi. Citādi pēc kādiem 2 mēnešiem atkal nesapratīsi, kāpēc neiet.

  10. Faila sākumā viena iekava tāda aizdomīga izskatās. Un vēl tas, ka vienreiz Tu raksti "$_POST['message']", bet otreiz jau pa tiešo izmanto "$message". Varu ieteikt pirms pārbaudes ielikt "print_r($_POST)", un paskatīties, ko rāda.

     

    Pēdējā laikā man kaut kā patīk izmantot exceptions visādām lauku pārbaudēm. Ja ir vairāk lauku, tad loģiku rakstīt ar if/else paliek pārāk sarežģīti.

     

    if(empty($message)) {
    $errorMessage = "Ievadi message!";
    throw new ValidationException($errorMessage);
    }

     

    Apmēram tā.

  11. Vienkārši - plaģiāts ir tad, ja jaunā lapa dara 100% to pašu, ko tā lapa, no kuras tiek kopēts. Papildus bonuss - ja klients līgumā ierakstījis "jāuztaisa tāpat kā xy.lv". Ja komponistam palūgtu - lūdzu uzraksti man jebkādu darbu, tikai klausītājiem jāsaprot, ka tas ir "Britney Spears - Baby one more time" - vai tad tas būtu mazāks plaģiāts?

×
×
  • Create New...