コード例 #1
0
ファイル: String.php プロジェクト: gridguyz/zork
 /**
  * Decamelize string
  *
  * @param  string   $value
  * @param  string   $separator    default: "-"
  *
  * @return string
  */
 public static function decamelize($value, $separator = null)
 {
     static $filter = null;
     if (null === $filter) {
         $filter = new Word\CamelCaseToSeparator();
     }
     $filtered = $filter->setSeparator($separator ?: self::DEFAULT_SEPARATOR)->filter($value);
     return mb_strtolower($filtered, self::DEFAULT_ENCODING);
 }
コード例 #2
0
ファイル: IndexController.php プロジェクト: gotcms/gotcms
 /**
  * List all modules
  *
  * @return \Zend\View\Model\ViewModel
  */
 public function indexAction()
 {
     $collection = new ModuleCollection();
     $filter = new Filter\Word\CamelCaseToSeparator();
     $filter->setSeparator('-');
     $filterChain = new Filter\FilterChain();
     $filterChain->attach($filter)->attach(new Filter\StringToLower());
     foreach ($collection->getModules() as $module) {
         $module->setData('route', $filterChain->filter($module->getName()));
     }
     return array('modules' => $collection->getModules());
 }
コード例 #3
0
ファイル: Module.php プロジェクト: gotcms/gotcms
 /**
  * Load menu if module has view with name "menu.phtml"
  *
  * @param EventInterface $event Event
  *
  * @return void
  */
 public function loadMenu(EventInterface $event)
 {
     if ($route = $event->getRouter()->getRoute('module')->match($event->getRequest())) {
         if ($route->getParam('module') === 'module') {
             return;
         }
         $filter = new Filter\Word\CamelCaseToSeparator();
         $filter->setSeparator('-');
         $filterChain = new Filter\FilterChain();
         $filterChain->attach($filter)->attach(new Filter\StringToLower());
         $template = $filterChain->filter($route->getParam('module')) . '/menu';
         $target = $event->getTarget();
         $resolver = $event->getApplication()->getServiceManager()->get('Zend\\View\\Resolver\\TemplatePathStack');
         $navigation = $target->getServiceLocator()->get('navigation');
         $navigation->findByRoute('module')->addPage(array('label' => $route->getParam('module'), 'route' => $event->getRouteMatch()->getMatchedRouteName(), 'active' => true));
         if (false !== $resolver->resolve($template)) {
             $target->layout()->setVariable('moduleMenu', $template);
         }
     }
 }