symfony2框架配置页面

简介: symfony2框架配置页面

symfony2里的MVC


1、 开发模式与发布模式


debug模式 http://127.0.0.1/app_dev.php/

release模式 http://127.0.0.1/

2、日志目录和cache目录

debug模式调试ok了之后,需要清理一下cache才能用release模式访问

php app/console cache:clear   # 方式一
rm -rf app/cache/*    # 方式二

修改日志文件权限


chmod -R 777 app/cache/
chmod -R 777 app/logs/

3、外网访问debug模式

注释文件/web/app_dev.php以下内容


if (isset($_SERVER['HTTP_CLIENT_IP'])
    || isset($_SERVER['HTTP_X_FORWARDED_FOR'])
    || !(in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1')) || php_sapi_name() === 'cli-server')
) {
    header('HTTP/1.0 403 Forbidden');
    exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}

4、什么是Bundle


bundle英文释义是捆,在symfony2中它就相当于一个组件


bundle里一般包含MVC的所有内容以及Resource和config


做一个静态页面

1、写一个静态页面

app/Resources/views/目录创建一个blog目录,并在blog里创建list.html.twig文件内容如下,也可以随意

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
<title>MyWebSite</title>
<!-- 新 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css">
<!-- 可选的Bootstrap主题文件(一般不用引入) -->
<link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">
<!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
<script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="//cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</head>
<body>
<div class="row bg-primary">
    <div class="col-sm-1 col-xs-1"></div>
    <div class="col-sm-11 col-xs-11"><h1><a href="" style="text-decoration: none;color: white;">MyWebSite</a></h1></div>
</div>
<div class="row jumbotron">
    <div class="col-md-1 col-xs-1"></div>
    <div class="col-md-10 col-xs-10"><h1>Welcome to MyWebSite!</h1></div>
    <div class="col-md-1 col-xs-1"></div>
</div>
</body>
</html>

2、修改路由

在文件app/config/routing.yml添加如下内容


blog_list:
    path:     /bloglist/
    defaults: { _controller: AppBundle:Blog:list }

说明:

定义了网站不同的url路径所对应的controller


blog_list:表配置组名字

path:url路径

defaults:响应的controller

这里设置的是执行AppBundler下的BlogController的listAction方法


3、修改控制器

创建src/AppBundle/Controller/BlogController.php文件


<?php
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
class BlogController extends Controller
{
    public function listAction(Request $request)
    {
        return $this->render('blog/list.html.twig');
    }
}

说明:


render: 显示/渲染/输出,blog/list.html.twig这个模板的内容

4、访问测试

http://127.0.0.1:8080/app_dev.php/bloglist/


image.png

相关文章
|
安全 Android开发 数据安全/隐私保护
请说明鸿蒙操作系统与其他操作系统(如Android和iOS)的主要区别。
请说明鸿蒙操作系统与其他操作系统(如Android和iOS)的主要区别。
1050 1
|
人工智能 监控 算法
【AI 现况分析】AI 应用导致的隐私问题分析
【1月更文挑战第27天】【AI 现况分析】AI 应用导致的隐私问题分析
在Linux中,如何创建、移动和删除文件和文件夹?
在Linux中,如何创建、移动和删除文件和文件夹?
|
10月前
|
存储 监控 Java
深入理解计算机内存管理:优化策略与实践
深入理解计算机内存管理:优化策略与实践
|
11月前
|
机器学习/深度学习 自然语言处理 语音技术
ChatGPT高效提问—基础知识(LM、PLM以及LLM)
ChatGPT高效提问—基础知识(LM、PLM以及LLM)
194 0
|
应用服务中间件
SpringMVC系列之 javax.servlet.http.HttpServletRequest.getDispatcherType()Ljavax/servlet/DispatcherType;
文章讨论了在SpringMVC中遇到的`javax.servlet.http.HttpServletRequest.getDispatcherType()Ljavax/servlet/DispatcherType;`错误,并提供了通过升级Tomcat到8.x版本和检查pom依赖配置来解决这个问题的方法。
|
安全 网络协议
阿里云25端口解封教程完美解决25端口封禁的方法
阿里云出于安全考虑,默认封禁了TCP 25端口出方向的访问流量,所以用户无法使用25号端口邮件服务,云吞铺子分享25端口解封的方法: 阿里云25端口解封申请教程 用户想要使用25端口进行对外连接,可以在安全管控平台中提交25端口解封申请,可以参考官方文档(TCP 25端口解封申请- 阿里云),也可以参考下方云吞铺子的教程: 登录到阿里云管理控制台; 鼠标移动到头像,可以看到下拉菜单,点击“安全管控”如下图: 左侧栏“业务申请”--“25端口解封” 注意:在正式申请前,您需要确认同意并承诺,保证TCP 25端口仅用来连接第三方的SMTP服务器,从第三方的SMTP服务器外发邮件。
27237 1
|
数据安全/隐私保护 Docker 容器
青龙面板2.8+ninja京东扫码获取CK搭建
青龙面板2.8+ninja京东扫码获取CK搭建
|
存储 算法 安全
【多线程系列-05】深入理解ThreadLocal的底层原理和基本使用
【多线程系列-05】深入理解ThreadLocal的底层原理和基本使用
410 4