当前位置: 首页>>代码示例>>PHP>>正文


PHP Router::url方法代码示例

本文整理汇总了PHP中Cake\Routing\Router::url方法的典型用法代码示例。如果您正苦于以下问题:PHP Router::url方法的具体用法?PHP Router::url怎么用?PHP Router::url使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Cake\Routing\Router的用法示例。


在下文中一共展示了Router::url方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: beforeRedirect

 /**
  * Manage redirect for specific buttons that posted.
  *
  * @param Event $event
  * @param array|string $url
  * @param Response $response
  * @return bool
  */
 public function beforeRedirect(Event $event, $url, Response $response)
 {
     if ($this->request->param('prefix') == 'admin') {
         if (isset($this->request->data['apply'])) {
             $response->location(Router::url($this->request->here(false), true));
         }
     }
     return true;
 }
开发者ID:mohammadsaleh,项目名称:spider,代码行数:17,代码来源:SpiderController.php

示例2: beforeFilter

 public function beforeFilter(Event $event)
 {
     $this->current_user = $this->Auth->user();
     //$this->set('logged_in', $this->logged_in);
     $this->set('current_user', $this->current_user);
     $menu_items = array('home' => array('text' => 'Home', 'link' => Router::url(['controller' => 'home', 'action' => 'index']), 'icon' => 'icon-home'), 'users' => array('text' => 'Users', 'link' => Router::url(['controller' => 'users', 'action' => 'index']), 'icon' => '', 'sub_menu' => array('index' => array('text' => 'List users', 'link' => Router::url(['controller' => 'users', 'action' => 'index']), 'icon' => ''), 'new' => array('text' => 'Add new users', 'link' => Router::url(['controller' => 'users', 'action' => 'add']), 'icon' => ''))), 'demos' => array('text' => 'Demos', 'link' => Router::url(['controller' => 'demos', 'action' => 'index']), 'icon' => ''), 'tests' => array('text' => 'Tests', 'link' => Router::url(['controller' => 'tests', 'action' => 'index']), 'icon' => ''), 'icon' => array('text' => 'Icon', 'link' => Router::url(['controller' => 'home', 'action' => 'icon']), 'icon' => ''));
     $this->set('menu_items', $menu_items);
     $menu_active = strtolower($this->request->params['controller']);
     $this->set('menu_active', $menu_active != '' ? $menu_active : 'index');
     $sub_menu_active = $this->request->params['action'];
     $this->set('sub_menu_active', $sub_menu_active != '' ? $sub_menu_active : 'index');
     $SessionExprieTime = $this->request->session()->read('Admin.SessionExprieTime');
     if (!empty($SessionExprieTime)) {
         if ($SessionExprieTime <= time()) {
             if ($SessionExprieTime <= time()) {
                 $controller = $this->request->params['controller'];
                 $action = $this->request->params['action'];
                 $avoid_action = array('validateSessionExprie', 'sessionLogout', 'login');
                 if ($controller != 'Users' || $controller == 'Users' && !in_array($action, $avoid_action)) {
                     $this->Auth->logout();
                 }
             }
         }
     }
     $this->set('SessionExprieIn', $this->createSessionExprie());
 }
开发者ID:hongtien510,项目名称:template_admin,代码行数:26,代码来源:AppController.php

