Чем эти два компонента отличаются? - PullRequest
3 голосов
/ 06 марта 2019

Один из них лучше другого? Какая разница? Они кажутся взаимозаменяемыми

component
{
    property name="some_thing" type="string" value="";
}

против

component
{
    this.some_thing = "";
}

1 Ответ

3 голосов
/ 07 марта 2019

cfproperty

Post CF8, 'cfproperty' позволяет установить неявный установщик / получатель.

Он также используется при создании веб-служб и приложений ORM и обладает широким спектром свойств конфигурации:

https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-tags/tags-p-q/cfproperty.html

Сеттер / геттер

com / foo.cfc

component accessors='true' { 

    // set properties & variables above any component methods

    property name='bar' type='string';
    this.setBar('foo');

    function init(){
        return this;
    }

}

В шаблоне 'foo.cfm':

foo = new com.foo();
WriteDump(var=foo.getBar());
// foo

область действия «this»

Доступ к области действия «this» возможен как внутри, так и снаружи компонента.

com / foo.cfc

component { 

    // set properties & variables above any component methods

    this.bar = 'foo';

    function init(){
        return this;
    }

}

Внутри шаблона 'foo.cfm':

foo = new com.foo();
WriteDump(var=foo.bar);
// foo

Область видимости переменных внутри компонента

Область видимости переменных внутри компонента недоступна извне компонента.

...