somnambulist / laravel-doctrine-project
Laravel 5.3 with Doctrine, Twig and other Goodies
Installs: 42
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 2
Forks: 0
Open Issues: 0
Type:project
Requires
- php: >=7
- beberlei/assert: ~2.7
- eloquent/enumeration: ~5.1
- laravel-doctrine/acl: ~1.0
- laravel-doctrine/migrations: ~1.1
- laravel-doctrine/orm: ~1.3
- laravel/framework: ~5.4
- laravelcollective/html: ~5.4
- predis/predis: ~1.1
- rcrowe/twigbridge: 0.9.*
- somnambulist/laravel-doctrine-behaviours: ~0.5
- somnambulist/laravel-doctrine-domain-events: ~0.7
- somnambulist/laravel-doctrine-entity-audit: ~0.5
- somnambulist/laravel-doctrine-entity-validation: ~0.1
- somnambulist/laravel-domain-input-mapper: ~0.5
- somnambulist/laravel-environment-loader: ~0.1
- twig/extensions: ^1.3.0
- twig/twig: ^1.30.0
Requires (Dev)
- barryvdh/laravel-debugbar: ~2.3
- barryvdh/laravel-ide-helper: ~2.3
- codeception/codeception: ~2.3
- fzaninotto/faker: ~1.6
- laravel/homestead: ^5.4
- mockery/mockery: 0.9.*
README
A kick-starter project that pre-configures Doctrine, Twig, behaviours and some other stuff because bootstrapping projects with the same requirements is tedious.
Use this to kick-start a Doctrine based Laravel app.
- 1.X Laravel 5.2.* based project
- 2.X Laravel 5.3.* based project
- 3.X Laravel 5.4.* based project
Included are the following:
- Barryvdh Debugbar
- Barryvdh IdeHelper
- Beberlei Assert
- Doctrine
- Doctrine Behaviours
- Doctrine Domain Events
- Doctrine Entity Audit
- Doctrine Entity Validation
- Eloquent Enumerations
- Environment Loader
- HTML Builder
- Homestead
- Twig
- Twig Extensions
Entities
The default namespace is "App".
The following entities and matching repositories are provided, together with YAML mapping files, pre-configured:
- Address
- Country
- Organization
- Permission
- Role
- User
Each repository has an interface that is pre-mapped to the interface in the repository config.
Domain Events
The User and Organization entities support Domain Events:
- User Events
- UserCreated
- UserLoggedIn
- AddressAddedToEntity
- AddressRemovedFromEntity
- AuthenticationCredentialsChanged
- GrantedOrganizationToUser
- GrantedPermissionToUser
- GrantedRoleToUser
- RevokedOrganizationFromUser
- RevokedPermissionFromUser
- RevokedRoleFromUser
- Organization Events
- OrganizationCreated
- AddressAddedToEntity
- AddressRemovedFromEntity
Getting Started
composer create-project somnambulist/laravel-doctrine-project my-project
- setup your database settings / configure the other options
./artisan doctrine:schema:validate
./artisan doctrine:schema:create
./artisan db:seed
./artisan serve
- to use Vagrant, update the Homestead.yaml with the project location
vagrant up
- then use the artisan commands as above
The standard Laravel welcome app + authentication have been setup and converted to Twig.
Additional Helper Scripts
cache_build.sh
- creates caches for routes, container etc.cache_clean.sh
- clears all caches including Doctrine query cachesvagrant_db_reset.sh
- drops and rebuilds the database (for development only)vagrant_refresh.sh
- fully refreshes all applications files including composer update and npm install