152 lines
4.3 KiB
Markdown
152 lines
4.3 KiB
Markdown
System
|
|
======
|
|
System - PHP Framework
|
|
|
|
Solves common Webdevelopment Problems and presents a Solution to several
|
|
reapearing problems in a good ecapsulated modern way.
|
|
|
|
Software Requirements
|
|
=====================
|
|
|
|
PHP 5.6+
|
|
Mysql (Postgressql (deprecated))
|
|
|
|
Installation
|
|
============
|
|
|
|
System is not a standalone Software, it is used within php Projects.
|
|
If you are not familiar with SYSTEM, please checkout the demo project
|
|
git@github.com:webcraftmedia/demo_basic.git and follow instructions there.
|
|
|
|
Features
|
|
========
|
|
|
|
SYSTEM offers diferent Features - a few are described in this readme
|
|
|
|
Ecapsulation of Code
|
|
--------------------
|
|
|
|
Seperation by Language, Seperation by Access, Seperation by Meaning.
|
|
System ecapsulates the following languages in different Files:
|
|
|
|
* PHP
|
|
* SQL
|
|
* JS
|
|
* HTML
|
|
* CSS
|
|
|
|
Depending on how you access the Page you are redirectd to diferent Endpoints of your Project.
|
|
System distiquishes between
|
|
|
|
* index.php - serve webpages
|
|
* api.php - returns json results, ajax-calls normally go to this endpoint
|
|
* sai.php - serves a secure extendable environment to administer your Page
|
|
|
|
The Autoload-Feature which is used within System allows you to seperate your Project
|
|
further into several subfolders - normally one for every single page you serve.
|
|
|
|
API
|
|
---
|
|
|
|
Url parameter mapping to php classes in a modern way. Calls to your Page or API are
|
|
directly mapped to a class of your choice, serving the diferent calls you implement.
|
|
|
|
Cache
|
|
-----
|
|
|
|
Cache any data you want to cache. Typical things cached are Javascript and CSS.
|
|
By default the cache is cleaned once a day via internal cronjob mechanism.
|
|
Write your own Cache handler to put and pull from cache.
|
|
|
|
Config
|
|
------
|
|
|
|
Extendable config, by default contains paths, default database connection, project name & language etc.
|
|
|
|
Cron
|
|
----
|
|
|
|
Php Cron processing. Needs to be called by the underlying systems cron job.
|
|
Allows as many cronjobs as needed, with just one cronjob registered in the
|
|
Operating System.
|
|
|
|
DB
|
|
--
|
|
|
|
Persistent Database Connection, multiple Connections, SQL Ecapsulation,
|
|
Automatic Injection Protection, Easy access, almost zero code, one class per
|
|
Query and therefore high reusability.
|
|
|
|
Docu
|
|
----
|
|
|
|
Integrated PHPDocumentor including HTML and MD output. Register what code you want
|
|
to document and a button will generate you your documentation.
|
|
|
|
Files
|
|
-----
|
|
|
|
Serve Files from where you want, dont expose your server file structure.
|
|
|
|
Html
|
|
----
|
|
|
|
Html definitions(minimal)
|
|
|
|
Lib
|
|
---
|
|
|
|
Includes Several Libs, Minimal Lib Interface to bind your Projcts libraries easily
|
|
|
|
Log
|
|
---
|
|
|
|
Log from anywhere in your Project, Analysis of Log, Easy debugging, Visitor statistics
|
|
|
|
Page
|
|
----
|
|
|
|
Simple Template system, able to replace ${var} placeholders in text and files.
|
|
Hashbang compatibility, Modern ajax technologies to not reload the page,
|
|
but load content on demand including a caching meachanism to not load content
|
|
twice.
|
|
|
|
SAI
|
|
---
|
|
|
|
Admin Interface to manage SYSTEM features of your Page from a webui. SAI is extenable,
|
|
so you can write your own Modules to manage your Page-Content as you prefere to do it.
|
|
|
|
Security
|
|
--------
|
|
|
|
Login, Register etc in a secure manner via API. Includes Password-Reset via
|
|
EMail Confirmation.
|
|
|
|
SQL
|
|
---
|
|
|
|
Extendable Database Installtion System, to run sql scripts for the Project upon
|
|
update or install.
|
|
|
|
License
|
|
=======
|
|
Copyright (c) 2013-2016 Ulf Gebhardt, Webcraft-Media.de
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
in the Software without restriction, including without limitation the rights
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in
|
|
all copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
THE SOFTWARE. |