An ORM module for the Kohana PHP framework that is designed to work with all major databases.
LEAP is an database management library for the Kohana PHP Framework and is designed to work with DB2, Drizzle, Firebird, MariaDB, MS SQL, MySQL, Oracle, PostgreSQL, and SQLite. LEAP acts as a common interface between the different database dialects and connections. It provides a powerful query builder and ORM. LEAP's ORM is based on the active record design pattern, which utilizes PHP objects to model database tables.
Make sure to "Star" this project if you like it.
LEAP is meant to be a simple, clean project. The primary goal of LEAP is to create an ORM for the Kohana PHP Framework that works with all major databases and is meant to be a true Kohana module so that it could be just dropped into Kohana's modules folder and work. Even though other ORMs like Doctrine are adaptable to Kohana, doing so requires a lot of work. Another goal for the development of LEAP is to create an ORM for Kohana that can harness the power of composite keys, which many other ORMs (e.g. Kohana's official ORM, Jelly, and Sprig) cannot handle.
LEAP provides a number of features, such as:
- Plugins for DB2, Drizzle, Firebird, MariaDB, MS SQL, MySQL, Oracle, PostgreSQL, and SQLite.
- Designed to work in conjunction with other database tools for Kohana.
- Config file for designating the database driver (e.g. PDO) and connection strings.
- Classes are easily extensible.
- A database connection pool for managing resources.
- A powerful query builder for creating SQL statements.
- Sanitizes data to help prevent SQL injection attacks.
- Capable of handling non-integers primary keys.
- Supports composite primary keys and composite foreign keys.
- Enforces strong data types on database fields.
- Allows field aliases to be declared.
- Makes working with certain database fields easy with field adaptors.
- A set of Auth classes for authenticating user logins.
- A toolkit of useful functions.
- Leap's API that documents each class.
- Lots of tutorials.
To start using LEAP, follow these steps:
- Just download the module (see below regarding as to which branch) from github.
- Unzip the download to the modules folder in Kohana.
- Rename the uncompressed folder to "leap".
- Modify leap/config/database.php.
- Add "leap" as a module to application/bootstrap.php.
- Begin creating your models in the application/classes/model/leap/ folder.
For more information, see the tutorial on installing LEAP.
- 3.3/master - PHP 5.3+, Kohana 3.3.X, maintained, stable
- 3.3/develop - PHP 5.3+, Kohana 3.3.X, maintained, unstable
- 3.3/legacy - PHP 5.2+, Kohana 3.3.X, deprecated, stable
- 3.2/master - PHP 5.3+, Kohana 3.2.X, maintained, stable
- 3.2/develop - PHP 5.3+, Kohana 3.2.X, maintained, unstable
- 3.2/legacy - PHP 5.2+, Kohana 3.2.X, deprecated, stable
- 3.1/master - PHP 5.3+, Kohana 3.1.X, maintained, stable
- 3.1/develop - PHP 5.3+, Kohana 3.1.X, maintained, unstable
- 3.1/legacy - PHP 5.2+, Kohana 3.1.X, deprecated, stable
The LEAP ORM module is meant to be completely independent of other Kohana modules. However, it is recommended that Kohana's database module be installed as well so that you can utilize the Database_Expression class. As for the files within LEAP, you can remove any database plugins that you are not using. This is possible because each database plugin in LEAP is considered independent of the others.
This project is accompanied by
old site a companion Web site, which documents the API for the LEAP ORM
and has a number of examples and tutorials. You can also find other tutorials and examples
online (please let us know if you find one that we should highlight here).
Although LEAP is simple to use with the Kohana PHP Framework, you can get further assistance by asking questions on either Kohana's Forum or Stack Overflow. You can also send an email to firstname.lastname@example.org.
If you find a bug in the code or if you would like to make a recommendation, we would be happy to hear from you. Here are three methods you can use to notify us:
- Log an issue in this project's issue tracker.
- Create a fork of this project and submit a pull request.
- Send an email to email@example.com.
Please see this project's issue tracker on github for any known issues.
Make sure that you add yourself as a watcher of this project so that you can watch for updates. If you would like to be notified directly via email please send an email to firstname.lastname@example.org.
This project is constantly being improved and extended. If you would like to contribute to LEAP, please fork this project and then send us your additions/modifications using a pull request.
Copyright © 2011–2013 Spadefoot Team.
Unless otherwise noted, LEAP is licensed under the Apache License, Version 2.0 (the "License"); you may not use these files except in compliance with the License. You may obtain a copy of the License at:
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.