我找不到任何关于如何编写一个非常简单的类或模型并在cfscript中使用它的简单示例。
这是我想要的,在php中: oocaller.php:
<?php
include 'oo-model.php';
$dog = new animal('dog');
echo $dog->says();
OO模型:
<?php
class animal{
public $type;
function __construct($type){
$this->type =$type;
}
function says(){
if($this->type == 'dog')
return 'woof!';
if($this->type == 'cat')
return 'meow!';
return 'I dont know what to say!';
}
}
确定这有效......
oocaller.cfm:
<cfscript>
//include 'oomodel.cfc'; //dont need, autoincluded
//obj = new admin.d.oomodel(); //for path, use dots not slashes...
//obj = CreateObject("component", "oomodel");
obj = CreateObject("component", "/admin/d/oomodel");//either works
obj.out();
writeoutput('<HR>');
writedump(obj.other);
writeoutput('<HR>');
writedump(obj);
</cfscript>
with:oomodel.cfc:
component {
thevar = 'thevrrrrr';
this.other = 'otherrrr';
public function out(){
writeoutput(variables.thevar & "<BR>");
writeoutput(thevar & "<BR>");
writeoutput(this.other & "<BR>");
}
}
答案 0 :(得分:3)
将以下内容保存到d.cfc
component displayname="d" output="false" {
public function out(){
writeoutput('blahblahblah');
}
}
将以下内容保存到test.cfm
<cfscript>
obj = new d();
obj.out();
</cfscript>
对于this
,它是一个包含所有公共方法和属性的范围。通常,您不需要指定私有变量的范围,但如果您想要明确,安全并获得最后一点性能,则应使用variables.theVar
。 Varibales
是包含所有私有方法和属性的范围。
要编写正确的构造函数,请使用init()
函数。
看起来你刚刚开始使用ColdFusion,我可以建议: