gpt4 book ai didi

codeigniter - 如何扩展自己的库?

转载 作者:行者123 更新时间:2023-12-05 01:23:18 24 4
gpt4 key购买 nike

我是 codeigniter 的新手,想向我的第一个扩展另一个库的 ci 应用程序添加一个库

class Mylib {}

/application/libraries/Mynewlib.php:

class Mynewlib extends Mylib{}

我必须将 Mylib.php 放在哪里以及如何加载 Mylib?

谢谢!

最佳答案

在这种情况下,我仍在寻找最佳实践。

在我的例子中,我有 2 个类应该从父类扩展。(支付-父类;Payment_paypal - 与 Paypal 交互;Payment_nganluong - 与我的国内网关 Ngan Luong 互动)对于每个支付网关,我必须编写一些属性、方法来处理,但几乎基本属性和主题方法是相同的。

我的解决方案:我创建了 4 个文件:

  1. Payment_base.php

    class Payment_base {
    //基本属性和方法
    }

  2. Payment.php

    require_once (APPPATH.'/libraries/Payment_base.php');
    //这是 payment_base 的一个实例,
    //当你想使用基本方法和属性时
    //只需调用 $payment->...
    //
    类支付扩展 Payment_base {
    公共(public)函数 __construct(){
    父::__构造()
    }
    }

  3. Payment_paypal.php

    require_once (APPPATH.'/libraries/Payment_base.php');
    Payment_paypal 类扩展了 Payment_base{}
    ////////////////////////////////////////
    require_one 'Payment_base.php';
    类 Payment_paypal 扩展 Payment_base {
    //属性和方法
    }

4、Payment_nganluong.php

require_once (APPPATH.'/libraries/Payment_base.php');
class Payment_nganluong extends Payment_base {
// properties and method
}

就是这样,在 Controller 中:

$this->load->library('payment');
$this->load->library('payment_paypal');
$this->load->library('payment_nganluong');
$this->payment->myMethod(); // base method
$this->payment_paypal->charge(); // call to paypal to charge money
$this->payment_nganluong->checkout(); // check out with Ngan Luong
// no need to load and use payment_base

希望对你有所帮助。

关于codeigniter - 如何扩展自己的库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31249421/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com