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>

  

posted @ 2015-04-07 16:49  darjuan  阅读(1109)  评论(0编辑  收藏  举报