示例3: _save

 /**
  *
  *
  * FUNCTIONS PRIVATE
  *
  */
 private function _save($entity)
 {
     if ($this->request->is(['patch', 'post', 'put'])) {
         $entity = $this->Contentbuilders->patchEntity($entity, $this->request->data);
         // On ajoute les traductions
         $I18ns = TableRegistry::get('I18ns');
         $langs = $I18ns->find('list', ['keyField' => 'id', 'valueField' => 'locale'])->toArray();
         // On merge nos translations
         if (isset($entity->translations)) {
             $entity->_translations = array_merge($entity->_translations, $entity->translations);
             unset($entity->translations);
         }
         foreach ($entity->_translations as $lang => $data) {
             if (in_array($lang, $langs)) {
                 if ($entity->type_id !== Type::TYPE_HOMEPAGE && empty($data['slug']) && !empty($data['title'])) {
                     $data['slug'] = strtolower(Inflector::slug($data['title']));
                     // @ TODO : Il faudra penser a vérifier que le slug n'existe pas, sinon on rajoute -x
                 }
                 $entity->translation($lang)->set($data, ['guard' => false]);
             }
         }
         if ($this->Contentbuilders->save($entity)) {
             $this->set('response', [true, __("Object saved with success !"), Router::url(['controller' => 'Contentbuilders', 'action' => 'edit', $entity->id, '_ext' => 'html'])]);
             $this->set('_serialize', 'response');
         } else {
             $this->set('response', [false, __("Error occured while saving object !"), $entity->errors()]);
             $this->set('_serialize', 'response');
         }
     }
     $types = Contentbuilder::getPrettyType();
     $parents = $this->Contentbuilders->find('treeList', ['keyPath' => 'id', 'valuePath' => 'label', 'spacer' => ' --- ']);
     $this->set(compact('entity', 'types', 'parents'));
 }
开发者ID:Aerue,项目名称:avalia,代码行数:39,代码来源:ContentbuildersController.php

示例4: findMap

 /**
  * Custom finder for map the ntofications.
  *
  * @param \Cake\ORM\Query $query The query finder.
  * @param array $options The options passed in the query builder.
  *
  * @return \Cake\ORM\Query
  */
 public function findMap(Query $query, array $options)
 {
     return $query->formatResults(function ($notifications) use($options) {
         return $notifications->map(function ($notification) use($options) {
             $notification->data = unserialize($notification->data);
             switch ($notification->type) {
                 case 'conversation.reply':
                     $username = $notification->data['sender']->username;
                     $conversationTitle = Text::truncate($notification->data['conversation']->title, 50, ['ellipsis' => '...', 'exact' => false]);
                     //Check if the creator of the conversation is the current user.
                     if ($notification->data['conversation']->user_id === $options['session']->read('Auth.User.id')) {
                         $notification->text = __('<strong>{0}</strong> has replied in your conversation <strong>{1}</strong>.', h($username), h($conversationTitle));
                     } else {
                         $notification->text = __('<strong>{0}</strong> has replied in the conversation <strong>{1}</strong>.', h($username), h($conversationTitle));
                     }
                     $notification->link = Router::url(['controller' => 'conversations', 'action' => 'go', $notification->data['conversation']->last_message_id, 'prefix' => false]);
                     break;
                 case 'bot':
                     $notification->text = __('Welcome on <strong>{0}</strong>! You can now post your first comment in the blog.', \Cake\Core\Configure::read('Site.name'));
                     $notification->link = Router::url(['controller' => 'blog', 'action' => 'index', 'prefix' => false]);
                     $notification->icon = $notification->data['icon'];
                     break;
                 case 'badge':
                     $notification->text = __('You have unlock the badge "{0}".', $notification->data['badge']->name);
                     $notification->link = Router::url(['_name' => 'users-profile', 'id' => $notification->data['user']->id, 'slug' => $notification->data['user']->username, '#' => 'badges', 'prefix' => false]);
                     break;
             }
             return $notification;
         });
     });
 }
开发者ID:Xety,项目名称:Xeta,代码行数:39,代码来源:NotificationsTable.php

