<?php
/**
* Editplus4PHP PHP Template
*
* This is a Template of PHP Script for Editplus4PHP.
*
* @copyright HentStudio (c)2008
* @author Leo <Zergdo@gmail.com>
* @package Editplus4PHP
* @version $Id: template.php, v 0.0.1 2008/09/21 12:16:23 uw Exp $
*/
/*
下面是系统读取配置文件的顺序方式。
application > modules > system
安装
application > conf > conf.php
1.添加 $config['base_url'] = 'www.test.test';
2.删除install.php或者重命名
看你的application/config目录里有没有database.php如果没有就去system里弄一个,
放到application/config下修改下connection里的参数就行了.这里值得注意的就是
'object' => True这个参数,现在意思是反回对象.False就会反回数组
数据库配置
system > conf > database.php
需要注意的是'object' => True选项为以对象形式返回结果 FALSE 为以数组形式返回数组
*/
//视图加载
$this->template->content = new View('View_Name');
// 文件 list.php 在 'view/products' 下面
$view = new View('products/list');
$view = View::factory('welcome');
// 呈现试图 默认为为自动呈现
$view->render(TRUE);
//加载视图中的视图:
// 控制器的方法的演示代码
$view = new View('template'); // 这里就不是模板文件名
$view->header = new View('header');
$view->content = new View('content');
$view->footer = new View('footer');
$view->header->title = 'Title of page'; // 视图 header.php 文件中的 $title 字符串变量。
$view->content->heading = 'Heading of your page'; // 视图 content.php 文件中的 $heading 字符串变量。
$view->footer->copyright = 'Copyright'; // 视图 footer.php 文件中的 $copyright 字符串变量。
$view->render(TRUE);
//视图的数据设置
$view->title = 'data';
$view->set('title', 'data');
$view->render(true); //输出至浏览器
CUDI
//获取最后一次执行的SQL语句: model中$this->db->last_query();
class User_Model extends Model {
public function __construct() {
parent::__construct();
}
public function get_user($id) {
$this->db->where('id', $id);
return $this->db->get('users')->current();
}
public function add_user($data) {
$status = $this->db->insert('users', $data);
return count($status);
}
public function update_user($data, $where) {
$status = $this->db->update('users', $data, $where);
return $this->db->last_query();
return count($status);
}
public function delete_user($where) {
$status = $this->db->delete('users', $where);
return count($status);
}
}
//***************控制器中*********************//
public function index() {
$user = new User_Model;
$result = $user->get_user(1);
/*
$data = array(
'id' => 2,
'name' => 'test',
'pass' => 'pass');
echo $user->add_user($data);exit;*/
$where['id'] = 2;
$where['name'] = 'test';
$data = array(
'name' => 'test',
'pass' => 'pass');
$user->update_user($data, $where);
//视图的加载
class Index_Controller extends Controller {
const ALLOW_PRODUCTION = FALSE;
public $template = 'kohana/template';
public function index() {
//多视图模板的加载其中header/content/footer 为三个子模板
$view = new View('template');
$view->header = new View('header');
$view->content = new View('content');
$view->footer = new View('footer');
$view->header->title = 'Title';
$view->content->content = 'content';
$view->content->data = $result;
$view->footer->copright = 'copright';
$view->render(TRUE); // 显示输出到浏览器
}
}
//关于表单数据的获取(已经转义) Controller中 $this->input->get(); 数组形式
//所有的类都是自动加载。如果需要加载其它类 只需要在自己的Controller的构造中添加$this->pro = new Pro;
URL重定向
url::redirect('http://www.baidu.com');exit;
//缓存的设置
public function cache() {
//$this->cache = Cache::instance();
$this->cache = new Cache();
$data = $this->cache->get('user');
if(!$data){
$data = array('name'=>'Tom','age'=>20);
$this->cache->set('user', $data);
}
var_dump($data);
}
/**
CREATE TABLE caches(
id varchar(127),
hash char(40),
tags varchar(255),
expiration int,
cache blob);
*/
COOKIE的设置和获取
public function cookie() {
cookie::set('name', 'test', time()+3600);
echo cookie::get('name');
}
/*
SESSION的设置和获取
Session 库改写 PHP 内建的 sessions 数组:$_SESSION。这就意味着也可以通过 PHP 的方式获取到 session 数据
*/
public function sess() {
//Session 库会通过 $this→session 激活。如果当前任何的 session 数据存在,它就会激活。如果没有 session 数据存在,则会自动创建一个新的 session。
$this->session = Session::instance();
//Session::create(); // 销毁当前已经存在的SESION 并创建一个新的SESSION
echo $this->session->id();
$this->session->set('username','username');
$this->session->delete('username'); //删除SESSION变量
echo $this->session->get('username');
$this→session→destroy();// 销毁所有 session 数据,包括可识别它的浏览器的 cooki。
}
/*CREATE TABLE sessions
(
session_id VARCHAR(127) NOT NULL,
last_activity INT(10) UNSIGNED NOT NULL,
data TEXT NOT NULL,
PRIMARY KEY (session_id)
);*/
/**
Session 储存方式
默认情况下 Session 数据是以 Cookie 的方式储存。你可以通过修改 config/session.php 文件修改储存方式。
驱动可以在这个文件设置。Session 名和其他的配置项均可以设置。
当前可用的驱动和它们的储存容器:
cookie - 使用 Cookie(默认)
native - 使用文件
database - 使用数据库
cache - 使用什么方式(文件,内存,数据库)取决于配置
使用数据库驱动储存 Session
使用数据库驱动储存 Session 需使用数据库和相关表。
默认情况下,Session 库使用默认数据库组中你已经配置的数据库。
默认情况下,Session 库会从表中调用 sessions。(注意!这个架构是之前的版本,详情请下下面)
您可以根据自己的情况配置,首先创建一个表来储存 session。
*/