Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Browse files

weird. commit should work this time

  • Loading branch information...
commit b45367aa77f1456fbfd32b925631601155e09beb 1 parent 2d4ee90
@rgigger authored
7 doc/wiki/
@@ -0,0 +1,7 @@
+## Adding Sessions
+* Configure config.yaml, set zinc.session.type to db, postgres etc
+* Comment in the session module loader
+* Follow the instructions to create the session table migration
+* Apply the session migration
+* See that it's fixed
+* Set a variable
20 doc/wiki/
@@ -0,0 +1,20 @@
+## Layout of application and instance files
+The layout of files in a Zinc application is as follows:
+ App.php - this is where you tell the application what libraries and classes to include in your application
+ config.yaml - this is where you set default configuration values for all instances of your application
+ domains - this is where your you put your classess containing domain logic (models)
+ migrations - this is where you store scripts to make changes to persisted data (most likly a relational database)
+ public - this is where your store static public assets
+ stationary - this directory contiains templates for auto-generated files (migrations, zones, models, etc)
+ templates - this is where you store templates for generating content to be sent to the browser (views)
+ tmp - this is where the application can create temporary files
+ zones - this is where the front controller classes are stored (controllers)
+The layout of files in a Zinc instance is as follows:
+ config.yaml - this is where instance specific configuration values go
+ const.php - contains defines used by zn and Zinc for the instance and application directories
+ init.php - including this file will do all the basic setup required to bootstrap an application instance
11 doc/wiki/
@@ -0,0 +1,11 @@
+## Features
+ * Front Controller
+ * Database connection and query management
+ * Active record like ORM
+ * Template engine agnostic view system
+ * YAML based configuration
+ * Robust error handling and logging
+ * Build system
+ * Form handling
+ * Session handling
15 doc/wiki/
@@ -0,0 +1,15 @@
+## History
+Zinc began about 10 years ago as a collection of functions wrapping the mysql_* functions in a database abstraction
+layer. It later added a front controller, and integration with the "Smarty template system": The
+database abstraction layer evolved into a robust system of classes. It continued to grown and various versions have been
+open sourced under different names, the latest of which was "Zoop":
+This project began as a "from the ground up" audit of all everything in Zoop and most of the non-third-party code has
+been rewritten from scratch. The new code is much cleaner and leaner than the old code. It eliminates a lot of legacy
+cruft that was holding it back.
+It was originally housed here "": as an experimental branch
+of Zoop. Some of the code has been merged with the mainstream Zoop project but at this point it is ready to become it's
+own stand alone framework. The two projects may still share code at times but they are moving in very different
+directions and are unlikely to ever fully merge.
20 doc/wiki/
@@ -0,0 +1,20 @@
+## Zinc Is Not a Clone
+### General Information
+* [[History]]
+* [[Status]]
+* [[CurrentFeatures]]
+* [[PlannedFeatures]]
+* [[MVC]]: Discussion of the term "MVC" as it relates to Zinc.
+* [[AppInstanceLayout]]: Introduction to the layout of the files in a new Zinc application and instance.
+### Tutorials
+* [README][1]: Read this file to get started.
+* [[UsingZones]]: Zinc front controllers are called Zones.
+* [[UsingDatabase]]: Using a database with Zinc.
+* [[UsingSessions]]: Add session support to your project.
+* [[UsingConfig]]: Using the Zinc configuation system.
+* [[UsingLogins]]: Using Zinc mixins to quickly create a login system.
+* [[UsingFacebookAuth]]: Using facebook for authentication
19 doc/wiki/
@@ -0,0 +1,19 @@
+## MVC
+The term MVC stands for Model View Controller. It's history is long and varied and has been discussed widely on the
+interweb. The gist of it is that originally it was a specific type of separation of concerns for desktop application
+code. It was original invented by SmallTalk developers and then morphed into something else by Sun and then again by
+Next. Eventually it became standard practice for desktop frameworks to be built using some form of it. At some point
+some web developers took something kind of similar and started calling it MVC because it had something called a model,
+something called a view, and something called a controller, even though they didn't necessarily mean the same things or
+interact in the same ways as the desktop MVC conventions. There was a lot of debate for a while as to what should
+and shouldn't be called MVC. Eventually everyone just kept calling all of it MVC.
+The stance of Zinc on this issue is that we don't care. Zinc developed zones (front controllers), templating systems
+(views), and the DbObject class (base class for standard models) before we knew that anyone was calling anything on the
+web MVC. This is the reason that we don't have base classes called Model, View, and Controller. We think that there is a
+reason why so many disparate web frameworks have converged on the same basic architecture. It's simple and it works. So
+Zinc could be considered and MVC or a Web MVC framework depending on your definitions for those terms. We just continue
+to try to do what works, you can call it what you want. We have continued using our old terminology but may reference
+models, views, and controllers in our docs from time to time to make things more clear for people already comfortable
+with that terminology.
14 doc/wiki/
@@ -0,0 +1,14 @@
+## Planned Features
+ * Library for creating CLI applications
+ * Authentication module
+ * Authorization module
+ * nosql support
+ * Graphing and charting modules
+ * Mail sending and receiving
+ * Database migrations
+ * XML -> PDF support
+ * Error logging
+ * Performance logging
+ * Audit logging
+ * Scaffolding
8 doc/wiki/
@@ -0,0 +1,8 @@
+## Status
+Zinc is under fairly constant development. The API remains fairly stable but occasionally it does break. The first
+release of Zinc will be 0.1. We will develop and publish a roadmap of features that must be implemented before we get to
+1.0 and release a fully stable version. It is ready at this point to build production applications with but if you do so
+I would recommend following the mailing list. Updates to Zinc may break your Application. These breaks are however
+infrequent and usually trivial to fix. If any update to Zinc breaks your code please post your problem to the mailing
+list and we will do the best we can to help you get it fixed.
20 doc/wiki/
@@ -0,0 +1,20 @@
+## Using Zones
+Before reading this tutorial you may want to familiarize yourself with these pages: [[MVC]] and [[AppInstanceLayout]].
+In the MVC paradigm Zones are the controller. They take care of initializing and executing requests from the browser.
+They general approach is get some information from your domain logic and pass it into the views.
+have a hello world example here with zoneDefault pageDefault
+show how to access other pages in zoneDefault
+show how post pages work
+show how page vars work
+zone redirect
+show how to create and use other zones and jump between them
+create the full example in the examples directory and reference it at the end
Please sign in to comment.
Something went wrong with that request. Please try again.