symfony2框架配置页面

symfony2里的MVC

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/

这里写图片描述

参考
教你成为全栈工程师(Full Stack Developer) 八-10行代码建起你的网站

猜你喜欢

转载自blog.csdn.net/mouday/article/details/81045683