php-mpos/README.md
2013-05-06 14:11:38 +02:00

127 lines
3.7 KiB
Markdown

Description
===========
This is a simple PHP framework that I used in a few projects of mine. I
was getting annoyed how long it always took to get the basic setup of a
PHP website done (classes, pages, actions) so I wrote this framework to
help speed up my development process without using one of the big
frameworks out there.
Requirements
============
*No other software required*
Overview
========
Here a quick overview on how the framework works.
Classes
-------
* [[include/classes/]]
For classes used in your projects, a debug class is already included.
Pages
-----
* [include/pages](include/pages)/`pagename`.inc.php
For pages that are called by `index.php?page=<pagename>`. *pagename.inc.php*
must exist and will be included by the index.php file when required.
Actions
-------
* [include/pages](include/pages)/`pagename`/`action`.inc.php
For each page you can create a subdirectory that will be searched for callable
actions for a page: `index.php?page=<pagename>&action=<action>`. *action.inc.php*
must exist in the directory and will be included by the `index.php` file.
Default Page
------------
Currently the framework always defaults to `home`. This still needs to be made
configurable at some point but technical difficulties made this impossible as
a short term solution.
Default Action
--------------
The default action for all pages is unset which means by default the page
include file is loaded. Once an action is defined the page include file
is skipped and the action loaded instead.
Smarty Defaults
---------------
Smarty defaults are configured in the [include/smarty.inc.php](include/smarty.inc.php) file. Change
if need be but usually the defaults should work for you.
Themes
------
As it is the framework has simple theming support. If you wish to add a new
theme create a subdirectory in templates and define that new theme in the
global.inc.php configuration file. You will also need to place any images
and the CSS in the site_assets directory (which is always public accessible).
index.php
---------
The index file is taking care of including all your coded pages and actions.
Please prefix each class, function, action and page with a
if (!defined('SECURITY'))
die('Hacking attempt');
This check ensures all files are called through the `index.php` and not directly.
Setup
=====
To use this framework simply upload everything to your webserver and change
the permissions on the
`templates/compile`
`templates/cache`
to `777` (read/write by everyone) so the Webserver can create the compiled
templates and cache files (if configured, disabled by default).
Once installed just call the `index.php` and you should see the demo page.
Debugger
========
This framework comes with a debugger. Examples on how to use them are given
inside the example pages. You can enable the debugger by setting the defined
DEBUG variable to your debugging verbosity level. Locate the file in:
[include/config/global.inc.php](include/config/global.inc.php)
You can also add any other defines and configuration variables you use
throughout your scripts in this file. It will be included by `index.php`.
License and Author
==================
Author:: Sebastian Grewe (<sebastian.grewe@gmail.com>)
Copyright:: 2013, Sebastian Grewe
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.