Phalcon笔记学习笔记

#Phalcon笔记学习笔记

视图

  • 分层渲染
  • 渲染级别控制php

    • 级别
    • 关闭渲染级别
      $view->disableLevel(array(
              View::LEVEL_LAYOUT => true,
              View::LEVEL_MAIN_LAYOUT => true
          ));
  • 选择视图(指定须要渲染的视图文件)web

    <?php
    
    class ProductsController extends \Phalcon\Mvc\Controller {
    
        public function listAction() {
            // Pick "views-dir/products/search" as view to render
            $this->view->pick("products/search");
    
            // Pick "views-dir/products/list" as view to render
            $this->view->pick(array('products'));
    
            // Pick "views-dir/products/list" as view to render
            $this->view->pick(array(1 => 'search'));
        }
    
    }
  • 关闭视图缓存

    • 方法一session

      class UsersController extends \Phalcon\Mvc\Controller {
      
          public function closeSessionAction() {
              //Close session
              //...
      
              //An HTTP Redirect
              $this->response->redirect('index/index');
      
              //Disable the view to avoid rendering
              $this->view->disable();
          }
      
      }
    • 方法二(你能够返回一个“response”的对象,避免手动禁用视图)svg

      class UsersController extends \Phalcon\Mvc\Controller {
      
          public function closeSessionAction() {
              //Close session
              //...
      
              //An HTTP Redirect
              return $this->response->redirect('index/index');
          }
      
      }
  • 使用局部模版(Using Partials)学习

    <?php $this->partial("shared/ad_banner", array('id' => $site->id, 'size' => 'big')) ?>
  • 控制器传值给视图
    控制器中经过$this->view->setVar(name, value)方法设置值this

  • 在视图中使用模型
    以下例子所示:spa

    <div class="categories">
    <?php foreach (Categories::find("status = 1") as $category) { echo "<span class='category'>", $category->name, "</span>"; } ?>
    </div>
  • 缓存视图片断code

    • TODO 须要进一步研究
  • 模版引擎
  • 建立模版引擎
  • 替换模版引擎
  • 注入服务到视图
  • 独立的组件
  • 视图事件xml

  • volt模板引擎

    • {{variable}} 打印一个变量
    • {% if key in array %} 执行代码块
    • 过滤器 {{ title|过滤器1|过滤器2|...}}
    • 注释 {# 注释内容 #}