PHP
Article

Sourcehunt: Cron Management, Hackathon Starters, PHP-GUI…

By Bruno Skvorc

Sourcehunt

Ready for a new edition of sourcehunt? Get those starring-fingers ready!

Sourcehunt logo

lavary/crunz [15 ★]

crunz is a Laravel scheduler-inspired cron manager for PHP, fully framework agnostic and independent.

In many ways, it’s similar to Jobby and cron-manager, so we’ll leave the comparisons up to you… for now.

Laravel Hackathon Starter Kit [777 ★]

We’ll let the README take over here…

If you have attended any hackathons in the past, then you know how much time it takes to get a project started: decide on what to build, pick a programming language, pick a web framework, pick a CSS framework. A while later, you might have an initial project up on GitHub and only then can other team members start contributing. Or how about doing something as simple as Sign in with Facebook authentication? You can spend hours on it if you are not familiar with how OAuth 2.0 works.

Even if you are not using this for a hackathon, Laravel Hackathon Starter is sure to save any developer hours or even days of development time and can serve as a learning guide for web developers.

Laravel Hackathon Starter is a boilerplate application developed with Laravel 5.2 to keep you ahead in hackathons.

In many ways this is a sample application not unlike the recently released Laravel Spark, but with a the more features the merrier mindset, designed to get people up and running with an MVP in seconds. This starter kit was inspired by Sahat’s NodeJS starter kit.

Fakerino [56 ★]

The work of our author, Nicola Pietroluongo, Fakerino is an alternative to the popular Faker library for generating fake data for your apps during development. Some of its main features are:

  • Fake complex data (e.g. person: name, surname, hobby, country, … ).
  • Fake single data (e.g. name, surname, integer, text, …).
  • Fake data in different languages.
  • Fake regular expression data (e.g. url => /www\.\w+\.com/).
  • Fake data multiple times.
  • Fake a database table row/s with one line of code.
  • Fake a Twig string or file automatically (e.g. Hello Mr {{ surname }})
  • Fake a PHP object/entity in one line of code (fills public properties and setters with fake data).
  • Support JSON, array and string output.
  • Support array, Yaml, XML, PHP, Txt and Ini configurations.
  • Fake from command line interface.

We’ll take a better look at this library in a future post.

themsaid/laravel-langman [398 ★]

In a vein not dissimilar to our own with nofw, laravel-langman offers a command-line interface for adding and editing languages for multi-language Laravel applications.

As Laravel doesn’t use the native gettext by default, this package needs a different approach to managing the language files. As such, it works great with laravel-translation-manager.

We’ll take a more in depth look at multi-language Laravel apps in a future post.

phpthinktank/blast-orm [33 ★]

Blast-orm is a framework-agnostic easy-to-use ORM package based on Doctrine2 DBAL. It offers:

  • Data and relation mapping
  • Decoupled entities as POPO’s (Plain-old PHP objects)
  • Auto-Suggesting entity definition as well as configure custom definition
  • Data hydration to entity and vice versa
  • Repository contracted to a single entity class
  • Integration of fields from definition
  • Field type aware converting

It remains to be seen how much better / worse this is than alternatives like Propel or CakeORM – both excellent and very approachable solutions – so if you’d like to do this analysis for us, please get in touch!

gabrielrcouto/php-gui [1243 ★]

This crazy thing lets PHP developers build desktop apps (full window frame and all) with just PHP – no additional extensions or third party system libraries needed. As the README says:

This project aims to solve the most common problems of existing “GUI Projects”:

  • The need for installing an extension
  • Cross platform
  • No external dependencies
  • Easy to install (composer require php-gui) / Easy to use ($button = new Button)

To accomplish this, the library uses a Lazarus app, a Free Pascal binary developed for this specific purpose. You can read more about the science behind it in the docs.

One caveat is that you still need PHP installed on the machine you want to run the app on, so that’s definitely a dealbreaker for some (I, for instance, don’t have PHP on my host machine – only in my VMs). What can we say other than that we eagerly await the day when we’ll be able to bundle the PHP runtime with developed desktop apps!

snapshotpl/lazy-container [11 ★]

This package lets you “get [a] lazy loadable object from any interop container!”

What that means is you can plug it into any app using a container respecting container-interop, and the container will gain the ability to return objects lazily.

What that means is that if you have a super-heavy service, one that needs a bunch of dependencies and sub-services to become usable, you probably don’t want it instantiated at application boot time, but only once it’s needed, if at all. This addon lets you refer to the service as a proxy, a fake shell of its real self, until it’s actually needed. Only once a method is called on it will it be fully built and returned. Performance, yay! If this isn’t something you’d be interested in contributing to, I’d love it if you could add this into nofw!

Idnan/tweet-cli [8 ★]

This experiment lets you tweet directly from the command line. The purpose of this package remains questionable, but it’s a nice proof of concept and can be used for experimenting with the Twitter API and command line apps in general.

The tool is just a cUrl wrapper, so feel free to study it and/or suggest addons in the form of proper HTTP clients, SQLite support for username/password saving, and more.

https://github.com/neveldo/TextGenerator [11 ★]

Generates text from templates and pre-supplied data:

  • Text generation from template
  • Tags replacement
  • Text functions (core functions : random, shuffle, if, loop)
  • Nested function calls
  • Skip parts that contain empty values to prevent inconsistency in the generated text

In a nutshell, you provide the package with a template, and then with some variables to interpolate, and it’ll execute the replacements. Unlike a typical template engine, however, this generator will randomize, loop, and customize the output with various utilities. If you find a real use for this, do tell – we’re curious to find out.


That’s it for April – as always, please throw your links at us with the hashtags #sourcehunt and #php – here’s the link to the combination. Naturally, if you’d like to sourcehunt a project written in another language, alter accordingly.

Happy coding!

  • https://devedge.eu/ Peter Petermann

    uhm, most containers do the lazy loading stuff for the services they contain themselves, or am i missing something?

Recommended

Learn Coding Online
Learn Web Development

Start learning web development and design for free with SitePoint Premium!

Get the latest in PHP, once a week, for free.