热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHPHMVC框架kohana小结1

之前kohana3的安装见:http:jackyrong.iteye.comadminblogs11860061在bootstrap中设置开发模式:Kohana::
之前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的文件,放置日常用的变量,比如:


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中:

Welcome to



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;

}

}



页面中直接输出:





8 设置全局变量,以方便在各页面中直接读取

View::set_global('site_name', 'Egotist Beta');

之后可以在任何view中读取:



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控制层文件再继承之,十分好用


推荐阅读
  • 深入解析Struts、Spring与Hibernate三大框架的面试要点与技巧 ... [详细]
  • 通过利用代码自动生成技术,旨在减轻软件开发的复杂性,缩短项目周期,减少冗余代码的编写,从而显著提升开发效率。该方法不仅能够降低开发人员的工作强度,还能确保代码的一致性和质量。 ... [详细]
  • 本文详细介绍了如何在Java Web服务器上部署音视频服务,并提供了完整的验证流程。以AnyChat为例,这是一款跨平台的音视频解决方案,广泛应用于需要实时音视频交互的项目中。通过具体的部署步骤和测试方法,确保了音视频服务的稳定性和可靠性。 ... [详细]
  • 在前文探讨了Spring如何为特定的bean选择合适的通知器后,本文将进一步深入分析Spring AOP框架中代理对象的生成机制。具体而言,我们将详细解析如何通过代理技术将通知器(Advisor)中包含的通知(Advice)应用到目标bean上,以实现切面编程的核心功能。 ... [详细]
  • 在CentOS 7上部署WebRTC网关Janus
    在CentOS 7上部署WebRTC网关Janus ... [详细]
  • 在订单服务启动过程中,首先会从Eureka服务器中查找已注册的配置中心,随后从Gitee配置仓库中获取特定的 `order-test.yml` 文件,以确保服务能够正确加载所需的配置信息。这一流程保证了配置管理的灵活性和可维护性。 ... [详细]
  • Java中高级工程师面试必备:JVM核心知识点全面解析
    对于软件开发人员而言,随着技术框架的不断演进和成熟,许多高级功能已经被高度封装,使得初级开发者只需掌握基本用法即可迅速完成项目。然而,对于中高级工程师而言,深入了解Java虚拟机(JVM)的核心知识点是必不可少的。这不仅有助于优化性能和解决复杂问题,还能在面试中脱颖而出。本文将全面解析JVM的关键概念和技术细节,帮助读者全面提升技术水平。 ... [详细]
  • 根据不同环境需求,利用 Vue CLI 的 `npm run build` 命令对项目进行定制化打包,如测试、预发布和生产环境。通过配置 `process.env` 变量,实现不同环境下接口和服务的动态切换,确保应用在各阶段都能高效运行和调试。 ... [详细]
  • 本文将详细介绍如何在SSM框架中无缝集成ShardingSphere 4.10,以实现高效的数据分片和读写分离。通过实例演示和代码解析,帮助开发者快速掌握这一复杂但实用的技术。文章从基础概念入手,逐步深入到具体配置和应用实践,旨在为读者提供一个全面、易懂的整合指南。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • ### 优化后的摘要本学习指南旨在帮助读者全面掌握 Bootstrap 前端框架的核心知识点与实战技巧。内容涵盖基础入门、核心功能和高级应用。第一章通过一个简单的“Hello World”示例,介绍 Bootstrap 的基本用法和快速上手方法。第二章深入探讨 Bootstrap 与 JSP 集成的细节,揭示两者结合的优势和应用场景。第三章则进一步讲解 Bootstrap 的高级特性,如响应式设计和组件定制,为开发者提供全方位的技术支持。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 在 CentOS 6.6 系统中搭建 MONO 和 Jexus 以支持 ASP.NET 及 MVC 应用的运行环境配置指南
    本文提供了在 CentOS 6.6 系统上配置 MONO 和 Jexus 以支持 ASP.NET 及 MVC 应用的详细步骤。首先,确保本机环境为 CentOS 6.6,并使用阿里云的 YUM 源来安装必要的软件包,包括 gcc、gcc-c++、bison、pkgconfig 和 glib2-devel。这些软件包是构建和运行 MONO 环境的基础,确保系统能够顺利支持 ASP.NET 和 MVC 应用的部署和运行。 ... [详细]
  • 本文探讨了利用Java实现WebSocket实时消息推送技术的方法。与传统的轮询、长连接或短连接等方案相比,WebSocket提供了一种更为高效和低延迟的双向通信机制。通过建立持久连接,服务器能够主动向客户端推送数据,从而实现真正的实时消息传递。此外,本文还介绍了WebSocket在实际应用中的优势和应用场景,并提供了详细的实现步骤和技术细节。 ... [详细]
  • 深入解析Spring Boot启动过程中Netty异步架构的工作原理与应用
    深入解析Spring Boot启动过程中Netty异步架构的工作原理与应用 ... [详细]
author-avatar
live科_722
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有