Table des matières
symfony2 路由工作原理及配置,symfony2工作原理
Maison php教程 php手册 symfony2 路由工作原理及配置,symfony2工作原理

symfony2 路由工作原理及配置,symfony2工作原理

Jun 13, 2016 am 08:46 AM

symfony2 路由工作原理及配置,symfony2工作原理

1、路由是程序的方法和URL的一一映射。

在配置文件里,把经常访问的路由放在前面,可以提高路由匹配的效率。

2、路由匹配的两种方式

  • Annotation

  允许在方法的上面用注释定义方法运行状态的功能

<span>class</span> UserController <span>extends</span><span> Controller{
    </span><span>/*</span><span>*
     * @Route("/user/login")
     * @Template()
     </span><span>*/</span>
     <span>public</span> <span>function</span><span> loginAction(){
         </span><span>//</span><span>代码</span>
<span>     }   
}</span>
Copier après la connexion
  • router.yml

  symfony2常用的配置格式

两种方法不能同时用。

3、URL的定义

静态URL和动态URL

<?<span>php

namespace Scource\WebBundle\Controller;

</span><span>use</span><span> Symfony\Bundle\FrameworkBundle\Controller\Controller;
</span><span>use</span><span> Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
</span><span>use</span><span> Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
</span><strong><span>use</span><span> Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;<span>//</span></span></strong><span>下面路由定义中用到Method<br /><br /></span><span>//</span><span>定义总的router,如果当前控制器中用到的路由都是以/page开始</span><span>
/*</span><span>*
 * @Route("/page")
 </span><span>*/</span>
<span>class</span> DefaultController <span>extends</span><span> Controller
{
    </span><span>/*</span><span>*
     * @Route("/{page_num}",defaults={"page_num":1},requirements={"page_num"="\d+"})
     * @Template()
     * @Method("get")
     </span><span>*/</span>
    <span>//</span><span>以上注释并不是没有用,是利用注释动态影响程序代码,定义总的路由之后,在<span>定义</span>当前路由时,只定义第二级路由就可以
    //defaults={"page_num":1}设置page_num默认值为1
    //requirements={"page_num"="\d+"}要求page_num必须为数字
    //http://localhost:8000/app_dev.php/page/555</span>
    <span>public</span> <span>function</span> indexAction(<span>$page_num</span><span>)
    {
        </span><span>$method</span> = <span>$this</span>->getRequest()->getMethod();<span>//</span><span>获取表单数据的传送方式</span>
        <span>return</span> <span>array</span>('name' => <span>$page_num</span><span>);
    }
    </span><span>/*</span><span>*
     * @Route("/test",name="page_test")
     * @Template()
     </span><span>*/</span>
    <span>//</span><span>name="page_test"设置路由名称
    //通过命令行>php app/console router:match /page/test  可以查询/page/test的路由信息
    //http://localhost:8000/page/test?name=world</span>
    <span>public</span> <span>function</span><span> testAction() {
        </span><span>$name</span> = <span>$this</span>->getRequest()->get('name');<span>//</span><span>获取临时传递参数的值</span>
        <span>return</span> <span>array</span>('name' => <span>$name</span><span>);
    }
}</span>
Copier après la connexion

//////////////

use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter

 

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)