Skip to content

Commit

Permalink
Improving home page
Browse files Browse the repository at this point in the history
  • Loading branch information
moufmouf committed May 16, 2017
1 parent b6006ab commit 14dd451
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 10 deletions.
4 changes: 2 additions & 2 deletions doc/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ The interesting part is that TDBM will automatically **discard** any parameter t
So let's imagine that your `$store` parameter is `null`. Suddenly, your filter will transform into: `category = :category`.
The `AND store = :store` will be automatically dropped by TDBM.

How is this possible? TDBM is built upon [MagicQuery](http://mouf-php.com/packages/mouf/magic-query/README.md) that has
How is this possible? TDBM is built upon [MagicQuery](http://mouf-php.com/packages/mouf/magic-query/) that has
such a feature. You can read more about this feature [here](http://mouf-php.com/packages/mouf/magic-query/doc/discard_unused_parameters.md) and [here](http://www.thecodingmachine.com/simplifier-des-requetes-sql-complexes-avec-magic-query-cest-magique/) (french link).

### Getting only one record
Expand Down Expand Up @@ -412,7 +412,7 @@ Here, we called the `find` method passing a filter on the `name` column of the `

Hey! But where is the "join"?

Behind the scene, TDBM is calling a library called [MagicQuery](http://mouf-php.com/packages/mouf/magic-query/README.md).
Behind the scene, TDBM is calling a library called [MagicQuery](http://mouf-php.com/packages/mouf/magic-query/).
MagicQuery is smart enough to automatically detect the link between the `users` and the `countries` table. You just need
to tell TDBM what filter you want on **any column** in **any table** in your database model and TDBM will find
the right query for you. MagicQuery is looking for the shortest path between 2 tables using foreign key relationships.
Expand Down
35 changes: 27 additions & 8 deletions index.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,12 @@ $user->addRole($role);
$user->removeRole($role);
```

<div class="row">
<div class="col-xs-12 col-sm-6 col-sm-offset-3">
<a href="doc/quickstart.html#navigating-the-object-model" class="btn btn-primary btn-large btn-block">Learn more about DB model to objects mapping</a>
</div>
</div>

### TDBM understands inheritance

TDBM can understand typical ways of representing inheritance in a SQL database (primary keys being also foreign keys)...
Expand All @@ -96,6 +102,12 @@ TDBM can understand typical ways of representing inheritance in a SQL database (

![UML inheritance](doc/images/uml_inheritance.png)

<div class="row">
<div class="col-xs-12 col-sm-6 col-sm-offset-3">
<a href="doc/modeling_inheritance.html" class="btn btn-primary btn-large btn-block">Learn more about inheritance</a>
</div>
</div>

## Simplicity first

TDBM is meant to be easy to use and non obtrusive.
Expand All @@ -104,6 +116,12 @@ TDBM is meant to be easy to use and non obtrusive.
But it makes as simple as possible those tasks you do 80% of the time. For the remaining 20% (like performance critical requests, and so on), you can use SQL.
For instance, TDBM has a **unique feature that guesses jointures for you**. No need to write joins anymore!

<div class="row">
<div class="col-xs-12 col-sm-6 col-sm-offset-3">
<a href="doc/quickstart.html#joins-ans-filters" class="btn btn-primary btn-large btn-block">Learn more about simple joins</a>
</div>
</div>

## Based on Doctrine DBAL

TDBM uses the hugely popular Doctrine database abstraction layer for low level database access. It allows compatibility with a very wide range of databases.
Expand All @@ -112,13 +130,14 @@ TDBM uses the hugely popular Doctrine database abstraction layer for low level d

There is no configuration needed for TDBM. TDBM needs a DBAL database connection and a Doctrine cache. That's it!

## Framework agnostic

Ready to dive in? Let's get started!

- [Install TDBM](doc/install.md)
- [Access the database, perform queries, inserts and updates](doc/quickstart.md)
- [Add limit and offsets to your queries](doc/limit_offset_resultset.md)
- [Regenerating DAOs and beans](doc/generating_daos.md)
- [Modeling inheritance](doc/modeling_inheritance.md)
- [Improving memory usage](doc/memory_management.md)
- [A quick comparison with Doctrine](doc/comparison_with_doctrine.md)
- [TDBM internals](doc/internals.md)
TDBM is framework agnostic so can be used in **any PHP application**, but also comes with installation packages for **the most popular PHP frameworks** out there.

<div class="row">
<div class="col-xs-12 col-sm-6 col-sm-offset-3">
<a href="doc/install.html" class="btn btn-primary btn-large btn-block">Install TDBM</a>
</div>
</div>

0 comments on commit 14dd451

Please sign in to comment.