screen showing PHP code

Yii Development: Is it the Right Framework for Your Project?

avatar Brian Van Buren | Lead Developer

This post was originally published October 16, 2018 and was updated June 14, 2021.

Resident Yii Guru: Brian Van Buren

As a(m)’s lead Yii developer, Brian manages our skilled team of front- and back-end programmers and oversees the development of all our projects. He’s also our in-house expert when it comes to custom Yii development.

About Yii Programming

Yii is a high-performance, component-based PHP framework for rapid application development. It can be used for developing a variety of Web applications using PHP. It is especially suitable for large-scale applications.

When We Use Yii Framework

If your website will be a large, complex web application, Yii is our first choice! It’s a proven architecture that is fast, stable, and easy to extend. And with the recent release of Yii 2.0, it’s better than ever. There’s nothing we can’t build with Yii—and we’ll build it fast. Best yet, Yii has extensive theming and skinning mechanisms, allowing you to easily switch up the appearance of your website.

If your website is simpler, with basic content editing needs, we might recommend WordPress or a similar CMS that has an easy-to-use administration interface right out of the box.

Downsides of Yii Framework

We’ll be honest though, using Yii is not a simple task. It most definitely requires previous knowledge of PHP programming languages and familiarity with other programming add-ons. This makes it an extremely difficult language for novice programmers and takes quite a while to build up proficiency. 

Additionally, the Ajax features in Yii could have used a bit more time in development themselves, requiring the help of JavaScript if they’re to be used. This ties into why Yii requires a lot of expert programming skills and knowledge.

About Yii 2.0 Programming & Development

Yii 2.0 is a high-performance, component-based PHP framework for rapid application development. It can be used for developing a variety of Web applications using PHP. It is especially suitable for large-scale applications.

Our Best Yii Work

We use Yii on various, complex sites. Learn more about a few of our latest projects. 

PianoMart – is the largest website for public classified ads to sell your piano. Using the Yii 2.0 framework, we built front-end and back-end applications sharing a common set of data models in order to maintain the code.

The Yii framework’s data models made it easy to develop a front-end with the proper validation so that users could easily upload their ads correctly. Shared aspects of these data models were also used in the back-end, allowing the site administrator to vet the ads, communicate with the sellers, and maintain the integrity of the data.

Using Yii’s console functionality, we coded commands that would help automate some of the administration of the website, leaving more time for the admin to handle requests and assist site users. 

All Collector Cars – The owner of needed a blog and front-end advertising, as well as a robust system for dealers to be able to upload vehicles to his website. For this, we built a hybrid site that used WordPress and the Yii 2.0 framework. We used the Yii 2.0 framework to build a back-end application for users and dealers to be able to manage the vehicles they were placing ads for. Thanks to Yii’s Gii module, we were able to rapidly develop these pages. 

Using Yii’s queue module, we scheduled jobs to send data via APIs to All Collector Cars’ auction site to list vehicles available for auction. Yii’s queue functionality helped reduce the load on the server and allowed these to run as background tasks, greatly improving the overall admin and user experience. 

Large-scale dealers of the site needed to be able to upload spreadsheets of vehicles to the hosting and have that be an accurate reflection of their inventory on the website. Using Yii’s console application functionality and commands, we built an application that intakes .csv files and updates the inventory in the database for thousands of vehicles every day.

We have also directly hybridized Yii into WordPress by using Yii’s data models for validation and intake of data. This allows users to do things like contact sellers and subscribe to notifications for new vehicles from WordPress. This is also reflected in the back-end application we built for the admins to monitor activity and in the console application we built to query the database for vehicles based on user’s notification conditions and send them emails of vehicles matching their subscription.

Draft Sharks – Draft Sharks is one of the nation’s largest Fantasy Football advice sites, offering award-winning player projections and fantasy football advice. Users get customized cheat sheets, in-depth research and analysis, free agent finder services, daily fantasy accuracy ratings, and so much more. 

We used the Yii 2.0 framework to build multiple applications on Draft Sharks’ website to fit their unique and expansive needs. With a very large schema and lots of data, we were able to rapidly develop the Draft Sharks website with an extensive administrative area. We used Yii’s Gii tool to build pages for admins to enter information regarding players, write blog posts, and add their own projections and rankings.

On the front end, the Yii framework provides a high-performance experience for their free tools as well as integrates with multiple payment processors for a subscription based membership. We used Yii alongside other tools and frameworks like VueJs and Bootstrap and utilized Yii’s widget and asset bundle functionality to implement several CSS and Javascript libraries.

Draft Sharks also aggregates data from other sources to provide context for a selection of their own projections. To streamline this process, we built a robust Yii console application with Cron Jobs to run daily data import tasks from multiple sources. This helps keep data like ADP, consensus projections, and daily fantasy sources up to date. 

To provide data to the Draft Sharks’ mobile app on Android and IOS, we also built a REST API to gather data from the database and serve it to requests from the app. There is even a second REST API application built to serve data to select partners who integrate their predictions into their own websites and offerings. Plus, Yii console commands were also developed to send out IOS and Android push notifications to subscribers as new data comes in based on their selected preferences. 

Using the Yii framework, we were able to share the schema and data models between all of their applications to provide a coherent, easy to manage set of code that addresses their many needs.

Not sure if Yii is the right framework for your next development project? We hope you pull this article up to weigh the pros and cons — and maybe even consider reaching out to a(m)! We have the Yii expertise you need to make your site a success.