Slim + Twig 构建PHP Web应用程序

Twig : PHP 视图模板引擎,类似于Smart模板引擎.

下载地址:http://twig.sensiolabs.org/

Slim: 轻量级PHP MVC框架,可用于构建Web app,Restful API 与 flight框架类似.

下载地址:http://www.slimframework.com/

配置Slim+Twig开发环境:

biz:逻辑业务层

common:公共层

darjuan:第三方框架

templates:视图模板

引入Twig扩展

配置index.php

require ‘/darjuan/Slim/Slim.php‘;
use \Slim\Slim as Slim;

Slim::registerAutoloader();

require ‘/darjuan/Slim/Extras/Views/Twig.php‘;

use Slim\Views\Twig as TwigView;

$app = new Slim(array(
  ‘templates.path‘ => __DIR__.‘/templates‘,
  ‘debug‘ => false,
  ‘view‘ => new TwigView
));

测试Demo:

$app->group(‘/layout‘,function() use ($app){
	$app->get(‘/books‘, function () use ($app) {
		$books[] =array(‘id‘=>1003,‘title‘=>‘新闻标题‘);
    	$app->render(‘/books/books.list.php‘, array(‘books‘ => $books));
	});

	$app->get(‘/books/:id‘, function ($id) use ($app) {
		$book =array(
		‘id‘=>$id,
		‘title‘=>‘新闻标题2‘,
		‘content‘=>‘<a href="#">asdsadsadsa</a>‘);

 		#$app->view()->setData($book);

    	$app->render(‘/books/books.detail.php‘,$book);
	});
});

books.list.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="">
    <meta name="author" content="">
</head>

<body>
  <div>
  <ul>
	{% for book in books %}
	   <li><a href="/layout/books/{{book.id}}">{{book.title}}<a></li>
	{% endfor %}
  <ul>
  </div>
</body>
</html>

books.detail.php

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="">
    <meta name="author" content="">
</head>

<body>
  <div>
  <h1>
	  {{title}}
  <h1>
  <div>
   {{content}}
  </div>
  </div>
</body>
</html>

  

时间: 2024-10-27 20:35:38

Slim + Twig 构建PHP Web应用程序的相关文章

用 Sencha Touch 构建移动 web 应用程序

Sencha Touch 是一个使用 HTML5.CSS3 和 JavaScript 语言构建的移动 web 应用程序框架,在本文中,学习如何应用您当前的 web 开发技能进行移动 web 开发.下载和建立 Sencha Touch,通过一个样例应用程序探究基本原理.学习开始使用 Sencha Touch 框架所需的一切 2012 年 3 月 19 日 内容 概述 Sencha Touch 准备开始 UI components 结束语 参考资料 评论 概述 在软件开发领域中,有两个重要的趋势越来

spring(5)构建 spring web 应用程序

[0]README 1)本文部分文字描述转自:"Spring In Action(中/英文版)",旨在review  "spring(5)构建 spring web 应用程序" 的相关知识: [1]spring mvc 起步 [1.1]跟踪spring mvc的请求 1)请求时一个十分繁忙的家伙,下图展示了请求使用spring mvc所经历的 站点: 对以上调用过程的分析(Analysis):(不能再干货--请求使用spring mvc 所经历的调用过程) step

构建移动Web应用程序的技术堆栈

编写web应用程序时,有很多的技术决策.笔者最近回来编写现代Web应用程序,并希望总结一些曾经在开发周期过程中做了记录零散的想法.这篇文章是关于一套对笔者最近开发的项目有帮助的框架.笔者重温了一些最重要的框架类型,其中每一个可以展开来写一篇文章.这并不是一个广泛的现有产品相比,只是一个笔者最近使用的部分技术. 虽然笔者的重点是移动优先, 笔者认为,这套技术可以应用在一般的web应用程序. 笔者的决定和数据支持考虑了几个要求: 基于JavaScript(CoffeeScript,Dart,绝对值得

Spring MVC 构建入门级 Web 应用程序

在本例中,我们将使用Spring MVC框架构建一个入门级web应用程序.Spring MVC 是Spring框架最重要的的模块之一.它以强大的Spring IoC容器为基础,并充分利用容器的特性来简化它的配置. 目录 MVC框架是什么 Dispatcher Servlet(Spring控制器) Spring入门示例 运行时依赖库 web.xml和spring-servlet.xml文件配置 请求控制器EmployeeController.java 视图模型EmployeeVO.java Dao

Spring学习(五)--构建Spring Web应用程序

一.Spring MVC起步 看过猫和老鼠的小伙伴都可以想象Tom猫所制作的捕鼠器:它的目标 是发送一个小钢球,让它经过一系列稀奇古怪的装置,最后触发捕鼠 器.小钢球穿过各种复杂的配件,从一个斜坡上滚下来,被跷跷板弹起,绕过一个微型摩天轮,然后被橡胶靴从桶中踢出去.经过这些后,小钢球会对那只可怜又无辜的老鼠进行捕获.而Spring MVC框架与捕鼠器有些类似.Spring将请求在调度Servlet.处理器映射(handler mapping).控制器以及视图解析器(view resolver)之

《spring实战》学习笔记-第五章:构建spring web应用程序

5.1 Spring MVC起步 5.1.1 跟踪Spring MVC的请求 每当用户在Web浏览器中点击链接或提交表单的时候,请求就开始工作了.对请求的工作描述就像是快递投送员.与邮局投递员或FedEx投送员一样,请求会将信息从一个地方带到另 一个地方. 在请求离开浏览器时 ①,会带有用户所请求内容的信息,例如用户提交的表单信息. 请求旅程的第一站是Spring的前端控制器DispatcherServlet,在这里一个单实例的Servlet将请求委托给应用程序的其他组件来执行实际的处理. Di

构建Spring web 应用程序 (三)

处理表单 一.首先写一个表单 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html

第5章—构建Spring Web应用程序—关于spring中的validate注解后台校验的解析

关于spring中的validate注解后台校验的解析 在后台开发过程中,对参数的校验成为开发环境不可缺少的一个环节.比如参数不能为null,email那么必须符合email的格式,如果手动进行if判断或者写正则表达式判断无意开发效率太慢,在时间.成本.质量的博弈中必然会落后.所以把校验层抽象出来是必然的结果,下面说下几种解决方案. 1.简单的校验Demo 依赖: <dependency> <groupId>javax.validation</groupId> <

ADF_Starting系列6_使用EJB/JPA/JSF通过ADF构建Web应用程序之建立DataModel

2013-05-01 Created By BaoXinjian 一.摘要 在本教程中,您将使用甲骨文的JDeveloper 11 g版本11.1.2.0.0来构建一个web应用程序. 建立数据模型,您可以使用EJB图,EJB 3.0和Java Persistence API(JPA). web客户端使用JavaServer Faces(JSF). 创建一个主从复合结构主页查询和编辑功能的用户界面. 一个任务流,搜索功能,也作为一个地区添加到页面中. Building a Web Applica