SWiZ is a PHP application framework emphasizing visualization part. It is purely object-oriented, designed for RAD and rapid prototyping. It follows the Model-View-
The basic principles of the SWiZ framework can be separated into 3 groups: (i) data flow modeling, (ii) using of components, and (iii) template parsing. The groups correspond to a MVC paradigm (models - the data flows, views - the templates and parsing, a controller - the components). In other words, you design how to obtain and save data from/into a data storage (e.g., a database table, a file, a webservice). Then, you reuse (or write) various components (e.g., data listings, forms for data editing). And finally, you reuse (or create) a template for the output ((X)HTML, XML, CSS, or others).
SWiZ is "shipped" with the most frequently used components in web applications: G_List (a linear listing of data), G_Form (a form for a data manipulation), G_Tree (a hierarchical listing of data), G_Pager (pagination of various page parts - menus, sheets, and similar). The components can be extended by so-called extenders. Likewise the components, many usable extenders are in the base package of the SWiZ framework (e.g., a wizard-like form, a selection extender of data in a listing). The components are supported by data flows, objects representing a data storage entities. A prepared data storage connector using the Creole library can be used to access MySQL and PostreSQL databases. The web package contains a complete groundwork for web-based information systems, administrations and other applications based on a unified GUI. The package contains an user administration, logging of the users' activity, ACLs, and internationaliz
All the prepared parts of SWiZ can be used by virtue of a simple principle, which is overriding. Both files and classes can be overridden. By the file overriding, it is meant creating of a file with the same name as the overridden file in another package. By the class overriding, it is meant inheriting of a SWiZ class and implementing of its event methods. Each class in SWiZ triggers events in particular points of the processing. The events can be used to change, specify, or complete the behavior of the classes. With the help of the overriding principle, a new application can be created only with a few lines of code, since the main workload lies under the implementation in the framework, but without sacrificing the flexibility.
The SWiZ framework uses its own template syntax, but do not worry, the basic syntax is based only on 3 template tags. All else is a classical (X)HTML, CSS, or other languages. The templates with a such simple syntax have one big advantage. The code of the template cannot be messed up with the program logic, which greatly improves the readability of the resulting code.
View full history Series and milestones
trunk series is the current focus of development.