zend module

Upload: le-hoang

Post on 07-Apr-2018

230 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 Zend Module

    1/4

    //config.initresources.frontController.moduleDirectory = APPLICATION_PATH "/modules"//bootstrapclass Bootstrap extends Zend_Application_Bootstrap_Bootstrap{

    public function _initFrontModules (){

    $front = Zend_Controller_Front::getInstance();$front->addModuleDirectory(APPLICATION_PATH . '/modules');}

    }

    Cn hc:

    Tham kho:1. Zend_Controller2. Zend_Controller_Front

    1. getInstance() : $front = Zend_Controller_Front::getInstance();

    2. setControllerDirectory() -> Thit lp Cc controller tng ng.2. addControllerDirectory() -> Thit lp Controller v overwite nu controller tnti.

    2. getControllerDirectory() -> Tr v mt mng danh sch cc Controller.V d:

    // Set the default controller directory:$front->setControllerDirectory('../application/controlle

    rs');// Set several module directories at once:$front->setControllerDirectory(array(

    'default' => '../application/controllers','blog' => '../modules/blog/controllers',

    'news' => '../modules/news/controllers',));// Add a 'foo' module directory:$front->addControllerDirectory('../modules/foo/controlle

    rs', 'foo');

    3. addModuleDirectory() -> Khai bo ng dn n th mc cha module. Tng ng vtrong ini Controller tng ng.

    resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"

    3. getModuleDirectory() -> Tr v ng dn n th mc cha module hin ti.

    4. Zend_Controller_Front::run() ->

    3. Zend_Controller_Request_Http :: Zend_Controller_Request_Abstract1. Module : setModuleName() and getModuleName()2. Controller : setControllerName() and getControllerName()3. Action : setActionName() and getActionName()4. Parameters : setParam() , getParam() , setParams() , getParams()5. $_GET , $_POST , $_COOKIE , $_SERVER , and $_ENV6. getPost() , getQuery() and getHeader()7. isGet() , isPost() , isPut() , isDelete() , isHead() and isOptions()8. isXmlHttpRequest()

    4. Zend_Controller_Route_RewiteDng mc nhThay i sau.

  • 8/3/2019 Zend Module

    2/4

    5. Zend_Controller_Action1. _forward($action, $controller = null, $module = null, array $params =

    null)2. _redirect($url, array $options = array())3. $this->_helper->redirector('action name', 'controller name', 'module

    name', array('id' => 42));6. Zend_Controller_Response_Http :: Zend_Controller_Response_Abstract

    7. Zend_Application1. Zend_Application : Load mi trng PHP : inclide path , autoloading , ..2. Zend_Application_Bootstrap : nh ngha interface cho class Bootstrap3. Zend_Application_Bootstrap : cung cp cc phng thc m bootstrap cn4. Zend_Application_Resource : Cung cp interface cho bootstrap resource5. Zend_Application_Bootstrap_Bootstrapper : Load Zend_Application6.

    8. Zend_Registry1. Zend_Registry::set('name' , $value);2. $value = Zend_Registry::get('name');

    3. $registry = Zend_Registry::getInstance (); -> Tr v mt mng cc bin cha gi4. Zend_Registry:: setInstance(array('name' =. $value)); -> Khi to registry

    5. Zend_Registry::isRegistry('name');

    9. Zend_Session1. Zend_Session_Namespace : method : _get() , _set() , isset() , unset()

    , namespaceIsset($namespace) , expireSessionCookie() ,writeClose($readonly = true) , stop() , destroy(bool $remove_coo

    kie = true, bool $readonly = true) , sessionExist() ,rememberMe(int $time) , forgotMe()

    $myNamespace = new Zend_Session_Namespace('myNamespace');

    // $myNamespace corresponds to $_SESSION['myNamespace']$myNamespace->numberOfPageRequests; -> Tr ti bin numberOfPageRequests

    $authNamespace = new Zend_Session_Namespace('Zend_Auth');$authNamespace->user = "myusername";

    2. Start Zend_SessionZend_Session::start(); -> in bootstrap fileZend_Session::destroy(); ->hy sessiomZend_Session::writeClose(); -> ng session ,Zend_Session::regenerateId();$id = Zend_Session::getId();

    3. Locking Zend_SessionMethod: lock() , isLocked() , unLock()

    $userProfileNamespace = new Zend_Session_Namespace('userProfileNamespace');

    // marking session as read only locked$userProfileNamespace->lock();// unlocking read-only lockif ($userProfileNamespace->isLocked()) {

    $userProfileNamespace->unLock();}

    4. Expiration

    $s = new Zend_Session_Namespace('expireAll');$s->a = 'apple';$s->p = 'pear';

  • 8/3/2019 Zend Module

    3/4

    $s->o = 'orange';$s->setExpirationSeconds(5, 'a'); // expire only the key "a" in

    5 seconds// expire entire namespace in 5 "hops"$s->setExpirationHops(5);

    $s->setExpirationSeconds(60);// The "expireAll" namespace will be marked "expired" on// the first request received after 60 seconds have elapsed,// or in 5 hops, whichever happens first.

    // ...// in the question view controller$testSpace = new Zend_Session_Namespace('testSpace');// expire only this variable$testSpace->setExpirationSeconds(300, 'accept_answer');$testSpace->accept_answer = true;

    //...10 . Zend_Paginator1. setCurrentPageNumber2. setItemCountPerPage3. setPageRange4. setView

    5. MethodProperty Type Descriptionfirst integer First page number (i.e.,

    1)firstItemNumber integer Absolute number of the first ite

    m on this page

    firstPageInRange integer First page in the range returnedby the scrolling stylecurrent integer Current page numbercurrentItemCount integer Number of items on this pageitemCountPerPage integer Maximum number of items availabl

    e to each pagelast integer Last page numberlastItemNumber integer Absolute number of the last item

    on this pagelastPageInRange integer Last page in the range returned

    by the scrolling stylenext integer Next page numberpageCount integer Number of pagespagesInRange array Array of pages returned by the scr

    olling styleprevious integer Previous page numbertotalItemCount integer Total number of items

    11. Zend_Acl$acl = new Zend_Acl();

    $acl->addRole(new Zend_Acl_Role('staff');$acl->addRole(new Zend_Acl_Role('marketing'), 'staff');

    $parents = array('guest', 'member', 'admin');$acl->addRole(new Zend_Acl_Role('someUser'), $parents);

  • 8/3/2019 Zend Module

    4/4

    $acl->addResource(new Zend_Acl_Resource('newsletter'));$acl->addResource(new Zend_Acl_Resource('lasted') , 'newletter');

    $acl->allow('marketing', array('newsletter', 'latest'), array('publish', 'archive'));

    $acl->deny('staff', 'latest', 'revise');$acl->deny(null, 'announcement', 'archive');

    echo $acl->isAllowed('staff', 'newsletter', 'publish') ? "allowed" : "denied";