Download the PHP package sledgehammer/mvc without Composer
On this page you can find all versions of the php package sledgehammer/mvc. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download sledgehammer/mvc
More information about sledgehammer/mvc
Files in sledgehammer/mvc
Package mvc
Short Description Sledgehammer MVC module: Provides a Model View Controller architecture
License CC-BY-SA-3.0
Informations about the package mvc
Sledgehammer MVC
MVC aka Model View Controller
Model
These are the classes you'll write yourself. If your looking for database persistance for your models check out the Sledgehammer ORM module.
View
The "View" is a composition of components.
Every component has a "render" function which sends the output directly to the browser (echo) and doesn't have a return value.
Component->getHeaders()
A Component has an optional getHeaders() function, which is called before render() and passes info to the components higher in the component hierarchy.
This can add "HTTP headers", append stylesheets and other configuration that must be injected into the <head>
'http' This is an array that will be sent with the header() function.
'meta' This is an array that is added as <meta> tag(s) in the <head>
'css' This is an array with urls that are added as <link type="text/css"> in the <head>
'link' This is an array that is added as <link> tag(s) in the <head>
'title' This is the <title> that is placed in the <head>
Controller
Sledgehammer doesn't have a Routing class, all requests are handled by a subclass of Folder classes.
Mapping examples:
The "/about.html" url is mapped to MyWebsite->about(). If no public about method is found the file() method is called. By default the file() returns an component that renders a 404 error.
The "/blog/author.html" is mapped to MyWebsite->blog_folder().
if no public blog method is found the folder() method is called.
The blog_folder() could directly return a compontent, but it could also create a Folder object which would handle all request inside the "blog/" folder.
The "author.html" part of url is mapped to MyBlogFolder->author().
If no public author method is found the file() method is called on the MyBlogFolder.
Website scope
Complete handling of requests.
Sending to browser Saving to disk
HtmlDocument scope
Processing the values of getHeaders() in the doctype template.
Installation
Place the mvc folder in the same folder as Sledgehammer's core folder.
To generate a scaffolding for an MVC project, run
Twitter Bootstrap
Contrains all the css & javascript from: http://twitter.github.com/bootstrap/ and adds Sledgehammer\View classes.
Becomes: