The New Myth family: SprintPHP Bonfire Practical CodeIgniter 3

New Myth Media Blog

Serving the New Myth Media Family.

Practical CodeIgniter 3 Released

My new book about making the most of CodeIgniter 3 is out!

I started coding up Sprint on September 11, 2014, at least that's the date of the first commit. Here we are, just barely over 3 months later, and I thrilled to announce that the project has reached ALPHA state!

I know, it's kinda strange to be excited about an Alpha release, but there it is, still. It's been a lot of work to get here but I'm mostly thrilled with the systems that are in place and feel it's a huge boost in productivity for anyone that might use it.

What's New?

Since the last time that I mentioned Sprint I've managed to get everything on this short list at the bottom in place, and then some. Here's the big updates.

Auth

A new Authorization system is in place that allows for very flexible group/permissions and allows users to be in more than one group (finally!). We don't call them roles, since the groups are flexible enough you could create one for a group of beta testers, or a secret place on your blog to organize your kids birthday party. And still manage the admins, moderators, editors, etc.

To make it easy to protect your controllers, I've introduced the AuthTrait that provides convenient methods to restrict current user's access, and can be attached to any controller or library you might need it in.

System Events

An Events system is available that allows you to easily tap into existing events that Sprint publishes, or publish your own. All without modifying any core files.

Cron System

A cron system is in place that allows you to easily schedule actions to happen, whether those actions are in a library or some other fully-namespaced file. You still need to setup a cronjob on your server to hit your application, but then this will take care of the rest. It even has a CLI-based interface for when you're app is acting up and you need to ssh into the server and suspend one or more cronjobs until you get things fixed up.

The Forge

Speaking of the command-line, an all new code generator, the forge is now ready. It's CLI-only in Sprint, but very flexible and simple to use. Takes full advantage of the upgraded CLI tools to ask you for details if you don't remember the right parameters, and will even build out migrations and models from existing database tables. Designed to encourage you to create your own custom collections with generators specific to your workflow or company standards.

Flexible Email System

I couldn't leave well enough alone, and added an email system and queue to project. It works great with the system events, is fully themeable (and ships with a generic theme based on Zurb Ink, and mega-flexible.

UIKits

A good beginning on UIKits is in place that allows you to create views that will work no matter what front-end CSS framework you're using. This is best used inside of Forge generators or views in packages that you will reuse. Currently ships with UIKits for Bootstrap 3 and Foundation 5. Since I'm looking into use it for Bonfire Next, there's a strong possibility that support for Semantic-UI will show up in the near future.

What's Next?

So what does Alpha mean, anyway? It means that all of the features that I intend on having in the first release are in place, but they may have bugs, documentation errors, etc. Before the Beta release I will be adding additional tests to the system, additional docs, and trying to verify that docs are correct, and possibly streamlining some code or implementing some todos in the code I missed. If you use the project and find changes to the code or docs, pull requests are accepted :) Preferably with tests in place, though I won't be enforcing that at this point.

Oh, yeah, and creating a site for it. Know any designers that want to work for free? :)

Get Started Today

Download it and start exploring. I'm sure you'll find plenty of power for your next project, but if you have any ideas, suggestions or issues, please report them.

P.S. There's Docs Oh - I almost forgot. Once you download it, just visit /docs on your site to view the current docs. They're always included with your downloads.