Software architecture
The 2tix system is written in the PHP language, widely recognised as the premier open-source language for constructing web applications.
For data storage the MySQL database, the world's most popular open-source database system. MySQL is employed for all data storage within the system - no use is made of the file system, other than for images etc.
For a web server we use Apache, the world's number one choice. We make particular use of Apache's capacity to rewrite URLs (web addresses) to allow the pages and keywords on your pages to be addressed as if they were flat files with a ".html" extension, instead of with the ".php" extension that is normally used for PHP pages. This makes for more memorable page addresses, and improves the chances that search engines such as Google will index your entire website, not just the home page.
The typical progress of a request for a web page is as follows:
- Page request received by Apache.
- Apache rewrites URL into the form used internally by 2tix.
- Re-written page request reaches 2tix.
- The 2tix page-making script (in PHP) queries the MySQL database and obtains the elements that comprise your page. In the case of a keyword listing or search, this will be created live from the database so ensuring that it is always up-to-date.
- The same PHP script assembles the page from its components and outputs it as a stream of HTML and text to the user's browser.
- This process is so rapid that the user has no way of telling that the dynamically-created page they are viewing is anything other than a normal HTML page.
As a result of adopting this approach,
- any changes you make - such as alterations to your menu, the addition of a new page, or changes in the keywords associated with a page - can be instantly reflected across your entire website.
- the user has access to a powerful search tool based on MySQL's ability to create a "full text index" of the words on each of your pages.
- we can provide you with a powerful suite of tools with which to build, manage and maintain your website in a fraction of the time that it would take using conventional methods.



