Thursday, September 28, 2017
I'll probably be focusing my efforts on the Yii front there, since it's a project that I use daily and am not sure how I lived without it before ... What are you passionate about and willing to sacrifice a little personal time to see thrive?
Saturday, March 19, 2016
It's a fairly straight forward extension, simply providing access from the application to a Swivel component which interacts with the core Swivel library, and which handles the general bucket assignment for users as swivel is accessed. I've also provided a class for integrating the existing Swivel logger over to the primary Yii Logger, and provided a data structure and model for storing the list of features for the application.
The extension is available on the Yii Framework Extensions list, from the GitHub repository or as a composer package.
It's really designed to be installed via composer:
composer require "dhluther/yii-swivel":"~1"
I've tried to keep it lean, but provide a good bit of information about how to implement it and how the Swivel features work on the Yii-Swivel Wiki on GitHub.
I will be creating a 2.0 version shortly as well.
Enjoy! I hope others find it as useful as I think I am going to, and huge props to the Zumba team that developed it and to Stephen Young and his presentation at SunshinePHP 2016!
Sunday, February 7, 2016
I wanted to take a few minutes and share some of my hot takeaways from the weekend.
- Docker - If you don’t know what it is yet, you need to go check it out. Docker is "an open platform for distributed applications for developers and sysadmins." Docker enables you to quickly compartmentalize processes on your server, while leaving them with access to the same base OS. Through port forwarding, shared folders and other means (built in and easily configurable), you can enable those processes to communicate. This is useful when you want to test a single application installation against multiple versions of PHP or multiple versions of MySQL. It’s also useful when you are trying to standardize a development platform or delivery system. In fact, there are so many potential uses for this technology in streamlining and standardization that I can’t even begin to recount them all. Long story short - if you haven’t looked at it yet, do so. If it still doesn’t make sense after reading about it, ask ;)
- Swivel - Ok, this is pretty cool - the guys over at Zumba fitness have come up with a slick library for strategy driven, segmented feature toggles. These allow you to release new features in Canary Releases, perform A/B testing, and implement the features in a way that keeps the traditional feature flag system’s potential complexity from overloading your codebase and leading to a lot of technical debt. Swivel is currently limited to a 10 cohort (or buckets as they call it) system, which you evenly split your users into, giving you 10% user base segments for whatever feature you’re going to test or release. They currently have a CakePHP plugin for it, and I’m looking forward to working on a Yii extension for it.
- Team City - Who knew?? JetBrains has a CI product. I guess I’ve kept the blinders on PHPStorm for so long (which I love and don’t know how I lived without), that I missed the news on this one. I haven’t looked into the details yet, but the PHPStorm developers that were at the conference said they couldn’t make PHPStorm without it, and that’s enough of a recommendation for me!
Thursday, December 10, 2015
Friday, December 4, 2015
For example, in Yii 1.1.*, I have a handy action that is called if a user needs to retrieve their password from the database. It was written well back, around 1.0.6-ish, but still gets the job done nicely. Look up the user by the posted email, if the user is found, send the user an email and set a success message, otherwise, set an error message. Once that's done, redirect the user to the previous page. Otherwise, notify them that there was an error and keep going on.
When I converted this particular action to Yii2 it kept losing my flash messages. If I took out the redirect after successfully processing and sending the email, it was fine -- but I need the redirect to prevent inadvertent multiple form submissions etc. What to do?!? After scouring the internet and Yii forums, and finding multiple instances of people complaining about it not working but no good solutions or notes other than 'working as intended', I finally - FINALLY - realized that it is the redirect method itself that is, while stopping any output to the screen, not actually stopping the currently processed action. If I was more observant, I would have noticed it in the example of a controller redirect here: http://www.yiiframework.com/doc-2.0/guide-structure-controllers.html
Tuesday, November 11, 2014
Saturday, April 19, 2014
Probably my biggest hurdle in getting started with Yii 2.0 (aside from getting my hosting company to upgrade my server from PHP5.2 to 5.4) has been understanding the changes to the application structure and the vast difference between the basic application and the advanced application. Since my personal site runs on a subdomain, this greatly complicated the issue for me. I needed something more than the basic application, but the advanced application was way too much overkill. I finally went with the advanced application, but now that I understand how the composer works to distribute the skeleton files, I'm looking forward to creating something that's between the two.
There is way too much to cover in a single blog, so this is just a look at the basic structure and front end changes that you need to know to get up and running in 2.0.
If you're past all of this and looking to dive into the nitty-gritty detail changes, I suggest you read the official documentation on upgrading.