Skip to content
Bojan edited this page Mar 13, 2018 · 3 revisions

Start by creating git repository and installing skeleton in composer $ cd ./some-dir/ $ git init . $ composer create-project pckg/skeleton new-project-name dev-master

Create new pckg app. This will create app/example/config/, app/example/src/ and app/example/src/Example.php which holds your project definition. Script will also create app route in config/router.php. $ php console app:create example

Continue by adding index route to provider. public function routes() { return [ 'homepage' => route('/', function(){ return 'It works :)'; }), ]; }

Note that Example.php is just a Provider, which should include other providers and those should define actual routes. We want to simplificate things so we put route definition directly in our app provider, without even creating controller.

Otherwise that's it, you've created first page in pckg framework. You can continue with creating:

  • Providers (they basically hold functionality definitions)
  • Controllers (route entry points responsible for logic and action response)
  • Entities and Records (database communication)
  • Middlewares and Afterwares (pre-request and pre-response action handlers)
  • Migrations (for database, config and other on-fly or manual migrations)
  • Resolvers (for automatic route parameter mapping)
  • Consoles (console commands)
  • Events and Handlers (for event driven development)
  • Tests (for test driven development)
  • Views (for templates)

Additionally we created few packages for even faster development:

  • Translator
  • Migrator
  • Database
  • Generic
  • Collection
  • Htmlbuilder
  • Cache
  • Locale
  • Queue
  • Auth
  • Cache

Also, check for services built on top of pckg framework:

Framework

Environment

Development

Production

Console

Application

Website

Console

Config

Cache

Provider

Router

Request

Response

View

Console

Reflect

Database

Repository

Entity

Record

Relation

Extensions

Migrator

Table

Field

Constraint

Manager

Asset

Meta

SEO

Vue.js

Collection

Concept

Htmlbuilder

Auth

Payment

Backend

Backend libraries

Frontend

Frontent libraries

Helpers JS

.js helpers

Helpers LESS

.less helpers

Generic

Generic functionality.

Dynamic

Dynamic tables.

Apps

Queue

Queue management.

Tempus

Timetracker.

Import

Import app.