码迷,mamicode.com
首页 > Web开发 > 详细

命名空间namespace、smarty使用(视图分离,MVC)、smarty模板语法、smarty缓存、MVC模式

时间:2018-10-11 22:01:05      阅读:265      评论:0      收藏:0      [点我收藏+]

标签:通过   reac   exist   splay   ucf   smart   temp   XML   转换   

一、命名空间:namespace

  命名空间 可以理解为逻辑上的使用,为了防止重名 namespace :关键字

  加载:require_once();//加载一次 include_once()

  申明命名空间注意:名称空间一定是在最顶部 在他上面不能有任何内容,名称空间申明不能写在类的内部

  use App\Stu; 引入,导入 名称空间\引入类名 as:取别名

二、smarty使用

  smarty是一个使用php写出来的模板引擎,拥有独立简单的模板语法,它实现了逻辑代码与模板的分离,把原本HTML与PHP代码混杂模板转化为smarty模板,其目的就是要使PHP程序员与前端人员分离,其简单的语法也可参与到模板套嵌的工作中,让PHP专注于后台逻辑开发。

  smarty 常用属性、方法:

  设置视图分离模板的路径:       template_dir("视图分离模板的路径");

  设置存放smarty编译文件的路径:    compile_dir("存放smarty编译文件的路径");

  模板加载:              display("模板路径【相对路径】"); 

  用来传递参数:            assign("标签名",值);

  设置单独的缓存时间:         caching=2;  cache_lifetime=200;//单位秒

  设置两个备用属性:          left_delimiter("<{")   right_delimiter("}>");   设置后模板显示<{$标签名}>

  注释:                {*注释内容*}

  变量输出(默认,未设置备用属性)     {$var}

  加载模板:              {include file="模板地址"}

  smarty函数使用:           {函数名 参数1=‘值1’ 参数2=‘值2’}

  循环列表:

    2版本: {foreach from $result key= k item = v}

         {$v}

         {/foreach}

    3版本:{foreach $result $k=>$v}

        {$v}

        {/foreach}

  变量调节器

    {$v.title|truncate:10:"...":true}

    {字符串|变量调节器1:参数1:参数2|变量调节器2}

  if :    {if $name == “sky"}   {else}  {/if}

  保留变量 {$smarty.get.page} {$smarty.post.page} {$smarty.cookies.username} {$smarty.server.SERVER_NAME} {$smarty.session.id} {$smarty.request.username}

  判断变量为空 isset,不为空返回true

  缓存是指,把某项结果暂时保存起来,当再次访问该结果时,直接调用已保存起来的结果,而不需要系统重新计算,当这个结果是不变且多次访问时,能节省很多资源。在smarty中,缓存特指把编译后的模板得到的html保存起来,当用户再次访问该页面时,直接调用该html,无需smarty重新编译

  判断缓存

    Smarty2: $smarty-> is_cached(‘模板路径’,[缓存id])

    Smarty3: $smarty-> isCached(‘模板路径’,[缓存id])

  清除缓存

    Smarty2:

      $smarty->clear_all_cache();//清除所有缓存

      $smarty->clear_cache(‘site/index.tpl’);//清除指定模板缓存

    Smarty3:

      $smarty->clearAllCache();//清除所有缓存

      $smarty->clearCache(‘site/index.tpl’);//清除指定模板缓存

  缓存id:

    用与缓存指定页面,如列表页我们有翻页,但每次翻页虽然内容不同,但依旧是同一个模板,此时列表页的缓存就需要用到缓存id,例子如下

      $smarty-> isCached(‘news.tpl’,1); $smarty->display(‘news.tpl’,1);

    注意在加载模板时也需加入对应id

三、MVC

  什么是MVC?

  MVC(Model-View-Controller)是软件工程中的一种构架模式,把软件系统分为三个基本部分,模型(model)、视图(view)和控制器(controller)。

  MVC模式的目的是实现一种动态的程序设计,使程序后续修改和扩展简化,并且使程序某一部分重复利用成为可能,除此之外,此模式通过复杂度的简化,使程序结构更加直观。软件系统通过对自身基本部份分离的同时也赋予了各个基本部分应有的功能。

  模型(Model)--管理数据库所有相关逻辑。模型提供了连接和操作数据库的抽象层。

  控制器(Controller)--负责所有业务逻辑,比如if/else逻辑。

  视图(View)--负责界面显示,如(HTML/XML/JSON)显示。

  mvc目录结构文件:

    cache:缓存文件

    config:配置文件

    controller:控制器

    libs:配置文件

    model:model层文件

    ORG:视图模板配置文件

    public:公共文件

    view:视图文件

    view_c:程序编译文件

  程序入口文件

  加载一个不存在类的的时候 自动执行 __autoload

  __autoload可以递归的自动加载自定义异常类

  file_exists(“文件路径”);判断文件路径是否存在

  ucfirst("文件名");把“hello”首字母转换为大写

  method_exists(对象,值);判断一对象中是否存在方法

命名空间namespace、smarty使用(视图分离,MVC)、smarty模板语法、smarty缓存、MVC模式

标签:通过   reac   exist   splay   ucf   smart   temp   XML   转换   

原文地址:https://www.cnblogs.com/data2018/p/9774764.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!