kohana框架调用lib库的使用方法

本文详细介绍了在Kohana框架中如何通过Lib库来调用和管理模型方法,包括在lib目录创建User.php文件,以及在控制器内调用lib内的User.php方法,最后展示了如何在浏览器中访问并打印用户表的所有信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在\kohana-v\application\classes 目录下创建了lib目录和lib.php文件
在这里插入图片描述

编辑lib.php文件内容:

<?php
defined('SYSPATH') or die('No direct script access.');
/**
 * 参照Model系统类编写,方便调用更多的Tool类帮助完成工作
 * 2018-5-29
 * 功能类存放于Tool目录下
 */
class Lib {

   /**
    * Create a new model instance.
    * 使用方法:
    * $model = Model::factory($name);
    *
    * @param   string  $name   model name
    * @return  Model
    */
   public static function factory($name)
   {
      // Add the model prefix
      $class = 'Lib_'.$name;
      return new $class;//实例化对应的name类
   }

} // End Lib

在lib目录中创建相关方法,如User.php内容如下:

<?php
defined('SYSPATH') or die('No direct script access.');
class  Lib_User
{
   //$_user一定要提前定义好,否则以下self::$_user不生效
    private static  $_user     = NULL;
    public function __construct()
    {
//将Userlist模型实例化赋值给self::$_user
        self::$_user   = Model::factory('UserList');
    }
    public function get_list(){
//调用Userlist模型类的get_list方法
        $userlist  = self::$_user->get_list();
        return $userlist;
    }
}

在ailib.php控制器内调用lib内的User.php的方法

<?php defined('SYSPATH') or die('No direct script access.');

class Controller_Ailib extends Controller_Website {

    public function action_index()
   {
	//调用lib中User类内的get_list方法
        $rendered_view = Lib::factory('User')->get_list();
        echo "<pre>";
        print_r($rendered_view);
   }

}

模型model目录内UserList.php文件,内容如下

<?php
defined('SYSPATH') or die('No direct script access.');

class Model_UserList extends Model_Database {
    //单条用户数据
    public function get_one($user_id) {
        return DB::select()->from('users')->where('id','=',$user_id)->execute()->current();
    }
    //获取用户列表
    public function get_list(){
        $data = DB::select()->from('users')->execute()->as_array();
        return $data;
    }
}

以上都配置好,之后,我们浏览器中访问:http://localhost/kohana-v/ailib/index 就会将user用户表内的所有信息打印出来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值