示例5: variant

 /**
  * Return the webroot path to the image generated variant if this exist or to the controller if not.
  *
  * @param string $imagePath         Path to the original image file from webroot if absolute, or relative to img/
  * @param string|array $variantName Name of the variant configuration key or options array
  * @param array $options            options
  * @return string
  */
 public function variant($imagePath, $variantName, array $options = [])
 {
     if (!array_key_exists('plugin', $options) || $options['plugin'] !== false) {
         list($plugin, $imagePath) = $this->_View->pluginSplit($imagePath, false);
     }
     $url = false;
     $imagePath = $imagePath[0] === '/' ? substr($imagePath, 1) : $imagePath;
     if (!isset($plugin)) {
         $originalFile = WWW_ROOT . $imagePath;
         $variantFile = dirname($originalFile) . DS . $variantName . DS . basename($originalFile);
         if (is_file($variantFile)) {
             $url = str_replace(DS, '/', str_replace(WWW_ROOT, '/', $variantFile));
         }
     } else {
         $originalFile = WWW_ROOT . Inflector::underscore($plugin) . DS . $imagePath;
         $variantFile = dirname($originalFile) . DS . $variantName . DS . basename($originalFile);
         if (is_file($variantFile)) {
             $url = str_replace(DS, '/', str_replace(WWW_ROOT, '/', $variantFile));
         } else {
             $originalFile = Plugin::path($plugin) . 'webroot' . DS . $imagePath;
             $variantFile = dirname($originalFile) . DS . $variantName . DS . basename($originalFile);
             if (is_file($variantFile)) {
                 $url = str_replace(Plugin::path($plugin) . 'webroot' . DS, '/' . Inflector::underscore($plugin) . '/', $variantFile);
                 $url = str_replace(DS, '/', $url);
             }
         }
     }
     if ($url === false) {
         $url = ['controller' => 'Presenter', 'action' => 'variant', 'plugin' => 'ImagePresenter', 'prefix' => false, '?' => ['image' => isset($plugin) ? "{$plugin}.{$imagePath}" : $imagePath, 'variant' => $variantName]];
     }
     return Router::url($url);
 }
开发者ID:xavier83ar,项目名称:image-presenter,代码行数:40,代码来源:ImageHelper.php

示例6: getIndexDataTable

 /**
  * Get index DataTable
  *
  * @param Query $query CakePHP query
  *
  * @return Table
  */
 protected function getIndexDataTable(Query $query)
 {
     $table = new Table('pages');
     $titleCol = new Column();
     $titleCol->setTitle('Title')->setData('Pages.title');
     $authorCol = new Column();
     $authorCol->setTitle('Author')->setData('Users.username')->setFormatter(function ($username, Page $page) {
         return $this->createView()->Html->link($username, ['author' => $page->getUserId()]);
     });
     $commentsCol = new Column();
     $commentsCol->setTitle('Comments')->setData('Pages.comment_count')->isSearchable(false);
     $dateCol = new Column();
     $dateCol->setTitle('Date')->setData('Pages.created_at')->isSearchable(false)->setFormatter(function (Time $cell) {
         return $cell->nice();
     });
     $action = new Column\Action();
     $action->setManager(function (Column\ActionBuilder $action, Page $page) {
         $action->addAction('view', __d('pages', 'View'), Router::url(['prefix' => false, 'controller' => 'Pages', 'action' => 'view', $page->getId()]), ['title' => __d('pages', 'View “%d”', $page->getTitle()), 'rel' => 'permalink']);
         $action->addAction('edit', __d('pages', 'Edit'), Router::url(['controller' => 'Pages', 'action' => 'edit', $page->getId()]), ['title' => __d('pages', 'Edit this item')]);
         $action->addAction('delete', __d('pages', 'Delete'), Router::url(['action' => 'delete', $page->getId()]), ['title' => __d('pages', 'Delete this item')]);
     })->setTitle('Action');
     $table->addColumn($titleCol)->addColumn($authorCol)->addColumn($commentsCol)->addColumn($dateCol)->addColumn($action);
     $table->setDataSource(new CakePHP($query, $this->request->here()));
     return $table;
 }
开发者ID:hurad,项目名称:pages-plugin,代码行数:32,代码来源:PagesController.php

示例7: initialize

 public function initialize()
 {
     parent::initialize();
     $this->viewBuilder()->layout('frontend');
     $this->response->disableCache();
     $this->set('webroot_full', Router::url('/', true));
 }
开发者ID:hongtien510,项目名称:giapha,代码行数:7,代码来源:FrontendController.php

示例8: build

 /**
  * Returns a URL based on provided parameters.
  *
  * ### Options:
  *
  * - `fullBase`: If true, the full base URL will be prepended to the result
  *
  * @param string|array|null $url Either a relative string url like `/products/view/23` or
  *    an array of URL parameters. Using an array for URLs will allow you to leverage
  *    the reverse routing features of CakePHP.
  * @param array $options Array of options
  * @return string Full translated URL with base path.
  */
 public function build($url = null, array $options = [])
 {
     $defaults = ['fullBase' => false];
     $options += $defaults;
     $url = Router::url($url, $options['fullBase']);
     return $url;
 }
