在 Coldfusion 中编写 Traits
Writing Traits in Coldfusion
有没有办法在 Coldfusion
中编写像 PHP 或 Javascript 这样的可重用代码(Traits
)
因为这似乎是编写 Traits 并在不同 类 需要它们的地方使用的好主意。
我看了: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 Beans 和 ORM 后台对象。
其中每一个都有一套内置的期望和用法。 None 其中是普通对象。好久没写一个普通的对象了。我宁愿使用功能更丰富的对象。
CFML 的变量也有成员函数。这使它们成为相似的对象。
最后但同样重要的是,如果我真的必须从多个位置引入功能,我只会在另一个对象中创建一个对象的实例。
免责声明: 我目前正在开发一个包含大约五十个 cfc 和数百个函数的应用程序。所有这些都是必需的,但一些重构可能会有用。
我能看到 traits 可能有用的一两个地方,但我能想到先做其他事情。
有没有办法在 Coldfusion
中编写像 PHP 或 Javascript 这样的可重用代码(Traits
)
因为这似乎是编写 Traits 并在不同 类 需要它们的地方使用的好主意。
我看了: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 Beans 和 ORM 后台对象。
其中每一个都有一套内置的期望和用法。 None 其中是普通对象。好久没写一个普通的对象了。我宁愿使用功能更丰富的对象。
CFML 的变量也有成员函数。这使它们成为相似的对象。
最后但同样重要的是,如果我真的必须从多个位置引入功能,我只会在另一个对象中创建一个对象的实例。
免责声明: 我目前正在开发一个包含大约五十个 cfc 和数百个函数的应用程序。所有这些都是必需的,但一些重构可能会有用。
我能看到 traits 可能有用的一两个地方,但我能想到先做其他事情。