Категорія: CFScript
Покращуючи CFScript
Шон Корфілд розповів про те, як відбувається еволюція CFScript. Він навів приклад того, як було втілено функції в різних серверах застосунків та роль CFML Advisory Commitee. Ми вже колись згадували про цю тему.
Що цікаво, я вже довгий час сповідую синтаксис, аналогічний до наведеного прикладу ColdBox: класичне визначення cffunction+cfargument, а тіло на cfscript.
Треба відмітити, що до широкого використання нового синтаксису ще далеченько, аж поки CF9 та Railo не займуть достатньо велику частину ринку. До того часу доведеться писати сумісний з CF8 код, щоб забезпечити собі спокійний тил.
Application.cfc на CFScript
Всі CF-розробники знають про Довідку з Application.cfc від Рея Кемдена, що довгий час є дороговказом для учасників спільноти.
Стів Блейдс зробив аналогічну річ для CF9, написану на чистому CFScript.
Пропоновані зміни у визначенні функцій в CFScript
Нещодавно Шон Корфілд (Sean Corfield) опублікував замітку з циклу CFML Advisory, що пропонує ряд змін в синтаксисі в наступних версіях CFML (що стосуватиметься всіх серверів, що найприємніше).
Зокрема, при визначенні функції можна буде вказувати:
- access (public, private, package, remote)
- return type
- argument types
- default values
Наприклад, ось так:
public string function greet(string name, string greeting = "Hello") {
return greeting & " " & name;
}
Деякі речі можуть бути опущені:
function greet(name, greeting = "Hello") {
return greeting & " " & name;
}
Що аналогічне цьому:
public any function greet(any name, any greeting = "Hello") {
return greeting & " " & name;
}
Ну і обов'язкові агрументи, куди ж без них:
public string function greet(required string name, string greeting = "Hello") {
return greeting & " " & name;
}
Хтось резонно може зауважити, що це є черговий крок в сторону Java.
Ну й добре, аби було на користь розробникам, особливо любителям CFScript.