sfContext::getModuleName PHP Method

getModuleName() public method

Retrieve the module name for this context.
public getModuleName ( ) : string
return string The currently executing module name, if one is set, otherwise null.
    public function getModuleName()
    {
        // get the last action stack entry
        if (isset($this->factories['actionStack']) && ($lastEntry = $this->factories['actionStack']->getLastEntry())) {
            return $lastEntry->getModuleName();
        }
    }

Usage Example

 /**
  * Attempts to return the theme for the current request
  * 
  * This first throws a sympal.theme.set_theme_from_request event, giving
  * anyone the opportunity to determine the theme. If this event is not
  * handled, we continue with some default rules for setting themes.
  * 
  * @param sfContext $context
  * @param array An array of valid themes, to be used for user-entered themes
  * 
  * @return string The theme (defaults to the default theme)
  */
 public function getThemeForRequest(sfContext $context, $validThemes)
 {
     $event = $context->getEventDispatcher()->notifyUntil(new sfEvent($this, 'theme.set_theme_from_request', array('context' => $context)));
     if ($event->isProcessed()) {
         return $event->getReturnValue();
     }
     if ($this->getOption('allow_changing_theme_by_url', true)) {
         $user = $context->getUser();
         $request = $context->getRequest();
         if ($theme = $request->getParameter($this->getOption('theme_request_parameter_name', 'sf_theme'))) {
             // make sure the theme is valid
             if (in_array($theme, $validThemes)) {
                 $user->setCurrentTheme($theme);
                 return $theme;
             } else {
                 // unset the user attribute
                 $user->setCurrentTheme(false);
             }
         }
         if ($theme = $user->getCurrentTheme()) {
             return $theme;
         }
     }
     // Get the theme from module/route. False is a valid response (don't set theme)
     $module = $context->getModuleName();
     $route = $context->getRouting()->getCurrentRouteName();
     $theme = $this->getThemeFromConfig($module, $route);
     if ($theme || $theme === false) {
         return $theme;
     }
     return $this->getOption('default_theme');
 }
All Usage Examples Of sfContext::getModuleName