关于symfony 3.4.32的安装与配置及第一个页面Luckynumber 的route书写

1.symfony 的安装与配置

symfony官网文档:https://symfony.com/doc/current/setup.html

2.通过 composer 创建 symfony 应用

我是通过 composer 来创建一个 symfony 应用的(关于 composer 可自行网上搜索)

安装好 composer 后,通过 composer 创建一个 symfony 应用

$ composer create-project symfony/framework-standard-edition my_project_name

如果你想安装指定版本的 symfony ,可以在命令最后补充版本号

$ composer create-project symfony/framework-standard-edition my_project_name "3.0.*"

3.运行 symfony 应用

安装好后就要运行一下运行环境要求 PHP 版本在 5.4 及以上,才可以执行下面命令来启动 Symfony 应用我是安装了集成软件 Wamposerver 其中包括了 PHP、Apache、MySQL,我选择的 PHP 版本是 7.2.18

$ cd my_project_name/
$ php bin/console server:run

然后打开浏览器,输入 http://localhost:8000/ 即可看见 Welcome 页面。
你也许会看到 Welcome 页面是个空白页面或者报错页面。

可以参考:https://symfony.com/doc/current/setup.html#book-installation-permissions

3.创建一个页面:路由和控制器

跟着官网文档第一个页面是做 Luckynumber 
就是创建一个页面 /lucky/number 用来生成一个幸(sui)运(ji)数并打印出来。

首先创建一个类和一个成员方法。
PhpStorm 中打开前面创建的 my_project_name

具体的文件位置和命名空间根据实际情况而定

下面的代码是我自己修改过的


<?php

// 文件位置 src/AppBundle/Controller/LuckyController.php
namespace AppBundle\Controller;

use Symfony\Component\HttpFoundation\Response;

class LuckyController
{
public function number()
{
$number = rand(, ); return new Response(
'<html><body>Lucky number: '.$number.'</body></html>'
);
}
}

文档上是在 config/routes.yaml file 创建 route ,但我自己做的时候,自己尝试创建 routes.yaml file 并将下列代码附上去的时候是没有成功的,

当我慢慢看文档后面的内容时就将文件位置改为了 routing.yml file 加上下列代码就成功了。

这是一种 route 书写方法:

app_lucky_number:
path: /lucky/number
controller: AppBundle\Controller\LuckyController::number

另一种如下所示:

<?php

//  src/AppBundle/Controller/LuckyController.php
namespace AppBundle\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response; class LuckyController
{
/**
* @Route("/lucky/number")
*/
public function number()
{
$number = rand(, ); return new Response(
'<html><body>Lucky number: '.$number.'</body></html>'
);
}
}

目前我就理解到这些,以后有学到新的再更新,如果有大佬教教我的话自然是再好不过了。

