Category: Laravel

  • SSH Key Set Up for Multiple GitHub Accounts

    A great article on how to set up and manage ssh keys for multiple github accounts/repositories SSH Keys with Multiple GitHub Accounts

  • Debugging Webhooks

    Debugging Webhooks

    A webhook is an HTTP callback, that occurs when something happens (a resource changes its state). Webhooks provide a way to build event-driven apps, because you can be notified about changes. Since webhooks require a publicly accessible URL to function they can be hard to test from your local machine.  There are three main problems…

  • 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…

  • Using Local and Public Disks

    Having vagrant run on Windows host machine may cause some problems with symbolic links. After trying to make symbolic links to work and failing, I decided to use public disk in development and local disk in production. php artisan storage:link makes symbolic link from “public/storage” to “storage/app/public”.  When developing on windows-vagrant this command will not work properly,…

  • Laravel Jenkins CI

    This article covers installation of Jenkins on Ubuntu server and its usage to continuously integrate a Laravel application.  Besides LAMP/LEMP stack we need to install Java, Git, Composer, and Node to successfully use Jenkins. Before starting to install this software, let’s take care of miscellaneous  stuff. Miscellaneous (can skip this). Create mysql user and database.…

  • Laravel: Getting Authenticated User Early in the Controller

    Sometimes there is a need to access the authenticated user in your controller.  If you do it in several methods in your controller, it makes sense to put the code in the constructor.  Unfortunately, the code below will not work. This happens because the request is not injected into the controller at the time of…

  • Composer: Path Repositories

    When working on a php package it is inconvenient to push the package to github (or other repository) and then wait for the package to update using composer update.  For package development, composer has such feature as path repositories.  Let’s imagine we have a two folders on the same level:  my-app and  package.   my-app is an app — a test…

  • Adding Virtual Box Bridged Network Adapter to Laravel Homestead

    Vagrant allows you to configure bridged network adapter, so your vagrant(homestead) box can be seen on local network.  I order to make this possible by adding a line of code to homestear.rb script in scripts folder. I opted to add this line after the following code. if settings.has_key?(“networks”) settings[“networks”].each do |network| config.vm.network network[“type”], ip: network[“ip”], bridge: network[“bridge”]…

  • Running Artisan Command as a Separate PHP Process in Laravel

    In Laravel framework you can create commands and call them from php application.  One command can call another command, and another command, and so on.  But if an exception is thrown in one of the commands in this chain the whole chain breaks.  In order to avoid this problem and run each artisan command as…