zoukankan      html  css  js  c++  java
  • PHP HMVC框架kohana 小结1

    简介:这是PHP HMVC框架kohana 小结1的详细页面,介绍了和php,php, kohana PHP HMVC框架kohana 小结1有关的知识、技巧、经验,和一些php源码等。

    class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=359491' scrolling='no'>
       之前kohana 3的安装见:http://jackyrong.iteye.com/admin/blogs/1186006
    1 在bootstrap中设置开发模式:
         Kohana::$environment = Kohana::DEVELOPMENT;
      再增加如下代码:
        if (isset($_SERVER['KOHANA_ENV']))
    {
    Kohana::$environment = $_SERVER[?KOHANA_ENV?];
    }
      相关的值有:
    PRODUCTION, STAGING, TESTING, and DEVELOPMENT.


    2 设置时区
        date_default_timezone_set('America/Chicago');
    3 启用相关的module
       Kohana::modules(array(  中的注释按需要打开

    4 创建默认的config文件(这点比CI差了)
       在application\config下设置一个比如site.php的文件,放置日常用的变量,比如:
      <?php defined('SYSPATH') or die('No direct script access.');
    return array(
    'name' => 'Egotist',
    'tag_line' => "Let's talk about me!"
    );
       则获得其变量时,这样:
      $site_config = Kohana::config('site');
        $site_name = $site_config['name'];
    $tag_line = $site_config['tag_line'];
       甚至可以这样只加载其中的某个变量:
       $site_name = Kohana::config('site.name');
      
       也可以数组的形式加载变量,比如:
        return array(
    'name' => 'Egotist',
    'details' => array(
    'tag_line' => "Let's talk about me!",
    'alt_tag_line' => "Today's subject: ME!";
    );
    ); 
     加载:
       $site_config = Kohana::config('site');
    // Echo site name and details
    echo $site_config['name']; // Egotist
    echo $site_config['details']['tag_line'] // Lets talk about me!
    echo $site_config['details']['alt_tag_line'] // Today's subject: ME!
      也可以:
    echo Kohana::config('site.details.tag_line');

    5 controller的命名规范,必须符合如下
       Controller_xxxx,XXX放在classes/controller/xxx.php,比如
      Controller_User_Profile则为 classes/controller/user/profile.php
    6 给view传递数据
      
      controller中:
        public function action_index()
    {
    //3.2只能用这个方法
    $view = View::factory('welcome')
    ->set('site_name', 'Egotist')
    ->set('random', rand(1,10));
    $this->response->body($view);
    }

      view中:
      <h1>Welcome to <?php echo $site_name; ?></h1>
    <?php echo $random; ?> is a number between 1 and 10


      也可以用bind绑定
      
    $view = View::factory('welcome')->bind('site_name', $site_name)
    ->bind('random', $random);
    $site_name = 'Egotist';
    $random = rand(1, 10);

    $this->response->body($view);

    7 使用template controller
        class Controller_Welcome extends Controller_Template
      {
         $content = View::factory('welcome')
    ->bind('random', $random);
    $random = rand(1, 10);
    $content->site_name = 'Egotist Beta';
    $this->template->content = $content;
    }
        }
       
       页面中直接输出:
        <?php echo $content;?>

    8 设置全局变量,以方便在各页面中直接读取
          View::set_global('site_name', 'Egotist Beta');
       之后可以在任何view中读取:
            <?php echo $site_name; ?>
    9 在控制层中,写一个基类,保存一些基本的信息,比如CSS,JAVASCRIPT,常量可以这

    样:
        abstract class Controller_Application extends Controller_Template {
    public function before()
    {
    parent::before();
    View::set_global('site_name', 'Egotist Beta');
    $this->template->content = '';
    $this->template->styles = array();
    $this->template->scripts = array();
    }
      
       其他PHP控制层文件再继承之,十分好用

    爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

    http://biancheng.dnbcw.info/php/359491.html pageNo:1
  • 相关阅读:
    PAT 甲级 1120 Friend Numbers (20 分)
    AcWing 894. 拆分-Nim游戏
    AcWing 891. Nim游戏
    AcWing 892. 台阶-Nim游戏
    AcWing 893. 集合-Nim游戏
    洛谷P1433 吃奶酪
    洛谷P1118 [USACO06FEB]数字三角形`Backward Digit Su`…
    AcWing 125. 耍杂技的牛
    AcWing 104. 货仓选址 绝对值不等式
    AcWing 913. 排队打水 排序不等式贪心
  • 原文地址:https://www.cnblogs.com/ooooo/p/2236007.html
Copyright © 2011-2022 走看看