`
haohappy2
  • 浏览: 327511 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

how to develop site using kohana

 
阅读更多

Kohana Start Configuration

Step 1:

.htaccess

# This is a sample .htaccess file. Simply replace
# RewriteBase below with the url path to this directory.
#
# Example:
#  /shop/    - if an Apache alias points to ".../public/" (this folder)
#  /         - if this directory is reachable at the web root
#
# Server-Side includes
#
Options All
AddHandler server-parsed .scss
AddType text/css .scss

# enable rewrite engine
RewriteEngine On

SetEnv APP_ENVIRONMENT DEVELOPMENT
SetEnv APP_BASE_URL {your domain}
SetEnv APP_COUNTRY CN

#SetEnv WEB_PROXY XXXXXX
#SetEnv WEB_PROXY_PORT 8080
#SetEnv WEB_PROXY_USERPWD name:pass

# tell Apache for which URL rewrites should occur
# (the rules below are relative to this url)
RewriteBase /

# rewrite all requests which don't point to a file
# or an directory to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1

# turn off magic quotes in PHP
# (http://www.php.net/manual/en/security.magicquotes.whynot.php)
php_flag magic_quotes_gpc off
php_flag magic_quotes_runtime off


Step 2:

open the module in bootstrap.php file

Kohana::modules(array(
    // 'auth'       => MODPATH.'auth',       // Basic authentication
     'cache'      => MODPATH.'cache',      // Caching with multiple backends
    // 'codebench'  => MODPATH.'codebench',  // Benchmarking tool
    'database'   => MODPATH.'database',   // Database access
    // 'image'      => MODPATH.'image',      // Image manipulation
    'orm'        => MODPATH.'orm',        // Object Relationship Mapping
    // 'unittest'   => MODPATH.'unittest',   // Unit testing
    'userguide'  => MODPATH.'userguide',  // User guide and API documentation
    ));

Step 3:
Need to configure the bootstrap.php

Load some configuration outside

Log Configuration:

if(Kohana::$environment === Kohana::PRODUCTION) {
    // we use syslog in production
    Kohana::$log->attach(new Kohana_Log_Syslog("patrick"), array(Log::ERROR, Log::INFO));
    define('_INFO', false);
    define('_DEBUG', false);
} else {
    /**
     * Attach the file write to logging. Multiple writers are supported.
     */
    Kohana::$log->attach(new Kohana_Log_File(APPPATH.'logs/default/info_log'), array(Log::INFO));
    Kohana::$log->attach(new Kohana_Log_File(APPPATH.'logs/default/debug_log'), array(Log::DEBUG));
    Kohana::$log->attach(new Kohana_Log_File(APPPATH.'logs/default/error_log'), array(Log::ERROR));

    define('_INFO', true);
    define('_DEBUG', true);
}

Language Configuration:
 
$supported_languages = Kohana::$config->load('project.language');
$request_lang = $_REQUEST['lang'];
if ($request_lang !== NULL && $supported_languages[$request_lang])
{
    // attempt to change the language
    Session::instance()->set('current_lang', $supported_languages[$request_lang]);
}
else
{
    $current_lang = Session::instance()->get('current_lang');
    if(empty( $current_lang ) || !in_array($current_lang, $supported_languages))
    {
        // zh_CN by default
        $current_lang = 'zh_CN';
        Session::instance()->set('current_lang', $current_lang);
    }
}
$current_country = Session::instance()->get('current_country');
if(empty( $current_country )){
    // fixed at CN
    Session::instance()->set('current_country', 'CN');
}

Cache configuration:

try {
    if(Kohana::$config->load('project.caching')){
        $memcache = Cache::instance('memcache');
    }
    define('_MEMCACHE', Kohana::$config->load('project.caching'));
} catch (Exception $e) {
    define('_MEMCACHE', false);
    Kohana::$log->add(Log::ERROR,'Fehler beim Memcache initialisieren');
}


Step 4:

Copy /modules/database/config/database.php  to /application/config/database.php

'connection' => array(
    /**
     * The following options are available for MySQL:
     *
     * string   hostname     server hostname, or socket
     * string   database     database name
     * string   username     database username
     * string   password     database password
     * boolean  persistent   use persistent connections?
     *
     * Ports and sockets may be appended to the hostname.
     */
    'hostname'   => 'localhost',
    'database'   => 'patrick',
    'username'   => 'root',
    'password'   => 'pass',
    'persistent' => FALSE,
)

Then you can connect database and operate data.

Kohana View File

Way 1:

$this->response->body(View::factory('site'));
Site means the view file of site.php


Way 2:

$arr = array('xx'=>'12345');
$this->response->body(View::factory('site', $arr));

site.php view code:

<?php echo $xx; ?>


How to use the mysql through kohana

Read data:

Way 1:

$all_kohanas = ORM::factory('user')->where('credit', '>', 20)->find_all();

$result = ORM::factory('user')
                    ->where('id', '=', '1000001')
                    ->find();

$r = $result->as_array();

var_dump($r);

OR

echo $result->id;



Way 2:

$result = Db::select('id', 'username')
                ->from('user')
                ->where('id', '=', '1000002')
                ->execute();

$r = $result->as_array();

var_dump($r);



Insert Data:

Way 1:

$values = array('username' => 'patrick2', 'password' => 'patrick');
$id = Db::insert('user')->values($values)->execute('alternate');


Way 2:
$values = array('username' => 'patrick3', 'password' => 'patrick');
ORM::factory('user')->values($values)->save();


 

Update data:

$values = array('username' => 'patrick3', 'password' => 'patrickwu');
ORM::factory('user', 1)->values($values)->save();


Update the selected items:

ORM::factory('user', 'patrick')->set('password', md5('xxx'))->save();
 

Delete data:

Way 1:

ORM::factory('user', 1)->delete();


Way 2:
ORM::factory('user')->where('id', '=', '1')->find()->delete();

分享到:
评论

相关推荐

    kohana3.0 文档资料

    ### Kohana 3.0 文档资料相关知识点 #### 一、Kohana 3.0 概述 Kohana 是一个基于 PHP 的轻量级、模块化的应用框架,它旨在简化 Web 开发流程并提高开发效率。Kohana 3.0 版本在前代基础上进行了大量的优化与改进...

    Kohana v2.2 手册

    Kohana v2.2.chm文件是一个帮助文档,它包含了Kohana框架的所有详细信息,包括类库参考、API文档和示例代码,是学习和使用Kohana的宝贵资源。通过深入阅读和实践,开发者可以充分利用Kohana v2.2的强大功能,创建出...

    Kohana_v2.2

    Kohana起源于Codeigniter(CI),CI是EllisLab的开源作品。他们有很多相似的地方,但是Kohana的所有代码是重新编写或完全改写了。你可以访问Kohana的官方网站, 它的主要特点如下:高安全性很轻巧容易学习使用MVC模式...

    kohana 3.3.1.zip

    Kohana不限制你访问全局数据,但是提供了XSS过滤和检查所有的全局变量。 4、级联式资源,模块和继承。可以从你的系统,程序或者模块路径的任何地方加载控制器,模型,类库,助手和视图。配置参数可以继承或动态声明...

    kohana一个php框架

    在Kohana_v2.3版本中,我们可以看到一些关键特性和知识点: 1. **MVC架构**:Kohana的核心是MVC设计模式,其中Model负责数据处理,View用于展示用户界面,Controller作为两者之间的桥梁,处理请求并调用Model和View...

    kohana3 中文手册

    ### Kohana3 中文手册知识点概览 #### 一、Kohana3框架介绍 - **简介**:Kohana3是一款基于PHP5的轻量级、面向对象的Web开发框架。其设计简洁、模块化,便于开发者根据项目需求进行灵活扩展与定制。 - **特点**:...

    kohana3操作手册

    kohana3 用户手册kohana3 用户手册kohana3 用户手册

    Kohana 3.0 Beginner's Guide

    ### Kohana 3.0 Beginner's Guide #### 一、简介 《Kohana 3.0 Beginner's Guide》是一本由Jason D. Straughan撰写的书籍,旨在帮助初学者掌握Kohana框架的基础知识并能够利用它来开发专业级别的Web应用程序。本书...

    kohana下分页模块

    在Kohana框架中,分页是处理大量数据时非常常见且重要的功能,它能帮助用户以更易读的方式浏览长列表,而无需一次性加载所有内容。本篇将详细介绍Kohana下的分页模块及其使用方法。 分页模块在Kohana中的实现通常...

    kohana3.0教程-高清英文版

    ### Kohana 3.0 教程 - 高清英文版 #### 一、Kohana 3.0 简介 Kohana 是一个基于 PHP 的轻量级 Web 开发框架,以其高性能、灵活性和易用性著称。Kohana 3.0 版本是该框架的一个重要里程碑,它引入了许多新特性,...

    Kohana 3.0 API Manual 英文手冊 | By Jacke.C

    Kohana is an open source, object oriented MVC web framework built using PHP5 by a team of volunteers that aims to be swift, secure, and small. Kohana 3.0 英文 API 手冊

    kohana-3.2.2

    Kohana 遵循 Model-View-Controller (MVC) 设计模式,强调代码的清晰结构和可维护性,同时提供了强大的数据库抽象层和安全特性。 一、Kohana 3.2.2 的核心特性: 1. **模块化设计**:Kohana 使用模块化设计,每个...

    Kohana中文手册

    Kohana 提供了一种简单而强大的方式来构建高效、安全的应用程序。本手册是针对 Kohana Docs v2.3.4 版本的中文指南,旨在帮助开发者更深入地理解和使用这一框架。 Kohana 框架的核心特性包括: 1. **模块化**:...

    kohana3.3.1框架教程 -

    在 Kohana 中,全局数据如 GET、POST、COOKIE 和 SESSION 可以方便地访问,同时框架会对这些数据进行 XSS(跨站脚本攻击)过滤,以增强安全性。Kohana 提供级联式的资源管理,允许从不同位置加载控制器、模型、类库...

    Kohana_3_中文文档手册

    Kohana 3 是其第三个主要版本,引入了许多改进和新特性,提高了开发效率和代码质量。 在 "Kohana_3_中文文档手册" 中,你将找到关于以下关键知识点的详细解释: 1. **安装与配置**:手册会详细介绍如何下载Kohana ...

    kohana3手册

    《Kohana3手册》是针对Kohana框架的中文翻译版,由热心的作者根据维基百科的原始资料精心翻译而成。这份手册详细介绍了Kohana3的各个方面,弥补了国内相关资源的不足,对于想要深入理解和使用Kohana3的开发者来说,...

    KOHANA 2.4 版本

    在Kohana 2.4 版本中,它延续了以往版本的优势,并在此基础上进行了诸多改进和增强,使得开发过程更加顺畅。下面我们将深入探讨Kohana 2.4版本中的关键知识点。 1. MVC架构:Kohana 遵循模型-视图-控制器(MVC)...

    PHP框架Kohana v3.3.1

    `kohana-3.3.1`这个压缩包文件名暗示了它是Kohana的3.3.1版本。通常,这个文件夹会包含框架的源代码,如核心类库、配置文件、模块、库和其他必要文件。`说明.htm`可能是关于如何安装和使用Kohana的简短指南。 ### ...

    PHP框架Kohana v3.3.1.zip

    Kohana不限制你访问全局数据,但是提供了XSS过滤和检查所有的全局变量。 4、级联式资源,模块和继承。可以从你的系统,程序或者模块路径的任何地方加载控制器,模型,类库,助手和视图。配置参数可以继承或动态声明...

    kohana-3.3.6

    标题中的 "kohana-3.3.6" 指的是 Kohana 框架的 3.3.6 版本,这是该框架的一个稳定版本,意味着它已经经过了广泛的测试,适合用于生产环境。 Kohana 3.3.6 的核心特点包括: 1. **安全**:Kohana 提供了内置的安全...

Global site tag (gtag.js) - Google Analytics