T086ѧϰ�� | վ��ѧԺ | �����ĵ� | ���� | Ъ���� | IP��ַ��ѯ | �������� | ���ջ��� | �����ֵ� | ���ù��� | ������Ϣ��ѯ

PHP�����SMARTY

�� �������ߣ��ڲ��� ����ʱ�䣺2006-12-05 | ���壺�� �� С��
[����]��PHPʵ��MVC����ģʽ���߼����ͱ�ʾ���ж���ģ�������ɹ�ѡ�񣬵��ǹٷ�����SMARTY��������ѡ�������˱仯������������ʵ�ֶ����൱ ǰ�� �ġ�������Ҫ����SMARTY֮������ģ�������IJ�ͬ�ص㣬��Ҫ�����˸������İ�...

��PHPʵ��MVC����ģʽ���߼����ͱ�ʾ���ж���ģ�������ɹ�ѡ�񣬵��ǹٷ�����SMARTY��������ѡ�������˱仯������������ʵ�ֶ����൱"ǰ��"�ġ�������Ҫ����SMARTY֮������ģ�������IJ�ͬ�ص㣬��Ҫ�����˸������İ�װ��ʹ�ã�����һ��С�IJ��԰����Ա���SMARTY��PHPLIB template���ٶȺ������ԡ�
һ��MVC��Ҫģ��
MVC��������SmallTalk���ԵĿ����������ܽ�����һ������ģʽ��MVC�ֱ�������"ģ��"��"��ͼ"��"����"��Ŀ�ľ����ò�ͬ�Ŀ�����ɫ�ڴ�������Ŀ�и�˾��ְ��������Ӧ�ó����Ŀ����У���������ͼ����ʾ������֮���Ĺ�ϵ��

��ͼչʾ��һ���򵥵�WEBӦ�ó������û����������Ͽ�����Ϣ�����ݿ��������ϵ����ݣ�������֮ǰ������Ӧ�÷������ӹ���������Ա�����ľ��ǽ������ݽṹ���������ݵ��߼��Լ���ʾ���ݵķ�����
96��CGI���й���ʼ���е�ʱ�������ڵ�WEB����Ա���Ǵ�HTML��ʼ��ѧ�ɲĵģ���PERL��printһ���е�HTML������һ�����£���������������һ�������٣�ҳ����СҲ�ӵ����Ķ�����ʮK������ʮ����дCGI�����Ͳ�����һ�����е�Ҫ�󣺷ֿ�PERL��HTMLԴ�롣���ǣ��������������ڿ���С���ڲ��ķֹ��ϡ����������ͳ���Ա�Ի����Ĺ���������ʮ����Ϥ���ڽ��к����Ĺ�������Ҫ��һ��Լ����"����"���н�����
�������Բ��������ǵ�ĸ������Ӣ���������"ģ��"���߼��ͱ�ʾ��������ϵ�����ǽ�����HTML�ͽű�����������һ�ֱ��﷽ʽ��ͨ�����ַ�ʽ����ʾ�����԰����û���ϣ���ĸ�ʽ����ʾ�����߼��㴦���������ݡ���������Windowsƽ̨��MFC�Ŀ�������,��ôһ��������ϤDocument/Document Template/View�ķ�װ��������һ���ܵ��͵�MVC���ӡ�����WebӦ����˵��������ΪJ2EE�е�EJB/servlets/JSP����ǿ���ģ���Ȼ���м���������Structs����һ����������ʵ�־���COM/DCOM+ASP�������������ҹ���������ʹ�õġ�
ͨ������MVCʵ����WEBӦ�ó������ĶԱȣ����Եõ�һ������ģ���ĸ��һ��������HTML�Ľű�����˵�Dz����˽ű�HTML��ͨ�����ֲ�������������ʾ�仯�����ݡ���������һ��ģ���ļ������ӣ�����ģ�徭��������������������ʾ"Hello, world!"