开发者ID:dereuromark,项目名称:cakephp-tools,代码行数:20,代码来源:UrlComponent.php

示例9: beforeFilter

 public function beforeFilter(Event $event)
 {
     if ($this->request->is('ajax') && $this->request->params['action'] == 'delete_upload') {
         $this->eventManager()->off($this->Csrf);
     }
     $this->current_user = $this->Auth->user();
     //$this->set('logged_in', $this->logged_in);
     $this->set('current_user', $this->current_user);
     $this->set('menu_items', ['users' => ['text' => 'Users', 'link' => Router::url(['controller' => 'users', 'action' => 'index']), 'allow_access' => ['admin']], 'Members' => ['text' => 'Thành viên', 'link' => Router::url(['controller' => 'members', 'action' => 'index']), 'allow_access' => ['admin']], 'Introduces' => ['text' => 'Giới thiệu', 'link' => Router::url(['controller' => 'introduces', 'action' => 'index']), 'allow_access' => ['admin']], 'Posts' => ['text' => 'Thông báo', 'link' => Router::url(['controller' => 'posts', 'action' => 'index']), 'allow_access' => ['admin']], 'Contacts' => ['text' => 'Liên hệ', 'link' => Router::url(['controller' => 'contacts', 'action' => 'index']), 'allow_access' => ['admin']]]);
     $this->set('active_menu_item', $this->request->params['controller']);
     $SessionExprieTime = $this->request->session()->read('Admin.SessionExprieTime');
     if (!empty($SessionExprieTime)) {
         if ($SessionExprieTime <= time()) {
             if ($SessionExprieTime <= time()) {
                 $controller = $this->request->params['controller'];
                 $action = $this->request->params['action'];
                 $avoid_action = array('validateSessionExprie', 'sessionLogout', 'login');
                 if ($controller != 'Users' || $controller == 'Users' && !in_array($action, $avoid_action)) {
                     $this->Auth->logout();
                 }
             }
         }
     }
     $this->set('SessionExprieIn', $this->createSessionExprie());
 }
开发者ID:hongtien510,项目名称:giapha,代码行数:25,代码来源:AppController.php

示例10: add

 /**
  * Adds a comment in DB and redirects
  *
  * @return void
  */
 public function add()
 {
     $comment = $this->Comments->newEntity();
     // the body field should be empty as it's a honeypot for bots
     if ($this->request->is('post') && empty($this->request->data('body'))) {
         $data = $this->request->data;
         // Preparing data
         if (!empty($this->Auth->user('id'))) {
             $data['user_id'] = $this->Auth->user('id');
             $data['name'] = $this->Auth->user('username');
             $data['email'] = $this->Auth->user('email');
         } else {
             $data['user_id'] = null;
         }
         unset($data['body']);
         // Getting the route
         $route = Router::parse(str_replace(Router::url('/', true), '', $this->referer(true)));
         $data['fkid'] = $route['pass'][0];
         $data['model'] = $route['controller'];
         $comment = $this->Comments->patchEntity($comment, $data);
         if ($this->Comments->save($comment)) {
             if ($comment->allow_contact) {
                 $this->Flash->success(__d('elabs', 'Thank you for your comment. The author will contact you soon.'));
             } else {
                 $this->Flash->success(__d('elabs', 'Thank you for your comment.'));
             }
             $this->redirect($this->referer());
         } else {
             $this->Flash->error(__d('elabs', 'The comment could not be saved. Please try again.'));
         }
     }
     $this->redirect($this->referer());
 }
开发者ID:el-cms,项目名称:elabs,代码行数:38,代码来源:CommentsController.php

示例11: _getFacebookRedirectLoginHelper

 /**
  * Get a new instance of FacebookRedirectLoginHelper with optional redirectUrl
  *
  * @param  string                               $redirectUrl destination to be redirect to after calling the login URL
  * @return Facebook\FacebookRedirectLoginHelper new instance
  */
 protected function _getFacebookRedirectLoginHelper($redirectUrl = null)
 {
     if ($redirectUrl == null) {
         $redirectUrl = Router::url(['controller' => 'Login', 'action' => 'facebook_login', 'plugin' => null], true);
     }
     return new FacebookRedirectLoginHelper($redirectUrl);
 }
