> 백엔드 개발 > PHP 문제 > smarty 템플릿의 데이터 변수는 무엇이며 어떻게 호출하나요?

smarty 템플릿의 데이터 변수는 무엇이며 어떻게 호출하나요?

autoload
풀어 주다: 2023-03-08 14:10:02
원래의
1420명이 탐색했습니다.

정의: 템플릿에 할당된 변수인 템플릿 변수Smarty 규칙을 사용하여 템플릿의 변수를 구문 분석하는 방법. 模板变量,即在模板中被分配的变量,以及如何使用Smarty规则在模板中解析变量。

Smarty模板中,我们将模板中的变量分为三类。

  •       PHP分配变量,即利用assign方法分配的变量。

  •       smarty保留变量,包括超全局预定义变量smarty的内置变量。

  •       自定义变量,用户在模板中去定义变量。

  1.PHP分配变量,理论上PHP可以分配任意数据类型给模板进行解析,通常数据其实也就三种:

  • 标量数据:直接使用标记输出的数据。

  • 数组数据:在smarty模板中可以使用下标或者通过"."+下标来实现。

  • 对象数据:在smarty模板中是通过对象访问符

    Smarty 템플릿에서는 템플릿의 변수를 세 가지 범주로 나눕니다.

PHP는 변수, 즉 할당 메서드를 사용하여 할당된 변수를 할당합니다.

  • Smarty는 수퍼 전역 사전 정의 변수smarty의 내장 변수를 포함한 변수를 유지합니다.

  • 사용자 정의 변수, 사용자는 템플릿에서 변수를 정의합니다.

  • 1. PHP는 변수를 할당합니다. 이론적으로 PHP는 구문 분석을 위해 템플릿에 모든 데이터 유형을 할당할 수 있습니다. 일반적으로 데이터 유형은 세 가지뿐입니다.

  • 스칼라 데이터: 마크에 의해 출력되는 데이터를 직접 사용합니다. .
  • 배열 데이터: 스마트 템플릿에서 아래 첨자를 사용하거나 "."+subscript를 사용할 수 있습니다.
  • 객체 데이터: smarty 템플릿에서는 객체 접근자를 통해 액세스가 이루어집니다.
  • <?php
        require &#39;smarty/Smarty.class.php&#39;;
        $smarty=new Smarty();
        // $smarty->left_delimiter="<{";
        // $smarty->right_delimiter="}>";
        $smarty->template_dir = &#39;templates/&#39;;   //实际模板所在目录,如果没有会在根目录下查找
        
        
        //普通数据
        $smarty->assign(&#39;hello&#39;,"hello world");
        //数组
        $smarty->assign(&#39;arr1&#39;,array(1412,14,23,456));
        $smarty->assign(&#39;arr2&#39;,array(&#39;name&#39;=>&#39;张三&#39;,&#39;sex&#39;=>&#39;男&#39;));
        //对象
        class Person{
            public $name=&#39;陈平安&#39;;
            public $perr=&#39;saber&#39;;
        }
        $smarty->assign(&#39;object1&#39;,new Person());
        $smarty->display(&#39;model.html&#39;);
    ?>
    로그인 후 복사
    <!DOCTYPE html>//模板 model.html
    <html>
    <head>
        <title></title>
    </head>
    <body>
         {$hello}这是templates下面的模板 <br>
         这是索引数组:{$arr1[0]}---{$arr1[1]}------{$arr1[2]}<br>
         这是索引数组:{$arr1.0}---{$arr1.1}------{$arr1.2}<br>
         这是关联数组:{$arr2.name}-----{$arr2.sex}<br>
         这是对象:{$object1->name}-----------{$object1->perr}<br>
    </body>
    </html>
    로그인 후 복사

  • 2.Smarty 예약 변수: Smarty는 사용자가 자주 사용해야 하는 시스템 변수나 내부 변수를 고려합니다. 이러한 변수는 일반적으로 $smarty로 시작하고 그 뒤에 여러 번 액세스할 수 있는 다양한 키워드가 옵니다.
  • GET 데이터: {$smarty.get.name}

  • POST 데이터: {$smarty.post.name}

세션 데이터: {$smarty.session.name}

쿠키 데이터: {$smarty.cookies.name}

요청 데이터: {$smarty.request.name}

🎜🎜서버 데이터: {$smarty.server.uppercase 이름}🎜🎜🎜🎜타임스탬프: { $ smarty.now}🎜🎜🎜🎜템플릿 경로: {$smarty.current_dir}🎜🎜🎜🎜템플릿 이름: {$smarty.template}🎜🎜🎜🎜구성 파일: {$smarty.config.config name}🎜🎜🎜
<html>
   	<header></header>
    <body>
        	GET数据:{$smarty.get.name}
	  	POST数据:{$smarty.post.name}
		session数据:{$smarty.session.username}
		cookie数据:{$smarty.cookies.username}
		REQUEST数据:{$smarty.request.name}
		server数据:{$smarty.server.SERVER_NAME}
		时间戳:{$smarty.now}
		模板路径:{$smarty.current_dir}
		模板名字:{$smarty.template}
    </body>
</html>
로그인 후 복사
🎜 🎜3. 맞춤 변수: 템플릿의 데이터를 유연하게 처리하기 위해 Smarty에서는 {할당 var='변수 이름' 값='변수 값'} 변수 설정을 허용합니다. 🎜🎜
<html>
    <header></header>
    <body>
        {assign var=&#39;name&#39; value=&#39;Sun&#39;}
        {$name}
    </body>
</html>
로그인 후 복사
🎜추천: 🎜php 튜토리얼🎜, 🎜php 비디오 튜토리얼🎜🎜

위 내용은 smarty 템플릿의 데이터 변수는 무엇이며 어떻게 호출하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