关于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. fluent提供的边界条件解析【转载】

    转载自:http://chengkang8.blog.163.com/blog/static/6719535620113149552369/ 1. 速度入口边界条件 用于定义流动入口边界的速度和标量 ...

  2. select,poll,epoll最简单的解释

    从事服务端开发,少不了要接触网络编程.epoll 作为 Linux 下高性能网络服务器的必备技术至关重要,nginx.Redis.Skynet 和大部分游戏服务器都使用到这一多路复用技术. epoll ...

  3. 我们一起分析一下这个刚刚修复的RDP漏洞CVE-2019-0708

    写在前面的话 在微软今年五月份的漏洞更新安全公告中,提到了一个跟远程桌面协议(RDP)有关的漏洞.我们之所以要在这里专门针对这个漏洞进行分析,是因为这个漏洞更新涉及到Windows XP以及其他多个W ...

  4. unity疯狂牧场完整项目源码 - Frenzy Farming time management game kit V1.0

    You will love this game kit! Have you ever wondered what it would be like to run your own farm? Look ...

  5. GPS 经纬度

      经纬度地图: http://www.gpsspg.com/maps.htm http://www.gzhatu.com/dingwei.html 经纬度格式转化 http://www.gzhatu ...

  6. leetcode 293.Flip Game(lintcode 914) 、294.Flip Game II(lintcode 913)

    914. Flip Game https://www.cnblogs.com/grandyang/p/5224896.html 从前到后遍历,遇到连续两个'+',就将两个加号变成'-'组成新的字符串加 ...

  7. Angular中使用ECharts图表

    1.安装: npm install echarts --save 2.在 TypeScript 文件中导入echarts import * as echarts from 'echarts'; 3.根 ...

  8. Python3基础 函数 多值参数 元组与字典形式(键值对分别指出)

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  9. android 应用签名的作用

    来源:https://www.jianshu.com/p/61206c96471a 1..应用程序升级:如果你希望用户无缝升级到新的版本,那么你必须用同一个证书进行签名.这是由于只有以同一个证书签名, ...

  10. OMPL 在windows下的安装

    博客参考:https://blog.csdn.net/shitanding/article/details/82562702 和 https://bitbucket.org/ompl/omplapp/ ...