Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

ixudra's avatar

Feedback wanted: custom Laravel 4/5 packages

Hi all

I have been working with Laravel since before the release of Laravel 4, give or take 2 years now and I have never regretted it for even one second. During this time I have continuously changed and refined my approach and methodologies in order to increase efficiency, save time, increase productivity,... One component of this procedure was the creation of several custom packages, specifically for Laravel.

Although these packages are heavily focused on my personal workflow, all of them are publicly available on Github and Packagist. Unfortunately, most (if not all) of them have been unnoticed by the community, mostly because I created them for personal use and never tried to advertise them.

With this post, I would like to formally present them to the community for two major reasons:

  • Help other people with their projects
  • Learn from others so I can improve my skills as well as my approach
  • Invite/encourage others to help me implement and improve these packages

Therefor, I would greatly appreciate it if you could take a look at one or more packages I have created so far and give me some feedback, no matter how small it can be. It will truly help me improve both myself as well as the packages so that hopefully they might be helpful for you or someone else in the (near) future.

ixudra/core

Link: Github

Description: Custom PHP Core library for the Laravel 5 framework. This package contains several base (abstract) classes that contain several features that I use in pretty much all projects I do. By putting them in one package, I hope to save a lot of time which would otherwise be spent copy-pasting them in all my projects.

Usage: Can be used in pretty much any project. All classes can be used stand-alone and can be extended at will

Production-ready: Yes

Work-in-progress:

  • /

ixudra/curl

Link: Github

Description: Custom PHP curl library for the Laravel 4/5 framework. This package contains an easy-to-use wrapper around the CURL functionality that is available in PHP. It also contains a facade which allows the user to easily access both GET and POST methods without too much hassle.

Usage: The package does not have any dependencies and thus can be used in pretty much any project.

Production-ready: Yes

Work-in-progress:

  • Add utility methods for JSON requests instead of parameters

ixudra/csi

Link: Github

Description: Custom PHP exception management library for Laravel 4 projects. This package provides an easy-to-use module that can be included into projects in order to monitor exceptions that might occur on production (or other) environments. The package will catch any exception that might be thrown in the application, generate a report for later review, send it to the API and re-throw the exception so the application can handle exceptions as intended. As admin, you will then be able to check on the exception information and make changes to the code if necessary.

Usage: Can be used in any project. It is worth noticing that this package only contains the mechanism to detect, capture and send the exception data. This package requires additional implementation with regards to how to process the exception information.

Production-ready: Yes

Work-in-progress:

  • Upgrade for Laravel 5
  • Create secondary package for information capture and processing

ixudra/translation

Link: Github

Description: Custom PHP translation library for Laravel 4/5 projects. This package contains an easy-to-use translation interface that builds upon the existing Laravel language features. The most significant addition is the option to recursively search for translations in order to reduce the amount of repetition in your language files.

Usage: Can be used in any project

Production-ready: Yes

Work-in-progress:

  • Add support for nested parameter search

ixudra/generators

Link: Github

Description: Custom PHP resource generation library for the Laravel 4/5 framework. This package is similar to Jeffrey Way's resource generation package but allows for more configuration options. It allows for users to add any number of documents/classes they want via the configuration files and provides them with up to 8 variables which they can use to configure their custom files. All templates can also be customized and improved upon at will. By default, the package provides you with custom classes as well as unit tests and views using Twitter Bootstrap 3

Usage: Can be used in any project. It is worth noticing that the default templates created in order to support my own custom workflow. The default templates assumes a specific file structure and the usage of the ixudra/core package. However, these are not hard requirements: all of this can be changed by customizing the templates and the package configuration files

Production-ready: Yes

Work-in-progress:

  • use league/flysystem for file management
  • create missing folders if they don't exist

ixudra/validation

Link: Github

Description: Custom PHP validation library for Laravel 4/5. This package provides several useful validation methods that I have encountered during my years as Laravel developer. These methods can easily be added to the existing Laravel Validator classes in order to increase the validation options at your disposal

Usage: Can be used in any project

Production-ready: Yes

Work-in-progress:

  • Add more validation classes and/or methods (none planned at the moment)

ixudra/ixd-template

Link: Github

Description: Custom project template for Laravel 4/5. This package contains a complete installation of the Laravel framework and is further augmented with additional classes, files and directories that I often/always use in my projects. Some examples are packages in composer.json, Codeception files, Twitter bootstrap, Javascript libraries, useful routing filters,... The objective of this package is to jumpstart the implementation of a new project with the least amount of overhead possible.

Usage: Can be used in any project but might need some customization depending on your personal flavor

Production-ready: Yes

Work-in-progress:

  • Add Grunt/Bower for Javascript/CSS/SASS resources
  • Add script that takes care of some menial setup tasks

I have several others packages available but those are nowhere near completion. Feel free to look into them but know that anything you see is subject to change at any point in the future.

If you have any additional questions, tips, remarks with regards to these packages, feel free to get in touch via this thread or via my email (jan.oris@ixudra.be).

0 likes
8 replies
olimorris's avatar

So first thought is that there are some of these I will probably start incorporating into my workflow from tomorrow, namely the generators and the validation.

Big downside from what I can see so far is the documentation. I only know what validation methods you have available after sifting through your source code. Same with the generators too - it's only because I looked at your output txt files that I know what it can do.

It hasn't put me off but there may be a lot of people who don't even get much further than your readme.

Well done though I'm super excited about giving these a whirl ;-)

RemiC's avatar

I'll have a look at your package @Elimentz , and see if I can provide some feedback ;)

I think one of the downside we had since Laravel 4 introduced composer, was the explosion of the Laravel packages ecosystem. If you watch packalist, there is litteraly a dozen of new packages everyday. When looking for a package solving a specific problem, you must work your way through 10 packages that does the same thing.

I kind off miss the good old Laravel 3's bundle page. :)

A community currated & categorized website of Laravel packages would be a good thing I think. I might start building one, if anyone's interested in collaborating in such a project.

ixudra's avatar

@bashy Thanks, that means a lot coming from such an active member of the community :-)

@olimorris Cool, I hope they will prove useful to you! I see your point with regards to documentation but it seemed kind of overkill to describe every single feature, especially for the generators package since the templates change on a regular basis. In your opinion, how far should I go with documentation in order to make it more appealing?

@RemiC Thanks for taking the time, I look forward to what you have to say :-)

RemiC's avatar

@Elimentz : you're welcome, i'll try to provide some advice through github issues ;)

About documentation, providing a quick description of what your package does, along with short code snippets, might be enough for a start.

Jordi Boggiano had a really fun statement at PHP UK Conf about composer package in general, which is quite true I think, about the fact that a lot of package only go as far as install instruction ('come on guys, we all know how to install a composer package :) ').

If you're interested in package development, this talk is a must : https://www.youtube.com/watch?v=mNFKZeYRdto&index=10&list=PL_aPVo2HeGF_VdlTpUF6ViNgLC7Raph0i

ixudra's avatar

@RemiC Interesting talk (only a shame that Jordi is not a particularly good speaker... makes it hard to listen)

With regards to documentation: I already provide at least one usage example for every package I make, which hopefully is enough to help people get started. However I don't cover every single option, so I was just curious how far @olimorris would prefer I go in this :-)

RemiC's avatar

@Elimentz : I agree, he goes a bit too fast at some point. Had to rewind a few times. Still great advices in there.

ixudra's avatar

@olimorris I updated the documentation of the ixudra/validation package, it now contains a list of all available validation rules including a description of what the rules do. I hope this is what you were looking for :-)

Any other feedback on any of the packages listed above is still very much welcome.

Please or to participate in this conversation.