zoukankan      html  css  js  c++  java
  • 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>
    

      

  • 相关阅读:
    PCB Genesis加邮票孔(线与线)实现算法
    PCB 无需解压,直接读取Zip压缩包指定文件 实现方法
    PCB MS SQL CLR聚合函数(函数作用,调用顺序,调用次数) CLR说明
    PCB MS SQL表值函数与CLR 表值函数 (例:字符串分割转表)
    PCB MS CLR 聚合函数 joinString加排序实现
    PCB 奥宝LDI 输出自动改周期检测内容
    如何介绍项目
    二叉树的深度
    51单片机汇编指令手册
    SSM父子工程搭建
  • 原文地址:https://www.cnblogs.com/darjuan/p/nginx-php-slim-twig.html
Copyright © 2011-2022 走看看