我 && symfony3 (路由)

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "Helvetica Neue"; color: #323333 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #dd2244; background-color: #f7f7f7 }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #323333; background-color: #f7f7f7; min-height: 14.0px }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Helvetica Neue"; color: #323333 }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #011480; background-color: #f7f7f7 }
p.p6 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #323333; background-color: #f7f7f7 }
p.p7 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #008080; background-color: #f7f7f7 }
p.p8 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #999988; background-color: #f7f7f7 }
p.p9 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #999988; background-color: #f7f7f7; min-height: 14.0px }
li.li4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Helvetica Neue"; color: #323333 }
span.s1 { }
span.s2 { color: #323333 }
span.s3 { color: #999999 }
span.s4 { color: #011480 }
span.s5 { color: #008080 }
span.s6 { color: #991200 }
span.s7 { color: #999988 }
span.s8 { color: #dd2244 }
ul.ul1 { list-style-type: disc }

symfony 在控制器定义路由

@Route("/lucky/number")     #必须用双引号

@Route("/api/get-lucky-number/{number}")  #{number} 为传参

routing.yml 配置路由

api:

path:     /api/{_locale}/{year}/{title}.{_format}

defaults: {_controller: AppBundle:Api:getJson, _format:html}

requirements:

_locale: en|fr

_format: html|rss

year:    \d+

schemes:  [http]

show:

path:     /show.json

defaults:  {_controller: AppBundle:Api:showUrl}

schemes:  [http]

tpl:

path:     /lucky/number

defaults: {_controller:AppBundle:Api:number}

schemes:  [http]

  • api : 表示该理由的别名,在 使用控制器使用 generate && generateUrl 可以使用到
  • path : 表示访问到url ,其中参数可以用{}传递 ,传递到参数可以在 控制器中动作参数使用
  • defaults : 表示对应到控制器及方法,APPBundle 表示控制器所在目录,Api 表示控制器,getJson 表示请求方法
  • requirements : 表示参数到验证方式,其中 | 表示 ‘或’, \d+ 为匹配一个数字
  • schemes : 表示对应到请求模式,http | https

下面介绍下在控制器中,如何使用这样到router

  # $year,$title 就是{}中到参数, $_controller 表示控制器, $_route 对应别名 api,show, tpl

public function getJsonAction($title, $year, $_locale, $_format, $_controller, $_route)

{

$numbers = [];

for ($i = 0; $i < 10; $i++)

{

$numbers[] = rand(0, 100);

}

$other = [‘title‘ => $title, ‘year‘ => $year, ‘_locale‘ => $_locale, ‘_format‘ => $_format, ‘_controller‘ => $_controller, ‘_route‘ => $_route];

return  new JsonResponse($other);

}

/**

       #运行结果

        {

            title: "api",

            year: "2014",

            _locale: "en",

            _format: "html",

            _controller: "AppBundle\Controller\ApiController::getJsonAction",

            _route: "api"

        }

        

    */

public function showUrlAction()

{

//获取对应的url

$params = $this->get(‘router‘)->match(‘/lucky/number‘);

//生成uri

$uri = $this->get(‘router‘)->generate(‘api‘, [

‘year‘  => ‘2022‘,

‘title‘ => ‘en‘,

]);

//生成带域名的url

$url = $this->generateUrl(‘api‘, [

‘year‘  => ‘2022‘,

‘title‘ => ‘fr‘,

‘_format‘   => ‘html‘

], UrlGeneratorInterface::ABSOLUTE_URL);

//        $uri = ‘‘;

return new JsonResponse([‘params‘ => $params, ‘uri‘ => $uri, ‘url‘ => $url]);

}

/**

        {

            params: {

            _controller: "AppBundle\Controller\ApiController::numberAction",

            _route: "app_api_number"

            },

            uri: "/api/en/2022/en",

            url: "http://127.0.0.1:8000/api/en/2022/fr"

        }

    

    */

  • $this->get(‘router‘)->generate(‘api‘ , ... ) 表示获取一个uri
  • $this->generateUrl(‘api‘, , UrlGeneratorInterface::ABSOLUTE_URL) 则表示生成绝对到url
时间: 2024-08-24 09:45:59

我 && symfony3 (路由)的相关文章

如何使用GNS3和Cisco IOU搭建路由交换实验-IOU篇

前面介绍了GNS3的概念,安装,配置和使用,本篇将介绍怎么利用GNS3配置IOU从而实现使用GNS3和Cisco IOU搭建路由交换实验. 由于本篇篇幅较长,所以先过一下大纲: 1. IOU模拟环境介绍 2. IOU软件环境的准备 3. VMware虚拟机的安装.导入和配置 4. IOU镜像的上传 5. GNS3的配置 6. IOU模拟环境的实现 IOU模拟环境介绍 IOU即IOS running in Unix,最初是由思科内部人员开发来测试IOS的平台,后来流传到互联网经网友改进有了后来的W

ubuntu配置静态路由及重启生效

ubuntu配置静态路由及重启生效 第一种方法:使用route命令(添加临时路由) 添加到主机的路由 # route add -host 192.168.1.123 dev eth0 # route add -host 192.168.1.123 gw 192.168.1.1 添加到网络的路由 # route add -net 192.168.1.123 netmask 255.255.255.0 eth0 # route add -net 192.168.1.123 netmask 255.2

FreakZ学习笔记:路由发现机制

路由发现机制 路由发现机制只有在发送通信包的过程中会被调用,而接收过程因为发送时候已经进行了通信链路的扫描和连接,所以不会再进行路由发现机制. 路由的所有处理机制都是在NWK层进行的,当然,路由发现机制也一样.当协议栈进行数据发送时,会依次按照APP->APS->NWK->MAC->PHY->Radio的层次关系来进行,APS层执行完成之后,会跳转到NWK层的nwk_data_req函数,该函数为NWK数据请求服务,接收APS层的数据并且加上NWK层的包头,然后将数据打包.n

首尾路由使用

1 import {CanActivate} from "@angular/router"; 2 3 export class PermissionGuard implements CanActivate { 4 canActivate() { 5 let hasPermission: boolean = Math.random() < 0.5; 6 if (!hasPermission){ 7 console.log('用户没有权限'); 8 } 9 return hasPer

vue.js路由

Vue.js 路由 Vue.js 路由允许我们通过不同的 URL 访问不同的内容. 通过 Vue.js 可以实现多视图的单页Web应用(single page web application,SPA). Vue.js 路由需要载入 vue-router 库 中文文档地址:vue-router文档. 安装 1.直接下载 / CDN https://unpkg.com/vue-router/dist/vue-router.js NPM 推荐使用淘宝镜像: cnpm install vue-route

引用nodejs的url模块实现url路由功能

我们在本地创建服务器之后需要写不同的后缀名来访问同一个站点的不同页面,如果不实现路由功能.则每次访问localhost:3000 不论后面写什么  比如localhost:3000/index.localhost:3000/detail...最终都会访问同一个地址:而用url路由则可以实现访问不同的页面:在实现url路由功能之前,首先需要引入url模块:const url = require('url');  nodejs 为我们提供了url模块,并且提供了url模块的一些方法: 最终要的方法是

CentOS下的路由知识及配置路由

博文目录 简介 上一篇博文已经讲解了IP地址的配置,那么有IP,就准备开始进行通信吧,网络之间的通信主要是依靠路由器,当然生成环境中是拥有路由器的,但是系统中的路由配置也是需要了解一下地,今天讲解一下软路由的显现,与一个路由的小实验 linux下需要启用ip_forword 启用路由功能 echo 1 > /proc/sys/net/ipv4/ip_forword 一.路由表中的接口 到达目标网段从本路由器的那个接口能到达,这个借口就本路由的记录接口 1.如果目标网络和路由器直接相连,网关即是路

ASP.NET Core中使用默认MVC路由

ASP.NET Core里Route这块的改动不大,只是一些用法上有了调整,提供了一些更加简洁的语法. 而对于自定义路由的支持当然也是没有问题的,这个功能应该是从MVC1.0版本就已经有这个功能. 先看看ASP.NET Core里面实现默认MVC路由的配置方式 通常情况下,在使用MVC项目的时候,默认的路由就足够了,就是常见的通过Controller和Action获取具体的方法的方式. 从一个最基本的项目开始,执行以下步骤,就可以使得项目支持MVC路由 1.创建一个空白的ASP.NET Core

AngularJs的关于路由问题

初学AngularJs一些天,发现AngularJs到最后的时候会很难.刚刚开始的时候特别不容易适应,到中间的部分,还是比较简单,到最后的时候就发现特别难.我看到了网站上说到了AngularJs中,学习路线是比较奇怪的,有些诡异.我想想不知道是不是对的.今天我在学习AngularJs路由知识点的时候,遇到了一些问题,就是路由不到.以下是刚刚开始写的代码. 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4