Registered 2010-08-29 by AntonĂ­n Komenda

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-Controller (MVC) architecture and all common aspects are modular and flexible for change. It includes component state handling, URL patterns, DAO, connection into multiple data sources (MySQL, PostgreSQL, XML-RPC, etc.), visual components (web listings, forms, trees, etc.), I18n, ACL, CMS and many other things.

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 internationalization. Since the framework emphasizes the modularity and leverages an open source license, it embodies a progressive grow and enjoys an external support.

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.

Project information

SWiZ Team
Not yet selected

RDF metadata

View full history Series and milestones

trunk series is the current focus of development.

All code Code

Version control system:
Programming languages:

All bugs Latest bugs reported


SWiZ does not have any download files registered with Launchpad.