Jump to content
php.lv forumi

ezis

Reģistrētie lietotāji
  • Posts

    398
  • Joined

  • Last visited

Posts posted by ezis

  1. hei!

    Skriptā ir izmantots

    // WEB_URL == localhost
    header('Location: '.WEB_URL);
    

    Pēc pāradresēšanas browseri var redzēt, ka pie linka automātiski ir pievienots anchors #regSteps, kurš ir atrodams tās pašas lapas HTML`ā, kur php headeris! Kāpēc viņš pēc redirect pievienojās saitei? o0

     

    Problem solwed!

  2. ēee, paga! Tu taču centies atlasīt rindas nevis kolonnas?

    mysql_query("SELECT column_1 FROM table_1");

    Nedaudz nobraucu no domas kāds Tev varētu būt DB izkārtojums! o0

    Nav gadienā

    $a1['column_1']
    # nevis pliks
    $a1
    # ?
    

     

    briedis variants ir viss vienkāršākais as array_intersect! Pēc tam tik ciklā izvadi rezultātu.

  3. Ja tabulās ir saturs:

    DB1 column_1 text vērtības ir pēc secības piemēram: a,abb2,cc23,sss3
    DB2 column_2 text vērtības ir pēc secības piemēram: a,abb2,cc23,sss3

     

    Tad vai tad šāds iznākums nav tikai loģisks? o0

    aexists in both tables.aexists in both tables.aexists in both tables.aexists in both tables.

     

    Ja runa iet par to, kāpēc neizvada kādu vērtību no db ($a1)? Tad paklausi Tomu ar var_dump()!

  4. Interesanta lasāmviela gluži nē, bet gōgle saites noteikti.. . No tām "Don't Reinvent The Wheel, Unless You Plan on Learning More About Wheels" es domāju, ka vairāk attiecas uz mani. Es neveidoju komerciālus web risinājumus klientiem. Es neesmu PHP etc. programmētājs. Es mēģinu saviem spēkiem iemācīties kā konkrētu problēmu atrisināt ar savu piegājienu! Tikpat labi, kāpēc lai es šobrīd izmantotu CI vai ko citu? Kāpēc gan, lai es mēģinātu pielāgot kaut ko gatavu sev, ja es neesmu riteņbraucējs, bet varbūt "wannabe" inženieris? Tas tik tā, starp citu runājot, jo tad kāpēc nav viens universāls ietvars, ko izmanto visi, bet gan pietiekoši daudz pielāgoti? Nemaz negribu sagaidīt atbildes uz šo jautājumu, jo varu tās iedomāties :D Bet tas par to riteni un cik daudz un dažādas konfigurācijas, manuprāt nav tik svarīgi, jo par katru gadījumu var diskutēt daudz un dikti. Mans gadījums ir par to, ka es mācos nevis iepazīt jau esošos, bet veidot savu un tad salīdzināt, kur esmu nošāvis greizi, pat ja esmu! Jo kā jau teicu, vienu un to pašu lietu, bieži vien, var panāk dažādos ceļos. Tur kur viens saskata advantages tur cits disadvantages! Tāpēc domāju, ka tālāk par to diskutēt nebūtu vērts. Labāk parunāt par to vai konkrētie piemēri atrisina konkrēto problēmu! :P

  5. njam, Paldies Toms! Esmu jau kkur šos rakstus redzējis! Mans Divritenis tomēr darbojas nedaudz savādākā manierē, līdz ar to piegājiens un veids kā to realizē ir savādāks. Vienu lietu var realizēt dažādo veidos. Mācība ir un paliek mācība. (: K, nedaudz paburšos cauri. Neesmu daudz pētījis gatavus variantus. Cenšos izaicināt sevi, tāpēc daru pats. :P

  6. Tagad man ir aptuveni tā kā codez piemēra, bet es vēlos ko savādāku.

    Ērtāk taču ir visu ko vajag salikt "templeitā"!? Piemēram, paneļus, menu utt.. Tie visi ir atsevišķi kontrolieri.

    Katrs kontrolieris pievieno savu css failu template masīvam, un tad iekš tempalte ir tas $this->css(); Bet kā gan masīvs var saņemt css, ja piemēram ir secība:

    $this->css();

    $this->panel('some/panel');

     

    ?

     

    Tāpēc arī rīkojos tā.

    Joprojām nešķiet muhļīšana, bet gan pamatots iemesls.. :? un man tas šķiet diezgan ērts, bez dullām HMVC, kur ir tūkstošiem rindu, lai tik izvadītu parastu lapu! o0

     

    Ceru, ka sapratāt!

  7. Ideja tomēr nedaudz aplama. Problēmas sākas, ka parādās pēdiņas template, tāpēc šur tur izmaiņas:

     

    function panel($name)
       {
           $this->panels[] = $name;
           echo '<?php echo $'.$name.'; ?>';
       }
    
    function tpl()
       {
           ob_start();
           include 'tpl.php';
           $tpl = ob_get_clean();
    
           foreach($this->panels as $p)
           {
      	     $$p = $this->get_panel_data($p);
           }
    
           $css=$this->getCSS();
    
           # tiekam valja no liekiem speishiem
           //$tpl = preg_replace('/>\s+</','><',$tpl);
    
           eval(' ?>'.$tpl);
       }
    

     

    Tagad eval izpilda šādu no tempaltem un vieview saņemto saturu:

    <html><head><?php echo $css; ?></head><body><table><tr><td><?php echo $test_panel; ?></td></tr><tr><td><?php echo $test_panel2; ?></td></tr></table></body></html>
    

     

    un problēmas it kā nekur nav.. (:

  8. Aiz gara laika strādāju pie Template klases (iesācēja līmenis, tāpēc STFU!). Būtu labi, ja iekš php templates varetu ielādēt kontrolierus (jā, paštaisīta +/- MVC sistēma, turas kopā uz puņķiem, bet taisu savu, jo mācos), tāpēc domāju par funkciju iekš šīs klases, lai viņus varētu izsaukt!

     

    Tad tā php template varētu izskatīties šādi:

    <?php $this->css(); ?>
    <table>
       <tr>
           <td>
               <?php $this->panel('members/stats'); ?>
           </td>
       </tr>
       <tr>
           <td>
               <?php $this->panel('applikacija/iespeja/arguments/arguments'); ?>
           </td>
       </tr>
    </table>
    

     

    Kontrolieri iekš tempaltes tiek izsaukti ar URI līdzīgu stringu, laikam tā to nosaukt. Tik tālu viss ok. Bet, ja iekš katra kontroliera ir funkcija, kas pievieno piemēram css, tad tas $this->css() nevarētu uzģenerēt css includes, jo paneļi tiek izsaukti pēc $this->css()!

     

    Tad tālāk rīkojos tā, ka tā panel funkcija nevis atgriež kontroliera saturu, bet atstāj aiz sevis "pirkstu nospiedumu!" Tā vietā tiks ielikts kontroliera saturs!

    Arī funkcija css() aiz sevis atstās pirkstu nospiedumu, kur tad vajadzētu saģenerēt tās css inkludes.

     

    Izskatās aptuveni šādi:

    function panel($name)
       {
       	$this->panels[] = $name;
           echo '\'.$panel_'.$name.'.\'';
       }
    

     

    echo '\'.$panel_'.$name.'.\''; tiek izmantots tāpēc, ka tālāk ar eval palīdzību tiks palaists tempalte saturs!

    Piemēram:

    function tpl()
       {
           ob_start();
           include 'tpl.php';
           $tpl = ob_get_clean();
    
           foreach($this->panels as $p)
           {
      		${'panel_'.$p} = $p();
           }
    
           eval('echo \''.$tpl.'\';');
       }
    

     

    Viss strādā, tiek atstāti pirkstu nospiedumi, piereģistrēti css faili un viss salitks pa vietām izmantojot šādu tpl struktūru. Bet es nezinu cik tas viss ir efektīvi un droši. Izmantot str_replace un piemēram {SIDE_PANEL} nevēlos kaut kā, jo tas str_replace darboajs abos virzienos un viņš var pārdefinēt kko vēlreiz, piemēram, ja jau iepriekš aizstātā {SIDE_PANEL} ir piemēram saturs, kurā ir arī šāda paša tipa apzīmējums {...}

     

    Tad sanāk, ka Tur ir lieki str_replace. Man arī patīk labāk iekš tempalte izmantot piemēram

    <?php $this->panel('members/stats'); ?>
    

     

    nevis {SIDE_PANEL} un tad iekš kāda kontroliera definēt, kas tad būs tas sānu panelis. Šādi viss notiek +/- pa "tiešo"!

     

    Rīkojos šādi, jo tā liekas viss ērtāk. Nezinu cik resursietilpīgi un atjautīgi tas ir. Varbūt ir kāds labāks piemērs, ka šādā manierē to var paveikt?

     

    Strādājošs piemērs: template.zip

  9. piemēram ir strings:

     

    $str = "<br /> 'kkas' <br />";
    

     

    Ar preg_replace vajag izņemt whitespace starp > un single quote un single quote un <! Kā iekš regex eskeipo single quote ? o0 Neder vienkārša atstarpju aizvākšana, vajadzētu tieši šādā patternā.. .

×
×
  • Create New...