Similar Posts
Testing with Service Container
The backbone of Laravel is service container. Service container is used for resolving classes and dependency injection. Container comes as a standalone package, so you don’t have to have Laravel installed to use it. Service container can be very handy when testing. Let’s look at how we can use it . Our basic set up…
Stream Filter
In php one can use filters with streams. Sometimes it can become handy. Let’s say you open a .csv file as a stream, but this file is tab separated. Your program can can process coma separated csvs, but not tab separated. This is a good use case for a stream filter, because it can make replacements…
Large CSV Export
Sometimes you need to export a large amount of data from your database. Obviously, if you are going to accumulate all data in an array and then write it to a csv file, you will eventually run out of memory. A better solution is to use streams. Here is how you can export data from…

Custom Mail Driver for Laravel
Out of the box Laravel supports many mail drivers, such as smtp, sendmail, mailgun, log, array, etc. But what if you wold like to use a mail service that Laravel does not have a driver for, such as Mailjet? You can create a custom driver for that service. This article will describe how to create…
Replace Funky Characters While Importing CSV
Sometimes uploaded text/csv file may have non-utf8 or other funky characters using the function below. public static function processUploadedBundles($request) { $content = file_get_contents($request->file(‘uploadedFile’)->getRealPath()); $lines = explode(PHP_EOL, $content); $array = []; foreach ($lines as $line) { $arrayCsv = str_getcsv($line, “,”); $arrayCsv = array_map(function($value){ return preg_replace(‘/[\x00-\x1F\x7F-\xFF]/’, ”, $value); }, $arrayCsv); $array[] = $arrayCsv; } return $array; }…