Introduction

Getting started with building an extension from scratch

Getting started with developing on titan

Getting started is easy, assuming you have followed the Installation correctly you should now have a super user account and be logged in.

Starting your first Extension is simple.

php artisan titan:extension:create

You will then be quizzed on a few questions regarding your extension so that we can pre generate some things for you.

All Extensions use the namespace Extensions\{Author}\{Name} where Author is the authors name and Name is the name of the extension for example, our extensions our namespaced as Extensions\Titan\HelloWorld because Titan is the Author and HelloWorld is the name of the extension

This will create a boiler plate extension

/extensions/publisher_name/extension_name
\__ resources/
\__ views
\__ admin
index.blade.php
AdminController.php
composer.json
InstallController.php
routes.php
ServiceProvider.php

AdminController

The admin controller is your entry point into the admin dashboard, the method index() should return a view.

composer

This is the composer.json file that contains information about your package, Titan also reads information from here. You may notice if you look into it that it was an extra section containing some meta about your package

InstallController

This is the entry point to hook into the install process of when the extension is installed. You will most likely run migrations, seed any settings

routes

routes.php contains your routes, it's recommended to wrap your extension routes in a group with a prefix

ServiceProvider

Without a Service Provider, Titan will not pick up your extension, it's the connect between the application and extension, you load your routes, commands, views and such here