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>
    

      

  • 相关阅读:
    HashMap是无序的
    mysql随笔
    visual stdio 安装OpenGL库文件
    myeclipse解决JSP文件里script背景颜色的调整
    js的鼠标事件整理-------Day47
    Linux环境编程之IPC进程间通信(五):Posix消息队列1
    HDFS 读取、写入、遍历文件夹获取文件全路径、append
    Appfuse搭建过程(下源代码不须要maven,lib直接就在项目里(否则痛苦死!))
    CSS样式命名规则
    关于c++ list容器的操作摸索
  • 原文地址:https://www.cnblogs.com/darjuan/p/nginx-php-slim-twig.html
Copyright © 2011-2022 走看看