Chatify
v1.6.x
Search
⌃K

Customizations

You may want to do your own customizations and modifications on the code such as the views or the controllers to add a new feature for example ... etc. so, all you need is to publish the required asset mentioned below and start your own customizations!

Package's assets

  • config
  • views
  • assets (js, css, imgs)
  • models
  • migrations
  • controllers
The following assets already been published during the installation process:
config, views, assets, models, migrations
only the controllers asset is not published until you do.

Publishing the assets

When you need to publish an asset, all you need is to run the following command :
php artisan vendor:publish --tag=chatify-<asset-name>
Change<asset-name> with the required asset name (e.g. config) to be like chatify-config

Controllers

You may want to do some modifications on the controllers of this package, so you need to follow the steps below:
  1. 1.
    Publish controllers asset
php artisan vendor:publish --tag=chatify-controllers
2. Go to config/chatify.php and from routes properties, change namespace to App\Http\Controllers\vendor\Chatify to be like the following:
config/chatify.php
...
'namespace' => env('CHATIFY_ROUTES_NAMESPACE', 'App\Http\Controllers\vendor\Chatify'),
same for api_routes, change the namespace to App\Http\Controllers\vendor\Chatify\Api
config/chatify.php
...
'namespace' => env('CHATIFY_API_ROUTES_NAMESPACE', 'App\Http\Controllers\vendor\Chatify\Api').
3. Go to app/Http/Controllers/vendor/Chatify and open MessagesController.php with your code editor .. then change the namespace to the same namespace specified in the step 2 above ..
the same for Api\MessagesController.php .
Thats all you need to do.
Now, You can work with package's controller and start your modifications.

Custom Chatify Class

When you want to override a method in ChatifyMessenger.php which is the main class of Chatify, then you have to follow the steps below:
  • Create a class in your Laravel application (e.g. CustomChatify.php).
  • inside your class, extend Chatify/ChatifyMessenger
// CustomChatify.php
<?php
//...
use Chatify\ChatifyMessenger
class CustomChatify extends ChatifyMessenger{
// Here, override the methods you want.
// For example:
public function fetchMessage($id, $index = null)
{
//...
}
}
  • Use your custom class CustomChatify at MessegesController.php for both web and api controllers if needed, instead of Chatify:
// MessagesController.php
<?php
namespace App\Http\Controllers\vendor\Chatify;
//...
use Chatify\Facades\ChatifyMessenger as Chatify; // instead of this (remove it)
use Path\To\CustomChatify as Chatify; // use this (yours), use the right path/namespace to your custom class.
//...
class MessagesController extends Controller
{
//...
}

Other Customizations

other customization such as
  • Messenger name.
  • Messenger colors.
  • Messenger Max upload size.
  • Messenger avatar.
can be done by the configurations section.
Last modified 2mo ago