• 自己动手写个小框架之六


        系统开发中常常会使用页面传值,我们可以进行适当的封装,以方便使用。在kernel/request.php中

     1 <?php
     2 
     3 class Request {
     4 
     5     private $key;
     6 
     7     public function __construct() {
     8         session_start();
     9     }
    10 
    11     public function set($key, $value) {
    12         $this->key = $key;
    13         $_SESSION[$key] = $value;
    14     }
    15 
    16     public function get($key) {
    17         $value = "null";
    18         if (isset($_SESSION[$key])) {
    19             $value = $_SESSION[$key];
    20         } elseif (isset($_POST[$key])) {
    21             $value = $_POST[$key];
    22         } elseif (isset($_GET[$key])) {
    23             $value = $_GET[$key];
    24         }
    25 
    26         return $value;
    27     }
    28 
    29 }
    30 
    31 ?>

        在控制类中,我们在indexAction中赋值,在requestAction中获取该值。其中,indexAction对default.tpl进行渲染而requestAction对default1.tpl进行渲染。

    View Code
     1 <?php
     2 
     3 class defaultController extends Controller {
     4 
     5     public function indexAction($parameter) {
     6         $request = new request();
     7         //给session赋值
     8         $request->set("luf&d", "luf&d");
     9         $this->render('default.tpl', array("value" => $parameter[0],
    10             "Name" => "index Action page",
    11             "FirstName" => array("John", "Mary", "James", "Henry"),
    12             "LastName" => array("Doe", "Smith", "Johnson", "Case"),
    13             "contacts" => array(array("phone" => "1", "fax" => "2", "cell" => "3"),
    14                 array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234"))));
    15     }
    16 
    17     public function newAction($parameter) {
    18         $this->render('default1.tpl', array("value" => $parameter[0],
    19             "Name" => "new Action page"));
    20     }
    21 
    22     public function argsAction($parameter) {
    23         $this->render('default1.tpl', array("value" => $parameter[0] . $parameter[1],
    24             "Name" => "new Action page"));
    25     }
    26 
    27     public function requestAction($parameter = NULL) {
    28         $request = new request();
    29         //获取"luf&d"的值
    30         $getinfo = $request->get("luf&d");
    31         $this->render('default1.tpl', array("value" => $getinfo,
    32             "Name" => "request Action page"));
    33     }
    34 
    35 }
    36 
    37 ?>

        default1.tpl模板页为:

     1 <{config_load file="test.conf" section="setup"}>
     2 <{include file="header.tpl" title=foo}>
     3 <PRE>
     4 ^_^<{$value}>
     5 
     6 <{* bold and title are read from the config file *}>
     7 <{if #bold#}><b><{/if}>
     8 <{* capitalize the first letters of each word of the title *}>
     9 Title: <{#title#|capitalize}>
    10 <{if #bold#}></b><{/if}>
    11 
    12 The value of <{ldelim}>$Name<{rdelim}> is <b><{$Name}></b>
    13 
    14 <b><{$Name|upper}></b>
    15 
    16 <{include file="footer.tpl"}>

    运行结果:

          在浏览器输入地址:http://localhost/dluf/index.php/default/request

        在系列七中将介绍.htaccess设置,配合路由类限制访问入口。

         

  • 相关阅读:
    不要在init和dealloc函数中使用accessor
    Xcode6.3真机测试无法选择目标机器问题
    Objective-C基础知识
    深入理解dispatch_sync
    AFNetworking 2.0教程
    使用pngcrush压缩png图片
    自定义custom Tab Bar
    CocoaPods 安装相关问题
    iOS 编程之使用Precompile Prefix Header
    Block传值
  • 原文地址:https://www.cnblogs.com/dluf/p/3046114.html
Copyright © 2020-2023  润新知