我想要 延长, ,不仅创建了我坐在供应商目录中的课程的新实例。我谷歌搜索并阅读了文档,但我没有看到它的支持。

我可以进行第三方类导入的应用程序,然后写入扩展类,然后写一个将使用我的孩子类的组件?

IE

/* vendors/yahooapi/yahoo.class.php */
class YahooAPI {
     var $key = 'demo';
}

/* controllers/components/yahoo.php */
App::import("Vendor", "YahooAPI", array("file"=>"yahooapi.class.php"));

class Yahoov2 extends YahooAPI {
     var $key = 'newKey';
     function go() {}
}

YahooComponent extends Object {
     function goFaster() {
         $a = new Yahoov2;
         return $a->go() * 2;
     } 

}

有帮助吗?

解决方案

基本上,我会告诉您我将如何做(至少我在某些项目中做到了):

1添加您的供应商/yahooapi/yahoo.class.php

2在供应商/ yahooapi/ yahooapi/或在供应商/外部创建文件,该文件将扩展原始供应商类,例如供应商/ yahoov2.php,即

include_once('.../vendors/yahooapi/yahoo.class.php');
class Yahoov2 extends YahooAPI {
 var $key = 'newKey';
 function go() {}
}

3,最终像在控制器中一样,将其包含在分段中。

我相信,直接在控制器中扩展课程也可以完成这项工作,但这确实是一个品味问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top