1. Go to this page and download the library: Download glhd/conveyor-belt library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
glhd / conveyor-belt example snippets
class ProcessUnverifiedUsers extends Command
{
use \Glhd\ConveyorBelt\IteratesIdQuery;
// By setting $collect_exceptions to true, we tell Conveyor Belt to catch
// and log exceptions for display, rather than aborting execution
public $collect_exceptions = true;
// First, set up the query for the data that your command will operate on.
// In this example, we're querying for all users that haven't verified their emails.
public function query()
{
return User::query()
->whereNull('email_verified_at')
->orderBy('id');
}
// Then, set up a handler for each row. Our example command is either going to
// remind users to verify their email (if they signed up recently), or queue
// a job to prune them from the database.
public function handleRow(User $user)
{
// The `progressMessage()` method updates the progress bar in normal mode,
// or prints the message in verbose/step mode
$this->progressMessage("{$user->name} <{$user->email}>");
$days = $user->created_at->diffInDays(now());
// The `progressSubMessage()` method adds additional context. If you're in
// normal mode, this gets appended to the `progressMessage()`. In verbose or
// step mode, this gets added as a list item below your `progressMessage()`
$this->progressSubMessage('Registered '.$days.' '.Str::plural('day', $days).' ago…');
// Sometimes our command trigger exceptions. Conveyor Belt makes it easy
// to handle them and not have to lose all our progress
ThirdParty::checkSomethingThatMayFail();
if (1 === $days) {
$this->progressSubmessage('Sending reminder');
Mail::send(new EmailVerificationReminderMail($user));
}
if ($days >= 7) {
$this->progressSubmessage('Queuing to be pruned');
PruneUnverifiedUserJob::dispatch($user);
}
}
}
class ProcessSignUpSheet extends Command
{
use \Glhd\ConveyorBelt\IteratesSpreadsheet;
// Conveyor Belt will automatically pick up a "filename" argument. If one
// is missing you can set a $filename property or implement the getSpreadsheetFilename method
protected $signature = 'process:sign-up-sheet {filename}';
public function handleRow($item)
{
// $item is an object keyed by the spreadsheet headings in snake_case,
// so for example, the following CSV:
//
// Full Name, Sign Up Date, Email
// Chris Morrell, 2022-01-02, [email protected]
//
// Will result in a full_name, sign_up_date, and email property
// on the $item object. You can change from snake case to any other
// string helper format by setting $heading_format
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.