开发者ID:codekanzlei,项目名称:cake-cktools,代码行数:13,代码来源:FacebookAuthComponent.php

示例12: upload

 /**
  * Uploads a new file for the given FileField instance.
  *
  * @param string $name EAV attribute name
  * @throws \Cake\Network\Exception\NotFoundException When invalid slug is given,
  *  or when upload process could not be completed
  */
 public function upload($name)
 {
     $instance = $this->_getInstance($name);
     require_once Plugin::classPath('Field') . 'Lib/class.upload.php';
     $uploader = new \upload($this->request->data['Filedata']);
     if (!empty($instance->settings['extensions'])) {
         $exts = explode(',', $instance->settings['extensions']);
         $exts = array_map('trim', $exts);
         $exts = array_map('strtolower', $exts);
         if (!in_array(strtolower($uploader->file_src_name_ext), $exts)) {
             $this->_error(__d('field', 'Invalid file extension.'), 501);
         }
     }
     $response = '';
     $uploader->file_overwrite = false;
     $folder = normalizePath(WWW_ROOT . "/files/{$instance->settings['upload_folder']}/");
     $url = normalizePath("/files/{$instance->settings['upload_folder']}/", '/');
     $uploader->process($folder);
     if ($uploader->processed) {
         $response = json_encode(['file_url' => Router::url($url . $uploader->file_dst_name, true), 'file_size' => FileToolbox::bytesToSize($uploader->file_src_size), 'file_name' => $uploader->file_dst_name, 'mime_icon' => FileToolbox::fileIcon($uploader->file_src_mime)]);
     } else {
         $this->_error(__d('field', 'File upload error, details: {0}', $uploader->error), 502);
     }
     $this->viewBuilder()->layout('ajax');
     $this->title(__d('field', 'Upload File'));
     $this->set(compact('response'));
 }
开发者ID:quickapps-plugins,项目名称:field,代码行数:34,代码来源:FileHandlerController.php

示例13: _parseItem

 private function _parseItem($item, $options = array())
 {
     $template = $this->_defaultConfig['template'];
     if (isset($options['template'])) {
         $template['menuItem'] = $options['template'];
     }
     $active = false;
     $currentParams = $this->request->params;
     $url = $item['url'];
     if (is_array($url)) {
         if ($currentParams['plugin'] === @$url['plugin'] and $currentParams['controller'] === @$url['controller'] and $currentParams['action'] === @$url['action']) {
             $active = true;
         }
         $url = Router::url($url);
     }
     if ($active) {
         $itemResult = str_replace('{{url}}', $url, $template['menuItemActive']);
     } else {
         $itemResult = str_replace('{{url}}', $url, $template['menuItem']);
     }
     $itemResult = str_replace('{{text}}', $item['text'], $itemResult);
     if (isset($item['child'])) {
         $itemResult .= $this->_parseChildMenu($item['child']);
     }
     return $itemResult;
 }
开发者ID:kadekjayak,项目名称:SemanticUI,代码行数:26,代码来源:SemanticTabHelper.php

示例14: setUri

 public function setUri($uri)
 {
     if (is_array($uri)) {
         $uri = Router::url($uri);
     }
     return parent::setUri($uri);
 }
开发者ID:gourmet,项目名称:knp-menu,代码行数:7,代码来源:MenuItem.php

示例15: seeCurrentRouteIs

 /**
  * Asserts that current url matches route.
  *
  * @param array|string $route Route's array or name.
  * @param array $params Extra route parameters (i.e. prefix, _method, etc.)
  */
 public function seeCurrentRouteIs($route, $params = [])
 {
     if (!is_array($route)) {
         $route = ['_name' => $route];
     }
     $this->seeCurrentUrlEquals(Router::url($route + $params));
 }
开发者ID:cakephp,项目名称:codeception,代码行数:13,代码来源:RouterTrait.php


注:本文中的Cake\Routing\Router::url方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。