关于使用 symfony 3.4.32中Luckynumber 页面的 route 书写的更多相关文章

  1. java中jsp页面的css资源定位---备忘录

    1:同级目录下(应该是相对定位) web-inf下的内容是不对外开放的/安全的,不能通过url直接访问.已避免非法人员通过url自己操作一些比较私密的文件信息. 能在sevlet(或者spring的c ...

  2. 高并发分布式系统中生成全局唯一(订单号)Id js返回上一页并刷新、返回上一页、自动刷新页面 父页面操作嵌套iframe子页面的HTML标签元素 .net判断System.Data.DataRow中是否包含某列 .Net使用system.Security.Cryptography.RNGCryptoServiceProvider类与System.Random类生成随机数

    高并发分布式系统中生成全局唯一(订单号)Id   1.GUID数据因毫无规律可言造成索引效率低下,影响了系统的性能,那么通过组合的方式,保留GUID的10个字节,用另6个字节表示GUID生成的时间(D ...

  3. 获取Excel工作薄中Sheet页(工作表)名集合

    #region 获取Excel工作薄中Sheet页(工作表)名集合 02./// <summary> 03./// 获取Excel工作薄中Sheet页(工作表)名集合 04./// < ...

  4. SQLServer中的页如何影响数据库性能 (转)

    无论是哪一个数据库,如果要对数据库的性能进行优化,那么必须要了解数据库内部的存储结构.否则的话,很多数据库的优化工作无法展开.对于对于数据库管理员来说,虽然学习数据库的内存存储结构比较单调,但是却是我 ...

  5. JavaScript写在Html页面的<head></head>中

    JavaScript写在Html页面的<head></head>中 ----------------- <html> <head> <style ...

  6. 如何将页面的<br/>在Excel中正确换行

    在页面的<br />导致导出Excel中是会以多行的方式显示,达不到页面在一个单元格中进行换行,为此我们有以下两种方式: 1.CSS样式方式 <br style='mso-data- ...

  7. 要在一般处理程序中获取其他页面的session值

    1.要在一般处理程序中获取其他页面的session值,需要引用名空间: using System.Web.SessionState; 2.然后继承一个接口:IRequiresSessionState, ...

  8. 坑爹的vector iterators incompatible错误(VS中属性页-->C/C++-->代码生成-->>运行库)

    之前一直被这个错误折磨着,就是不知道问题在那,后来找了很多资料,大概都是说这是因为多个线程同时操作vector的问题(参考这里).可是我这里的代码并没有问题,因为同样的代码在别的解决方案中已经成功运行 ...

  9. 转载: js jquery 获取当前页面的url,获取frameset中指定的页面的url(有修改)

    转载网址:http://blog.csdn.net/bestlxm/article/details/6800077 js jquery 怎么获取当前页面的url,获取frameset中指定的页面的ur ...

随机推荐

  1. Function.apply.bind()与Function.apply.bind()

    1.Function.apply.bind(…) 我在学习promise部分的时候遇到了这样的代码: Promise.resolve([10,20]).then(Function.apply.bind ...

  2. mysql 使用的三个小技巧

    mysql 使用的三个小技巧 快速阅读 Mysql查询工具中如何查询多条语名,Mysql中如何设置变量,Mysql中如何查特定字段,后面再加* Mysql查询工具中如何查询多条语名 默认myslq只能 ...

  3. Assignment3:白盒测试以及测试框架简介

    一. 白盒测试简介       白盒测试又称结构测试.透明盒测试.逻辑驱动测试或基于代码的测试.白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及 ...

  4. 腾讯云CENTOS7安装MSSQL2017

    腾讯云CENTOS7安装MSSQL2017 mkdir -p /opt/sqlserver2017cd /opt/sqlserver2017/ 下载离线包:wget https://packages. ...

  5. 【转】Python编程: 多个PDF文件合并以及网页上自动下载PDF文件

    1. 多个PDF文件合并1.1 需求描述有时候,我们下载了多个PDF文件, 但希望能把它们合并成一个PDF文件.例如:你下载的数个PDF文件资料或者电子发票,你可以使用python程序合并成一个PDF ...

  6. 拒绝让Eclipse帮倒忙,解决其复制粘贴时把反斜杠变成双反斜杠的问题

    比如,你粘贴到字符串的文本是“C:\Users\horn1\Desktop”,结果变成了“C:\\Users\\horn1\\Desktop\\”,这还好,不会带来麻烦. 但是,比如你输入的是正则表达 ...

  7. Vue 事件结合双向数据绑定实现todolist 待办事项 已经完成 和进行中

    <template> <div id="app"> <input type="text" v-model='todo' @keyd ...

  8. iptables 的安装与配置

    iptables 的安装与配置 由于centos7默认是使用firewall作为防火墙,下面介绍如何将系统的防火墙设置为iptables. #停止firewall  systemctl stop fi ...

  9. Docker容器(五)——Docker静态化IP

    (1).Docker的四种网络模式 Docker有以下四种模式,通过--net=[参数]选项(现在也可以使用--network [参数])指定: host模式:使用宿主机的IP地址和端口.使用--ne ...

  10. django中同通过getlist() 接收页面form的post数组

    前端中的一些东西: <form action="people?action=edit" method="post"> <input type= ...