<html>
   <head>
      <title>$greetings</title>
   </head>
   <body>
      $greetings
   <body>
</html>
��������ʡ�Դ�����ʽ���ں�����ר�ŶԱ����ۡ�
����ΪʲôѡSMARTY? ��PHP��˵���кܶ�ģ�������ɹ�ѡ�񣬱���������PHPLIB template�ͺ���֮��Fast template�����������������Ѿ��൱�����ȶ�����������Ŀǰ���е�ģ�����������⣬��ô......Ҳ�����¿�����������Ϊһ���������������߻���׷��Ч�ʺ����ŵĿ����ߣ�������SMARTY���ܶ��ٻ��е���˼��
���˸���ƫ�õ�Ӱ�죬��һֱ������ʹ�ùٷ���׼��ʵ�֣�����APACHE��XML����Axis���ô����ǿ��Ի��þ����ܺõļ�����(��������MFC����Win3x�ļ����Ծͱ�������Ӧ�ó������ܺã���Ȼ���ڸ��ְ汾����������)��SMARTY����֮ǰ��һֱʹ�õ���PEAR �е�Integrated Template eXtension������������PHPLIB template��Fast template�����Ǽ��ݵģ���ģ�����﷨����ģ���Ĵ���ͬ��һ�ޣ����ǽ�ģ�������ڴ�Ȼ������parse()�����������ݶ�Ԥ�õı��ǽ����滻��
���濴��SMARTY����ô���ġ��ӵ�request�������ж��Ƿ���һ��������url�������ǣ�����url������ģ���ļ�"����"��php�ű���Ȼ��redirect���������ǣ�����˵��url��ģ���Ѿ���"����"���ˣ����鲻��Ҫ�ر�������������redirect���ر������������Լ��趨Ϊ�̶�ʱ�ޣ�Ĭ�ϵ���ģ���ļ����޸ġ�
��ô�����������Dz����е����죿�������˩����ⲻ����JSP��ԭ�����ȷ������"����"����PHP�����Ľ����Խű��������Ե÷�����˼��������ϸ���룬JAVA��Ҳ����JVM����ִ�е��������ͽ�"û����������ֻ���벻��"��
��Ȼ̸����JAVA�����ٶ�PHP��δ������һ�㿴����PHP�ٷ���վ��������Ҫ��2003�����׷���PHP5.0�档�����汾ӵ�кܶ�ո�µ����ԣ������쳣�����������ռ䣬�������������ȵȡ�����˵Խ��Խ��JAVA��£��SMARTYҲ��������֮һ��ʹ��PHP�������ڴ�������Ŀ�Ŀ����������ƺ����ҵ���ѡ������ԭ�򩤩��������é���Խ��ԽԶ�ˡ�����һ����������������������PHP�����ڳɳ��ڣ������߸����������Ĺ��ܣ�������ʤ����ҵӦ���������ڱ׵ġ���ΪPHP����ʵ�û����϶���ϣ��PHP���DZ���ָ��"��������"�ɣ�
Ϊʲôѡ��SMARTY��������Ϊ������JSP����Ȼ�и�Ϊ���ֵ����ɡ����ȣ����˵�һ�α����ijɱ��Ƚϸ�֮�⣬ֻҪ���޸�ģ���ļ��������õ�cache�ű�����ʱ���ã�ʡȥ�˴�����parse()ʱ�䣻����SMARTY��PHPһ���зḻ�ĺ����⣬��ͳ���������Զ����������ֻ����Լ���������ʽ������ֱ��ʹ�ã��������ò�����������Ҫ���ݽ�������ҳ��ʾ�Ĺ��ܣ�SMARTY���к�ǿ����չ����������ͨ����������ʽ�������䡣
��ʵʤ���۱硣��������һ�����Գ�����ͨ���ٶȺͿ����Ѷ����������ضԱ���һ��SMARTY��PHPLIB template��ѡPHPLIB template��ԭ������patrick����������PHP������ѡ�������ʵ�ģ�塷����һ��PHPLIB template��Fast template�ľ���������PHPLIB template����ȫʤ����ʹ��SMARTY����һ���ܺõĶ��֡��ڲ���֮ǰ����̸һ���ڰ�װ��������Ҫע�������⡣
������������������
��SMARTY���ٷ���վ�ϣ����꾡���û��ֲᣬ����ѡ������HTML��PDF��ʽ�İ汾�������Ͳ����漰�ֲ������е����ݣ�ֻ�ǰѳ���ʹ�ÿ��������������������͡�
��һ�������ͺ�Ҫ������ʾ˵�Ҳ��������ļ���������ÿһ���˶�����SMARTYĬ��Ŀ¼�ṹ��дӦ�õġ�������Ҫ�ֹ�ָ��������Ŀ¼�ṹ���£�

