Download the PHP package hellsan631/logosdb without Composer
On this page you can find all versions of the php package hellsan631/logosdb. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package logosdb
LogosDB v 1.5.*
LogosDB is a database micro-framework for creating simple DB interaction without the need for a full MVC structure.
The idea is that for small projects, creating APIs, or when you just don't want or need to implement a fully featured MVC framework (Phalcon, Laravel, CodeIgniter, Zend), LogosDB has your back. LogosDB is a bare-bones Model Interaction Framework for working with objects inside databases.
Version 1.5.*
1.5.* Introduces Namespaces into the framework. The namespaces reflect the folder hierarchy, and helps when using multiple frameworks. Names and folder structures might shuffle around a bit while 1.5 gets updates.
Getting Started
Requirements
Installation (via composer)
Installation via composer is simple. Just add the following to your composer.json file
After running a composer update/install command, extend the class with a logos object
and make sure to include your autoloader
For those who don't have composer, just download as a zip, and include the autoload file in your php header
Creating A Model
Create an object class for each table in your database you want to use this with.
Database Setup
We use the config class, which creates a simpleton, for inputting our DB connection data. Add this somewhere in your header (or you can add this to autoload.php)
Database Schema
MySQL
Usage
For a quick list of classes and what they do, head on over to the database interface https://github.com/hellsan631/LogosDB/blob/92a702f60fbf8b2e351bfd6f2d505e391d4a894c/lib/Logos/DB/HandlerInterface.php
Creating a new object in the database
An object can be either declared as a variable, or statically created (which takes less memory and time)
Creating Many objects to a database
You can create objects multiple ways.
Saving Changes to an object already in the database
Expanded query syntax
Want to add a limit, orderBy, or groupBy to your query results?
Any added limit/orderby/groupby is only added to the next query executed. If you run any two queries in a row , i.e.
You need to add the query to each call to the database if you want it to effect that call.
Also, any time you set a query, the previous query of that type is overwritten.
Automatically Converts JSON
You can use JSON or an object anywhere you want.
Adheres to Model
You don't have to worry about what your sending into an object, or if you've created dynamically declared variables in that object
Security
There are 3 added security classes that help with php development. The goal is to enhance existing PHP 5.5 functionality with industry standard practices, and make them easy to use.
The Cipher Class
The Cipher class allows you to encrypt/decrypt text and generate safe random numbers. It does this using MCrypt, a built in PHP extension. Currently, keys are one way, but soon that will change.
Use of the Cipher Class is easy. To encrypt something:
If you want to then decrypt
You can also get a random key from Cipher. Its highly recommended that you use cipher in place of any other random key/number generators for security, as Cipher uses "openssl_random_pseudo_bytes()", which is the most secure way in php to get a random string of data.
The Password Class
The password class helps secure user passwords using PHP 5.5 built in BCrypt implementation. Its by far the most secure way of storing passwords, and all passwords should be stored this way.
For an implementation of this, I recommend looking at one of my other projects, and the way it handles user creation.
To Create A New User and save his password correctly:
newUser.php
To Login with a user
auth.php
And then the user class that handles it all
class.user.php
The Iron Class
Iron Class helps protect against Cross Site Request Forgery attacks. Doing this can be a bit complicated, but with this class, the implementation is pretty straight forward.
For Post Requests (example login form)
login.php
auth.php
If you wanted to protect your GET requests as well
Info.php
user.php
Contributing
Please feel free to fork, push, pull and all that other good Git stuff!
Thanks
(Expanding on this readme at a later date)
Visit my blog: http://mathew-kleppin.com/blog-page/