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

相关文章
|
3月前
|
JavaScript 前端开发 数据安全/隐私保护
组件库实战 | 教你如何设计Web世界中的表单验证
该文章通过实战演练,教授了如何在Web应用中设计和实现表单验证,包括使用Vue.js处理表单输入的验证逻辑、展示错误信息以及通过插槽和组件间通信来增强表单的功能性和用户体验。
组件库实战 | 教你如何设计Web世界中的表单验证
|
5月前
|
存储 数据库 开发者
Flask中的蓝图与插件应用:构建模块化Web应用的利器
【7月更文挑战第19天】Flask蓝图和插件是构建模块化、可扩展和可维护Web应用的强大工具。蓝图允许你将应用分割成多个独立的部分,提高了代码的组织性和可重用性;而插件则为Flask应用提供了丰富的功能和社区支持,简化了开发过程。通过合理地使用蓝图和插件,你可以更加高效地开发出高质量的Web应用。
|
5月前
|
测试技术 PHP 数据库
深入解析PHP框架:Symfony框架详解与应用
📚 Symfony框架深度解析:模块化设计提升开发效率,性能优越,灵活性高,支持MVC模式。探索控制器、路由、模板(如Twig)、服务容器、事件调度器等核心概念。还包括表单处理、数据库集成( Doctrine ORM)、安全组件、国际化支持及调试工具。使用Symfony CLI快速创建应用,内置PHPUnit测试支持。开始你的高质量Web开发之旅吧!
89 2
|
JSON 前端开发 JavaScript
【Django学习笔记 - 16】:DRF概述、Web应用模式(前后端分离简介)
【Django学习笔记 - 16】:DRF概述、Web应用模式(前后端分离简介)
307 0
【Django学习笔记 - 16】:DRF概述、Web应用模式(前后端分离简介)
|
前端开发
symfony2框架配置页面
symfony2框架配置页面
symfony2框架配置页面
|
缓存 数据库 Python
django jet-具有改进功能的Django管理界面的现代化响应模板
django jet是具有改进功能的Django管理界面的现代模板。 Django JET的优点 新外观 响应式移动界面 有用的管理员主页 最小的模板覆盖 易于整合 主题支持 自动补全 方便的控制
1476 0
django jet-具有改进功能的Django管理界面的现代化响应模板
|
JavaScript 前端开发 API
2018开发最快的Webapp框架--BUI交互框架
这是你看下去的动力, 我用BUI仿照QQ的手机截图做出来的一个demo, 包含QQ的常见交互, 侧滑边栏,TAB切换,侧滑列表,下拉刷新,下拉菜单,弹窗搜索等交互操作, 这几种操作很多UI框架都有, 但几种操作结合在一块, 不同方向之间的交互冲突, 不是那么简单的事情. 使用BUI耗时1天.
2100 0