Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
$ composer require akanunov/easy-sms-bundle
This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.
Then, enable the bundle by adding it to the list of registered bundles
in the app/AppKernel.php file of your project:
// app/AppKernel.php
// ...
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = [
// ...
new Akanunov\EasySmsBundle\AkanunovEasySmsBundle(),
];
// ...
}
// ...
}
# app/config/config.yml
akanunov_easy_sms:
gateways:
aliyun:
access_key_id: "%aliyun_access_key%"
access_key_secret: "%aliyun_key_secret%"
sign_name: "%aliyun_sign_name%"
default:
gateways: ['aliyun']
For more details on the other parameters, take a look at the Easy SMS documentation.
Update configuration file:
# app/config/config.yml
akanunov_easy_sms:
gateways:
mygateway:
api_key: "%mygateway_api_key%"
default:
gateways: ['mygateway']
custom_gateways:
mygateway:
gateway_class: App\EasySms\Gateways\MyGateway
configuration_factory_class: App\DependencyInjection\Factory\Gateway\MyGatewayFactory
Create gateway configuration factory:
<?php
namespace App\DependencyInjection\Factory\Gateway;
use Akanunov\EasySmsBundle\DependencyInjection\Factory\GatewayFactoryInterface;
use Symfony\Component\Config\Definition\Builder\NodeDefinition;
class MyGatewayFactory implements GatewayFactoryInterface
{
public function addConfiguration(NodeDefinition $node)
{
$node
->children()
->scalarNode('api_key')
->isRequired()
->cannotBeEmpty()
->end()
->end()
;
}
}
How can I help you explore Laravel packages today?