hwa-tools is a helper package. It helps us to build and develop faster with pre-built functions. This saves a lot of time on future projects.
We share this package to give programmers an extra useful library. We hope people use this package not for commercialization or profit of any kind.
And finally, hope to receive more contributions and shares from all of you.
Thank you very much 🧡
- You can install the package via composer:
composer require hoangphi/hwa-tools
- Optional: The service provider will automatically get registered. Or you may manually add the service provider in your
config/app.php
file:
'providers' => array(
// ...
HoangPhi\HwaTools\Providers\HwaToolServiceProvider::class,
);
- You can customize the
config/hwa_tools.php
config file . If you customize fileconfig/hwa_tools.php
. You need to run the command below to clear cache and update the changes.
php artisan config:cache
# or
php artisan optimize:clear
You can view the default config file contents at:
https://github.com/hoangphidev/hwa-tools/blob/master/config/hwa_tools.php
Since this is a package with helper functions, after installing the package into the project, people can call the helper functions everywhere in the project.
Here are some helper functions we've built:
- Commons
app_name(); // Get website name, project name - Ex: Laravel
activate_status(); // Get status activate - Ex: 1 - activate
deactivate_status(); // Get status deactivate - Ex: 2 - deactivate
gender_male(); // Get gender male - Ex: 1 - male
gender_female(); // Get gender female - Ex: 1 - female
page_limit(); // Get page limit default in pagination - Ex: 12
check_active_menu($menu, $url); // Check active menu. $menu is router menu
- Datetime
current_day(); // Get current day - Ex: 01
current_month(); // Get current month - Ex: 07
current_year(); // Get current year - Ex: 2021
current_date(); // Get current - Ex: 2021-07-01 00:00:01
current_date('H:i:s d/m/Y'); // Get current date with format - Ex: 00:00:01 01/07/2021
custom_date('2021-07-01 00:00:01', 'H:i:s d/m/Y'); // Get customer date with format - Ex: 00:00:01 01/07/2021
custom_date('2021-07-01 00:00:01', 'H:i:s d/m/Y', 'en_EN'); // Get customer date with format and locale for diffForHumans - Ex: 00:00:01 01/07/2021 or 1 seconds or 1 minutes.
get_list_timezones(); // Get list timezones - response array
- Images
storage_folder_path('users'); // Check and create folder if not existed in storage.
storage_image_path('users', '1.jpg') // Check and get image from image storage path.
storage_image_url('users', '1.jpg') // Get public asset url image from storage.
- Ip info
get_user_agent(); // Get user agent
get_current_ip(); // Get current client ip
get_ip_info('127.0.0.1'); // Get info ip from http://api.ipstack.com
get_client_ip(); // Get client ip from https://ipinfo.io
code_to_country('EN'); // Convert country code to country name. Ex: EN to English
get_os(); // Get OS client using
get_client_browser(); // Get client browser using
get_device(); // Get client device using
get_country_list(); // Get list country world
get_list_currency(); // Get list currency
- Response API
send_ok_response('Message.', ['name' => 'Phi Hoang', 'phone' => '0989324221']); // Response normal with param 1 is message, param 2 is object or array data.
send_ok_response('Message.', '<paginate_items_object>', true); // Response with param 1 is message, param 2 is data paginate include results with meta, param 3 is boolean true to paginate.
send_created_response('Message.', 1); // Response with code 201 - param 1 is message, param 2 is id.
send_error_response('Message', 400); // Response error with code 400 is default. Message compare with code [401, 404, 403, 500].
This tool helps you to easily manage the extended data fields of certain objects.
- Create Meta Class with command.
Example: We need CustomerMeta. This tools help us make model file and migration file.
php artisan hwa:make:meta Customer -m
The above command we have added -m to create the migration file.
- Add allow type to
config/hwa_tools.php
'allow_type' => [
.....
'customer' => ['id', 'customer_id'],
],
- You need to run the command below to clear cache and update the changes.
php artisan config:cache
# or
php artisan optimize:clear
- Run command to migrate the meta migration file to database
php artisan migrate
After completing the above configuration steps you can use the methods available in the meta model in the classes you want.
// Example
CustomerMeta:_update(1, 'gender', 'male'); // update or add new gender for customer has id is 1
Beside the functions and methods we have built, people can also build their own by inheriting our classes.
Please see CHANGELOG for more information what has changed recently.
If you discover a security vulnerability within hwa-tools, please send an e-mail to Phi Hoang via [email protected]. All security vulnerabilities will be promptly addressed.
The Laravel framework is open-sourced software licensed under the MIT license.