����Ҫ��index.php��ָ��Ŀ¼�ṹ��
$smart->template_dir = "smarty/templates/";
$smart->compile_dir = "smarty/templates_c/";
$smart->config_dir = "smarty/configs/";
$smart->cache_dir = "smarty/cache/";
��һ�����������ˣ������ž��ǵڶ������Ҹ���Dreamweaver���ɵ�Ư��ģ����ô�����ã�������ģ���ļ���ʲô���⣬������ΪSMARTYĬ�ϵı��Ƿָ�����{}�����ɵ���javascript�϶������������ǡ��������ǿ����������ַ������ָ������ټ��������䣺
$smart->left_delimiter = "{/";
$smart->right_delimiter = "/}";
���°�װ�ͻ������ɣ�û�����ˡ�
�ġ����ĺ����� �ȹ�˼һ�¶Բ��Ե����ơ���Ҫ���������ص�Ȼ���ٶ��ˡ�Ϊ�˽����ٶȲ��ԣ���ȡ������ƽ�������������ڲ���ҳ�����ظ���ҳ������N�飬�ٶԱ���ҳ������ʱ�䡣��һ����Ҫ������������(������չ�Բ��ñȽ��Ѿ��н�����)������ʹ�õ�ģ�岻��̫С�����õ����Ҹ�����ҳ�ĵ�ҳ�棬һ����Firework+Dreamweaver���ɵ�HTML�ļ�����СԼ7K�����еı�������Ҳ��ȡ��õ����飬��PHPLIB template����block,��SMARTY����section����С�����ƺ��IJ�ͬ�������Ա�׼�����飺ģ���ļ��ͽű��ļ����﷨�Ƿ��������á�

���������뵽�����������ȿ�������ģ���ļ����﷨������������PHPLIB template��ģ�壬�ұ�����SMARTY������ƫ���Dz�һ���ģ��������ﲻ�����ۡ����ضԱ�һ�½ű����Ĵ������䣬�ȿ�PHPLIB template�ģ�
$tpl->set_file('phplib', 'bigfile.htm');
$tpl->set_block('phplib', 'row', 'rows');
for ($j = 0; $j set_var('tag' ,"$j");
        $tpl->parse('rows', 'row', true);
}
$tpl->parse('out', 'phplib');
$tpl->p('out');
������SMARTY�ģ�
$smart->assign('row',$row);
$smart->display('bigfile.htm');
SMARTYֻ����tags��row������������PHPLIB template������ģ���ļ���handler������һ��Ī��������out��˵ʵ�ڵ�����out�ҵ���ѧ��ʱ���Ͳ�֪��ΪʲôҪ���ڣ����ڿ����������DZ�Ť��ΪʲôSMARTY����ô�ദ�������أ������ǹ��������������ˡ�������ϲ������Դ���򣬿��Է�����Smarty_compiler.class.php����һ������_compile_tag()�ĺ���������������section������ǩת����php���䡣�ⲻ��һ����ͨ�ı�ǩ�������в��������ݣ���ʡ�˽ű����̵Ĺ���������ģ����ǩ�ϵĹ����������ֲ��󣬿����ж�����������SMARTY�߳�һ�롣
�������ֵ���������ע���ٶ��ˣ��Ͼ�����һ��������web��������˵�����������ѵĹ��߲�����ʱ�����⣬�ο�ģ����������ѧϰ����ƽ���ļ��������ٶ�����webӦ�ó�����������������ģ������ʹ���ڲ����������ܴ���վ���ϣ������͸���Ҫ�ˡ����Կ�ʼǰ���Ҿ���PHPLIB template������һ������ʤ������Ϊ�������˺ܶ����������Ѿ�����û��ʲôbug,����SMARTY��������ͷ̫�󣬲������Ķ���ֻ�������ļ���
��Ȼ�����Խ�������ͼ��PHPLIB template��25%���ٶ����ƣ�
������һֱ���������ְ���һ��ˢ�£����εõ��˲�һ���Ľ�����

PHPLIB����û�仯������SMARTY������25%���ٶȡ�����ˢ�£��õ��Ķ��������ڵڶ��εĽ�����SMARTY��PHPLIB template ���Ͻ�10%�����������DZ����ͱȽ����Ϳ���ԭ���ˡ�SMARTY���汾���ͺܴ󣬼��ϻ�Ҫ��ģ��������php�ļ����ٶȵ�Ȼ�Ȳ���С�ɵ�PHPLIB template������ֻ�ǵ�һ�ε��������ڶ��νӵ�������ʱ����SMARTY���ָ�ģ���Ѿ����������ˣ���������ʱ��һ���������ˣ������ֻ�Ҫ�����Ͱ��ؽ��в��Һ��滻���������DZ���ԭ���イ���ĺܾ�����"�ÿռ任ʱ��"���ӡ�
�塢����
���۾����������Ѿ�����SMARTY�ˣ���ô����ʲô�أ���Ȼ������˵����ȫ�ܣ�����ͬ����MVCģʽ��д�ҵĸ�����վ���ǵ�û�м��ٹ���������������ҪΪ��ͬ���μ�������������
SMARTY���ʺ�ʲô�أ��ٸ��ֲ����ľ������ӣ�����Ԥ����վ���һ��뵽һ�������д��̡���������վ����SMARTY�����ھ������ر�����Ч��ƫ�ͣ�����PHPLIB template��Ϊ�ʺϡ�
���IJ�����Ϊ�˶Ա��������棬����Ϊ��˵��SMARTY�����ơ�ʹ������������֮����������PHP����ϵ��һ���ݣ���Ϊһ֧����������������.NET��JAVA ONE��������ϵ֮�⣬������web�������б���ѡ����������GNU��Ŀ��˵�����������������˴���ǧ��Ծ������ɽ��

�����

SMARTY�ٷ�վ�㣺smarty.php.net
����������PHP������ѡ�������ʵ�ģ����
�����в��Գ������أ�test.tar.bz2
http://phpe.net/uploads/attach/article_1058233528.bz2
About the author
�ڲ��裬�����������Զ��⾭��ó�״�ѧ��ϢѧԺ��GNU�����ߣ�ϲ����ϰ���ֱ����� �ԣ��о�������ϵ���ܡ�

  • ת����ע����Դ��ITѧϰ�� ��ַ��http://www.t086.com/ �����������Ƽ�������
  • �ر������� ��վ�������ر�������ֹת�ص�ר�������������¿�������ת�أ���������ע��������ԭʼ���ߡ����°�Ȩ������ԭʼ�������С����ڱ���վת�����µĸ��˺���վ�����DZ�ʾ������л�⡣������վת�ص������а�Ȩ��������ϵ���ǣ����ǻᾡ�����Ը�����
������ѯ Health Check Gulangyu
© 2017 T086ѧϰ�� - T086.com(ԭitlearner.com)
RunTime:23.87ms QueryTime:7