关于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. 360杯复赛流量分析题 详细writeup

    题目名: 这是捕获的黑客攻击数据包 通过分析流量包,得知黑客先上传了一个文件: 追踪TCP流,可以看到文件内容,是一个木马: 然后通过get请求一个加密key,在响应里能看到key的值. 接下来就是用 ...

  2. make 实例 二 V56

    ######################################################################### # # Makefile used for buil ...

  3. Flink 之 Data Sink

    首先 Sink 的中文释义为: 下沉; 下陷; 沉没; 使下沉; 使沉没; 倒下; 坐下; 所以,对应 Data sink 意思有点把数据存储下来(落库)的意思: Source  数据源  ---- ...

  4. Linux下java进程CPU占用率高分析方法(一)

    Linux下java进程CPU占用率高分析方法 在工作当中,肯定会遇到由代码所导致的高CPU耗用以及内存溢出的情况.这种情况发生时,我们怎么去找出原因并解决. 一般解决方法是通过top命令找出消耗资源 ...

  5. PHP技术知识点整理

    1.解释mvc (1)mvc即 模型model,视图view,控制器controller:是一种模型,是一种编程思想,就是把一个应用的输入.输出.数据处理分开,分解耦合(2)A..视图,数据采集和处理 ...

  6. python中的raise用法

    date ; 2019-08-22 15:10:56 try: s = None if s is None: print("s shi kong de ") raise NameE ...

  7. Beacon Designer 8.14 下载及破解

    先安装 Beacon Designer 8.14 下载地址 http://1.download.minixiazai.com/pc/Beacon.Designer.8_po.ziphttp://www ...

  8. flutter Card卡片列表组件

    一个 Material Design 卡片.拥有一个圆角和阴影 import 'package:flutter/material.dart'; import './model/post.dart'; ...

  9. 【转】Python 代码批量抓取免费高清图片!

    import requests from bs4 import BeautifulSoup import random import time from fake_useragent import U ...

  10. 【转载】 我的Machine Learning学习之路

    原文地址: https://www.cnblogs.com/steven-yang/p/5857964.html ------------------------------------------- ...