在Coldfusion中写出特征

时间:2017-04-27 10:00:31

标签: coldfusion traits coldfusion-9

有没有办法在Coldfusion中编写可重用代码(Traits),如PHP或Javascript

因为这似乎是编写特征和在需要它们的不同类中使用的好主意。

1 个答案:

答案 0 :(得分:0)

我看了看:http://php.net/manual/en/language.oop5.traits.php

我发现以下PHP代码很有趣:

<?php
trait A {
    public function smallTalk() {
        echo 'a';
    }
    public function bigTalk() {
        echo 'A';
    }
}

trait B {
    public function smallTalk() {
        echo 'b';
    }
    public function bigTalk() {
        echo 'B';
    }
}

class Talker {
    use A, B {
        B::smallTalk insteadof A;
        A::bigTalk insteadof B;
    }
}

class Aliased_Talker {
    use A, B {
        B::smallTalk insteadof A;
        A::bigTalk insteadof B;
        B::bigTalk as talk;
    }
}
?>

我接受这样的事情。

CFML与其他编程语言的不同之处在于它具有许多内置函数。我一直在使用物体。我使用的对象是application.cfc,FW / 1控制器,DI / 1 / FW / 1服务,DI / 1 / FW / 1 Bean和ORM后退对象。

这些中的每一个都有内置的期望和用法。它们都不是普通的物体。我写了一个普通的对象已经很久了。我宁愿使用功能更丰富的对象。

CFML还在其变量上具有成员函数。这使它们成为类似的对象。

最后但并非最不重要的,如果我真的必须从多个位置提取功能,我只会在另一个位置内创建一个对象的实例。

免责声明:我目前正在使用大约50个cfc和数百个函数的应用程序。所有这些都是必需的,但有些重构可能会有用。

我可以看到一两个特征可能有用的地方,但我可以先考虑其他事情。