Jump to content
php.lv forumi

php newbie

Reģistrētie lietotāji
  • Posts

    388
  • Joined

  • Last visited

Posts posted by php newbie

  1. Es daru, vadoties pēc tā, kā jau 2easy pateicis. Admin daļa ir cita aplikācija, kopīga ir tikai db un datu modeļi (par ko vēl neesmu drošs, vai publiskajai daļai neveidošu citādus modeļus, ar akcentu uz ātrdarbību).

     

    Bet, ja taisa kā vienu aplikāciju ar admin moduli, tad layoutu pārslēgšanai izmanto Zend_Layout_Controller_Plugin_Layout, piemēram, katram modulim atbilstošu layoutu uzliek šādi:

     

    // library/My/Controller/Plugin/LayoutSwitcher.php
    
    class My_Controller_Plugin_LayoutSwitcher extends Zend_Layout_Controller_Plugin_Layout
    {
       public function preDispatch(Zend_Controller_Request_Abstract $request)
       {
           $this->getLayout()->setLayoutPath(
               Zend_Controller_Front::getInstance()->getModuleDirectory(
                   $request->getModuleName()
               ) . '/views/layouts'
           );
           $this->getLayout()->setLayout('layout');
       }
    }
    
    // application.ini
    
    resources.frontController.plugins.LayoutSwitcher = "My_Controller_Plugin_LayoutSwitcher"
    
    

     

    (iespējams, mazliet savādāk, jo rakstu no galvas, tikai idejai..)

     

    Vienmēr, kad rodas doma, ka katrā kontrolierī jātaisa vienāda funkcija, ir vērts padomāt par citu risinājumu. Tā saucamais princips "don't copy, extend". ja visos kontrolieros vajag kaut ko iekš preDispatch, utt.., tad ieteicams to pārnest uz pluginiem (vai arī extendot Zend_Controller_Action klasi).

     

    Ja neesi neko daudz ar PHP ņēmies, novēlu izturību un pacietību, bet, no otras puses, varbūt arī labi, ka uzreiz domāt atbilstoši OOP un freimworkam.

     

    esmu nēmies ar PHP, bet nedaudz.

     

    Paldies. Tā ideja ar Zend_Controller_Action extendošanu iepatikas, bet jau uztaisīju kā citu aplikāciju un laikam pie ta arī palikšu. Nākotnei ļoti noderēs.

  2. ir šāds .htacces

     

    SetEnv APPLICATION_ENV development

     

    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} -s [OR]

    RewriteCond %{REQUEST_FILENAME} -l [OR]

    RewriteCond %{REQUEST_FILENAME} -d

    RewriteRule ^.*$ - [NC,L]

    RewriteRule ^.*$ index.php [NC,L]

     

     

    vajadzētu lai tie ruli neaiztiktu /admin/ folderi. Man nesanāk. Mēģināju visādus variantus, bet nekā

  3. labi, taisu kā atsevišķu aplikāciju.

     

    izmainot zend aplikācijas struktūru man tagat .htaccess ir root folderī

     

    izskatās šādi:

     

    SetEnv APPLICATION_ENV development

     

    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} -s [OR]

    RewriteCond %{REQUEST_FILENAME} -l [OR]

    RewriteCond %{REQUEST_FILENAME} -d

    RewriteRule ^.*$ - [NC,L]

    RewriteRule ^.*$ index.php [NC,L]

     

     

    īsti nezinu ko viņš dara, bet viss ta ka iet caur index.php. Man vajadzētu tādu kā exception, lai admin folderi procesētu normāli, jo tajā būs vēl viena aplikācija un tajā būs tads pats index.php un .htaccess

  4. Sveiki.

     

    Mēģinu uztaisīt lapeli izmantojot ZEND. Esmu iesācējs gan PHP, gan ZEND. Neieskaitot "Hello World" tā būs mana pirmā zend lapele.

     

    Uztaisiju layout'u un tagad domāju, kurp labāk iebāzt menu. Būs 2 menu: adminam un lietotājam. Ir doma ielikt to layout'ā un pārslegt, ja ir ielogojies admins. Vai nu var taisīt 2 layout'us adminam un lietotājam. Otra ideja man patīk labāk, bet tad es nezinu kā pārslēgt layout'u control'u grupai t.i. lai nevajadzētu katra admin kontrola initā rakstīt change layout. Vai nu ir cits variants - taisīt admin paneli pavisam atsevišķi kā citu aplikāciju.

     

    Varbūt kāds ZEND zinītis var sniegt kadu padomu šajā sakarā?

×
×
  • Create New...