|
2 éve | |
---|---|---|
.. | ||
composer.json | 2 éve | |
readme.md | 2 éve |
"illuminate/database": "^9.32" Создание объекта Capsule для установки соединения с БД:
$capsule = new Capsule;
$capsule->addConnection([
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'database',
'username' => 'root',
'password' => 'password',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
]);
"watson/rememberable": "^6.0" Сохранение статьи первого пользователя на 6 часов (360 минут):
User::first()->remember(360)->posts()->get();
"phpoffice/phpspreadsheet": "^1.25" Чтение и запись электронных таблиц в разных форматах.
"tecnickcom/tcpdf": "^6.5" Генерация PDF-документов.
"symfony/mailer": "^6.1" Отправляет SMS через API Twilio:
// Your Account SID and Auth Token from twilio.com/console
$sid = 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
$token = 'your_auth_token';
$client = new Client($sid, $token);
// Use the client to do fun stuff like send text messages!
$client->messages->create(
// the number you'd like to send the message to
'+15558675309',
[
// A Twilio phone number you purchased at twilio.com/console
'from' => '+15017250604',
// the body of the text message you'd like to send
'body' => 'Hey Jenny! Good luck on the bar exam!'
]
);
"aws/aws-sdk-php": "^3.237" Подключает к проекту сервисы Amazon:
// Настройка клиента для S3, указание региона и последней версии
$s3 = new Aws\S3\S3Client([
'version' => 'latest',
'region' => 'us-east-1'
]);
// Отправка запроса PutObject
$s3Client->putObject([
'Bucket' => 'bucket',
'Key' => 'key',
'Body' => 'body'
]);
// Загрузка объекта
$result = $s3Client->getObject([
'Bucket' => 'bucket',
'Key' => 'key'
]);
"sch-group/pickpoint": "^4.2" Обращается к PickPoint:
$config = [
'host' => '',
'login' => '',
'password' => '',
'ikn' => '',
];
$pickPointConf = new PickPointConf($config['host'], $config['login'], $config['password'], $config['ikn']);
$defaultPackageSize = new PackageSize(20, 20,20); // может быть null
$senderDestination = new SenderDestination('Москва', 'Московская обл.'); // Адрес отправителя
$client = new PickPointConnector($pickPointConf, $senderDestination, $defaultPackageSize);
"lapaygroup/russianpost": "*" Обращается к Почте России:
$objectId = 2020; // Письмо с объявленной ценностью
// Минимальный набор параметров для расчета стоимости отправления
$params = [
'weight' => 20, // Вес в граммах
'sumoc' => 10000, // Сумма объявленной ценности в копейках
'from' => 109012 // Почтовый индекс места отправления
];
// Список ID дополнительных услуг
// 2 - Заказное уведомление о вручении
// 21 - СМС-уведомление о вручении
$services = [2,21];
$TariffCalculation = new \LapayGroup\RussianPost\TariffCalculation();
$calcInfo = $TariffCalculation->calculate($objectId, $params, $services);
"hybridauth/hybridauth": "^3.8" Пакет для интеграции Facebook, Twitter, Google и т.д. Аутентификация через GitHub:
$config = [
'callback' => 'https://example.com/path/to/script.php',
'keys' => [ 'id' => 'your-app-id', 'secret' => 'your-app-secret' ]
];
$github = new Hybridauth\Provider\GitHub($config);
$github->authenticate();
$userProfile = $github->getUserProfile();
"yandex-market/yandex-market-php-partner": "^2.4" Подключение API Яндекс.Маркета:
// Указываем авторизационные данные
$clientId = '9876543210fedcbaabcdef0123456789';
$token = '01234567-89ab-cdef-fedc-ba9876543210';
// Создаем экземпляр клиента с базовыми методами
$baseClient = new \Yandex\Market\Partner\Clients\BaseClient($clientId, $token);
// Магазины возвращаются постранично
$pageNumber = 0;
do {
$pageNumber++;
// Получаем страницу магазинов с номером pageNumber
$campaignsObject = $baseClient->getCampaigns(['page' => $pageNumber,]);
// Получаем итератор по магазинам на странице
$campaignsPage = $campaignsObject->getCampaigns();
// Получаем количество магазинов на странице
$campaignsCount = $campaignsPage->count();
// Получаем первый магазин
$campaign = $campaignsPage->current();
// Печатаем идентификатор и URL магазина, затем переходим к следующему
for ($i = 0; $i < $campaignsCount; $i++) {
echo 'ID: ' . $campaign->getId();
echo 'Domain: ' . $campaign->getDomain();
$campaign = $campaignsPage->next();
}
// Получаем информацию о страницах. Возвращаемое количество страниц может увеличиваться
// по мере увеличения номера страницы. Последняя страница будет достигнута,
// когда вернется количество страниц, равное номеру текущей страницы
$campaignsTotalPages = $campaignsObject->getPager()->getPagesCount();
} while ($pageNumber != $campaignsTotalPages);
"trustly/trustly-client-php": "^2021.1" Подключение онлайн-платежей:
/* Change 'test.trustly.com' to 'trustly.com' below to use the live environment */
$api = new Trustly_Api_Signed(
$trustly_rsa_private_key,
$trustly_username,
$trustly_password,
'test.trustly.com'
);
$deposit = $api->deposit(
"$base_url/php/example.php/notification", /* NotificationURL */
'john.doe@example.com', /* EndUserID */
$messageid, /* MessageID */
'en_US', /* Locale */
$amount, /* Amount */
$currency, /* Currency */
'SE', /* Country */
NULL, /* MobilePhone */
'Sam', /* FirstName */
'Trautman', /* LastName */
NULL, /* NationalIdentificationNumber */
NULL, /* ShopperStatement */
$ip, /* IP */
"$base_url/success.html", /* SuccessURL */
"$base_url/fail.html", /* FailURL */
NULL, /* TemplateURL */
NULL, /* URLTarget */
NULL, /* SuggestedMinAmount */
NULL, /* SuggestedMaxAmount */
'trustly-client-php example/1.0' /* IntegrationModule */
FALSE, /* HoldNotifications */
'john.doe@example.com', /* Email */
'SE', /* ShippingAddressCountry */
'12345', /* ShippingAddressPostalCode */
'ExampleCity', /* ShippingAddressCity */
'123 Main St' /* ShippingAddressLine1 */
'C/O Careholder', /* ShippingAddressLine2 */
NULL /* ShippingAddress */
);
$iframe_url= $deposit->getData('url');
Example notification processing
$request = $api->handleNotification($notification_body);
# FIXME Handle the incoming notification data here
$notifyresponse = $api->notificationResponse($request, TRUE);
"phpunit/phpunit": "^9.5" Объект для модульного тестирования:
class StackTest extends TestCase
{
public function testPushAndPop()
{
$stack = [];
$this->assertSame(0, count($stack));
array_push($stack, 'foo');
$this->assertSame('foo', $stack[count($stack)-1]);
$this->assertSame(1, count($stack));
$this->assertSame('foo', array_pop($stack));
$this->assertSame(0, count($stack));
}
}