smarty框架

Smary是用來將表現和內容相分離的框架php

smary的原理css

  class Smarty{
      private $tpl_var=array();
      public function assign($k,$v){
          $this->tpl_var[$k]=$v;
      }
    
      public function compile(){
          $str=file_get_contents('./demo.html');                                   //將文件的內容轉換爲字符串
          $str=str_replace('{','<?php echo $this->tpl_var["',$str);        //將文件中全部的{  轉換爲  <?php echo
          $str=str_replace('}','"];?>',$str);                                            //將文件中全部的}  轉換爲 ?>
        
          file_put_contents('./demo.html.php',$str);                             //混編文件
        
          require './demo.html.php';

      }
  }html

優化代碼數組

  //若是混編文件存在,而且混編文件的修改時間大於模板修改時間,則直接引入。不然從新生成。緩存

  file_exists($compile_path) && filemtime($compile_path) > filemtime($tpl_path)app

優化文件結構框架

  //新建一個模板文件夾(view,template),和編譯文件夾(view_c,template_c),用來存放對應的文件ide

  templates:默認存放模板文件夾oop

  templates_c:默認存放混編文件的文件夾post

  cache:存放緩存

  configs:存放配置文件

註釋

  {*這是註釋*}

  Smarty註釋和HTML註釋的區別

聲明變量

  require './Smarty/Smarty.class.php';
  $smarty=new Smarty();
  $smarty->assign('title','鋤禾');

  {assign var = '變量名' value='值' }

取值

  {$name}

保留變量

  在Smarty中有一個特殊的變量「smarty」,這個變量是保留變量,用來訪問用戶請求的信息,系統環境變量,常亮,相似於PHP中的超全局變量。

  1. 得到get提交的值:例如:{$smarty.get.name}       $_GET
  2. 得到post提交的值                  {$smarty.post.變量名}    $_POST
  3. 萬能的得到值的方法      {$smarty.request.變量名}  $_REQUEST
  4. 獲取會話: 在PHP中定義一個會話

在html中寫,css或js時

  在{}中加 空格

smarty對數組的訪問

  1. 數組[下標]
  2. 數組.下標

foreach

  若是不存在遍歷的數組則執行{foreachelse}部分

判斷

  {if  條件}

 

  {elseif  條件}

 

  {else}

 

  {/if}

循環

  只支持索引數組,不支持關聯數組。

  {section  name='自定義變量名'  loop='被遍歷的數組'}

         {數組['自定義變量名']}

  {/section}

for循環

 {for $i = 1 to  10}{/for}

while循環

  {assign var= "i" value=1}

  {while $i<10}

  {/while}

 

值變量@iteration

1開始的序號

值變量@index

0開始的索引

值變量@first

判斷是不是第一個元素

值變量@last

判斷是否最後一個元素

值變量@total

數組的長度

值變量@show

數組是否爲空

相關文章
相關標籤/搜索