Diviser pour mieux régner
Cela reste valable aussi dans le développement
Aller au contenu | Aller au menu | Aller à la recherche
14/08/2010, 10:54. Développement Web Conception web
Diviser pour mieux régner
Cela reste valable aussi dans le développement
09/06/2010, 00:14. ND_CMS Conception web ND_CMS PHP Zend Framework
Un Anneau pour les gouverner tous,
Un Anneau pour les trouver
Un Anneau pour les amener tous et dans les ténèbres les lier
J.R.R. Tolkien in Le Seigneur des Anneaux
07/06/2010, 20:18. ND_CMS
Suite à la vision du screencast \"protecting assets with zend controller plugins\", j'ai détourné le plugin afin de me permettre l'utilisation de ressources situées en plusieurs endroits.
En effet, il est possible que le module doivent charger ces propres CSS/images/Javascript pour avoir un fonctionnement optimal. Hors, je ne souhaite pas à chaque nouveau site, devoir recopier les ressources spécifiques.
De plus, je devais aussi gérer le fait que les différents sites aient le même fichier index.php, les informations propres aux sites se situant dans le répertoire applications.
<?php class ND_Controller_Plugin_Resources extends Zend_Controller_Plugin_Abstract{ public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request){ if ( $request->getControllerName() != 'resources' ) return ; $from = $request->getParam('from','default') ; switch( $from ){ case 'common' : $file = COMMON_PATH. '/file' ; break; case 'default': $file = APPLICATION_PATH. '/file' ; break; default : $file = MODULES_PATH . '/' . $from ; break; } $file .= '/statics/' . $request->getParam('file') ; if ( file_exists($file) ){ header('Content-Type:', finfo_file(finfo_open(FILEINFO_MIME_TYPE), $file) ); $content = file_get_contents($file); // permet de gerer les urls dans les css if ( substr($request->getParam('file'),0,3) == 'css' ){ $content = str_replace('url(../', 'url(resources?from='.$from.'&file=', $content ); } echo $content ; } exit; } }
21/05/2010, 19:13. ND_CMS ND_CMS Zend Framework
Un plugin
class ND_Controller_Plugin_Maintenance extends Zend_Controller_Plugin_Abstract { public function routeShutdown(Zend_Controller_Request_Abstract $request) { $request->setActionName('index'); $request->setModuleName('default'); $request->setControllerName('maintenance'); } }
un controlleur
<?php class MaintenanceController extends ND_Controller_Action { public function indexAction(){} }
une vue
une ligne dans le application.ini à décommenter en cas de maintenance
; resources.frontController.plugins.maintenance = "ND_Controller_Plugin_Maintenance"
Ne reste plus qu’a :
Merci à E.Schrade pour l’idée qui reste à appronfondir
12/05/2010, 20:20. Trucs et Astuces
Petite note pour gérer les dégradés linéaires, beaucoup de possibilités s’ouvrent grâce à ça. Yapluka
« billets précédents - page 1 de 4
Fil des billets
Fil des commentaires