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
configviewsassets(js, css, imgs)modelsmigrationscontrollers
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>Controllers
You may want to do some modifications on the controllers of this package, so you need to follow the steps below:
Publish
controllersasset
php artisan vendor:publish --tag=chatify-controllers2. Go to config/chatify.php and from routes properties, change namespace to App\Http\Controllers\vendor\Chatify to be like the following:
...
'namespace' => env('CHATIFY_ROUTES_NAMESPACE', 'App\Http\Controllers\vendor\Chatify'),same for api_routes, change the namespace to App\Http\Controllers\vendor\Chatify\Api
...
'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
CustomChatifyatMessegesController.phpfor both web and api controllers if needed, instead ofChatify:
// 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 updated
Was this helpful?