Когда я начал, я обнаружил, что смесь mxml и AS3 с настройками Zend Framwork, php и WAMP немного устрашала, и изо всех сил пытался смириться с Flex как средой программирования.Использование глобальных переменных немного облегчило эту боль.
Способ, который работал для меня ... хотя я уверен, что могут быть лучшие примеры, есть следующее:
Сначала создайте класс Globals
package
{
public class Globals
{
[Bindable] public var name : String;
[Bindable] public var email : String;
[Bindable] public var lecturersResult : CallResponder;
[Bindable] public var studentsResult : CallResponder;
[Bindable] public var datagrid_lecturers : DataGrid;
[Bindable] public var dropDownList_lecturerid : DropDownList;
[Bindable] public var DatabaseTables : Accordion;
[Bindable] public var lectAdd : Button;
// auto generated classes by Zend Framework, where references are setup here
[Bindable] public var lecturers : Lecturers;
[Bindable] public var students : Students;
public function Globals()
{
// variables initialised
name = "";
email = "";
lecturersResult = new CallResponder();
studentsResult = new CallResponder();
lectAdd = new Button();
dropDownList_lecturerid = new DropDownList();
datagrid_lecturers = new DataGrid();
DatabaseTables = new Accordion();
lecturers = new Lecturers();
students = new Students();
}
// also useful when creating functions used between classes.
public function func1()
{
}
public function func2()
{
}
public function func3()
{
}
}
}
в основном файле mxml проекта я объявил экземпляр класса Globals
public var g:Globals = new Globals();
фрагмент кода mxml, используя новый экземпляр
<s:DataGrid id="datagrid_lecturers" x="10" y="10" width="860" height="300" editable="true" fontSize="12" requestedRowCount="4"
creationComplete="g.lecturersService.datagrid_lecturers_creationCompleteHandler(event,g,datagrid_lecturers,btnAddLecturer,btnDeleteLecturer,btnUpdateLecturer)"
selectionChange="g.lecturersService.datagrid_lecturers_selectionChangeHandler(event,g)">
Другой пример ...
g.lecturersResult.token = g.lecturersService.getAllLecturers();
Оборотная сторона, я ношу с собой много багажа, вероятно, более обязательного, чем необходимо.Пока база данных мала, все будет работать нормально.Пуристам не понравится этот подход.Gloabls часто называют плохой практикой программирования ... что я согласен, но для начинающих ... это не плохой путь.Хорошие порограммы могут появиться позже, когда вы станете лучше / умнее при кодировании в этой среде.