Download the PHP package mohdnazrul/laravel-propel without Composer
On this page you can find all versions of the php package mohdnazrul/laravel-propel. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mohdnazrul/laravel-propel
More information about mohdnazrul/laravel-propel
Files in mohdnazrul/laravel-propel
Package laravel-propel
Short Description Propel integration for Laravel framework.
License MIT
Informations about the package laravel-propel
propel-laravel
Propel2 integration for Laravel framework. Only 5.x versions supported. 4.x version can be found in repo of initial developer of current package.
Usage
First of all: you need to understand that current package is in heavy development.
We try to maintain 1.* branch as stable and tested as it used by 1M of angry developers, which have guns.
Propel2 seems pretty stable, but still in development and currently it require that your
installation must have minimum stability is alpha
. Open your composer.json
and write after config
section:
"config": {
"preferred-install": "dist"
},
"minimum-stability": "dev"
Require this package with composer using the following command:
composer require mohdnazrul/propel-laravel
After updating composer, add the ServiceProviders to the providers array in config/app.php
Propel\PropelLaravel\PropelIntegrationServiceProvider::class,
Next step is copy example config to your config
directory.
php ./artisan vendor:publish --provider 'Propel\PropelLaravel\RuntimeServiceProvider'
Within provided config: schemas files are located into database/
folder,
models are generated into app/models
, migrations into database/migrations
You can now use Propel commands via artisan, for example:
php ./artisan propel:model:build
etc.
Using integration command
For new users of propel there is command providing basic integration features like creating sample schema.xml
file:
php ./artisan propel:laravel:init
Manual integration
You can find explanation what do integration command below.
Existing database
If you are trying Propel2 on existing database — you can use reverse database command:
php ./artisan propel:database:reverse
Since version 2.0.0-alpha5 there is awesome config node exclude_tables
in config,
which allows you to mix different project tables in one database.
Small hint: you can define namespace of all generated models in schema just as attribute of database:
<database … namespace="MyApp\Models">
Auth
Package contains Auth driver binding which allows to store user info and fetch (Auth::getUser()
) current logged in user as propel model. You need to change two settings in config/auth.php
:
'driver' => 'propel', // custom auth provider implemented in current package
…
'model' => MyApp\Models\User::class, // classname of user entity
After schema creating and model generation you must enhance your model to implement all laravel Auth requirements. Generic user model seems so:
use MyApp\Models\Base\User as BaseUser;
use Illuminate\Auth\Authenticatable;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
class User extends BaseUser implements AuthenticatableContract, CanResetPasswordContract
{
use Authenticatable, CanResetPassword;
public function getAuthIdentifier()
{
return $this->id;
}
}
Static Configuration
By default it builds configuration from main config config/propel.php
in runtime but you may build static config config/propel/config.php
by running
php ./artisan propel:config:convert
Services
No service is provided.
Propel configures and manages itself by using static methods and its own service container, so no service is registered into Application.
Upgrade guide
There is upgrade guide in docs
folder.
Known issues
- There isn't schema file and command for initial user creation, but it's in our roadmap and will arrive soon
Authors
First version written by Alex Kazynsky. Now maintained by Alexander Zhuralvev and Maxim Soloviev. Thanks a lot to each author! Any bug reports and pull requests are appreciated!
See also
Make Propel models work with Laravel Form::model() without making it an array