• 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 SlimSlim as Slim;
    
    Slim::registerAutoloader();
    
    require '/darjuan/Slim/Extras/Views/Twig.php';
    
    use SlimViewsTwig 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>
    

      

  • 相关阅读:
    2016.7.22.noip2012D2
    2016.7.21.noip2014D2
    LIS最长上升子序列O(n^2)与O(nlogn)的算法
    vijos1910解方程
    vijos1909寻找道路
    viojs1908无线网路发射器选址
    P1907飞扬的小鸟
    P1906联合权值
    P1905生活大爆炸版 石头剪刀布
    poj1274(匈牙利算法)
  • 原文地址:https://www.cnblogs.com/darjuan/p/nginx-php-slim-twig.html
Copyright © 2020-2023  润新知