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!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.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
You may want to do some modifications on the controllers of this package, so you need to follow the steps below:
- 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.
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
atMessegesController.php
for 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 customization such as
- Messenger name.
- Messenger colors.
- Messenger Max upload size.
- Messenger avatar.
Last modified 2mo ago