Mobile app development

iOS, Android, IDEs, APIs, best practices

Web Development

PHP, Joomla, Programming best practices

Tools and techniques

Web, Mobile development tools and technologies

Internet marketing

Keywords, Social media, Google Algorithm, ROI, SEO Ethics etc

01Jul 2013

Build custom PHP applications with Yii PHP Framework – What you need to start.

Frameworks help get basic tasks done automatically without the developer having to write specific code for the same. These frameworks also allow common tasks to be carried across different projects thus removing redundancies. There are quite a few frameworks available at the developer’s disposal, but one framework that is certainly catching on is the Yii PHP Framework for building custom php applications.

Yii Framework

Yii Framework

Released in December 2008, Yii Framework is one the newest open source PHP frameworks. However given its age, it has seen tremendous growth in a short span of time. Since it is released under the BSD License, a Yii developer can build both open source as well as proprietary software. The current stable version is Yii 1.1 and can be safely used to create web applications. Due to the robust features, it is appropriate for high traffic applications such as social networking forums, portal, ECommerce sites and Content Management Systems (CMS) sites.

Yii adheres to the Model-View-Controller (MVC) architecture pattern of web 2.0 development. With a host of powerful and functionality enhancing features such as DAO, I18N/L10N standards, and adherence to OOP principles, Yii is now counted as one of the top 5 MVC open source PHP framework tools in market today. Even with its boatloads of features, the development process is faster in Yii because Yii loads only those features that you need to use at a specific stage rather than the complete library together. You need to have a web server set up and a PHP installation done to work on Yii explained as below:

Setting up Yiidevelopment environment

A custom App Backend using Yii

A custom App Backend using Yii

1.      The most basic requirement to start with Yii is, a web server supporting PHP 5.1.0.

2.      Select an appropriate database. Most of the stable databases such as SQLite, PostGRESQL and MySQL can be easily used for Yii application development

3.      Once the framework is downloaded from the official site, you can get the server’s configuration to match the framework’s technical requirements.

4.      Now you need to get the main.php file configured to set up your development environment. This file contains most of the Yii’s testing and programming components and links. This main.php file contains the definition of the website layout. Both these files are critical to the entire project and hence should be configured properly before moving ahead

5.      Once the index.php file sets the ‘config’ path and ‘require’ path is set up correctly, the skeleton web app is ready to be installed

 

Using Yii NetBeans plugin 

For many developers, the NetBeans IDE is a preferred development environment for Yii development. Along with Eclipse, the NetBeans IDE is very widely used as it offers a host of benefits that speed up the development process, and facilitates complete incorporation of prevalent web standards. Some of the feature rich traits offered by NetBeans coding environment are:

1.      Code templates: NetBeans provides smart code templates or snippets commonly used by developers. This helps to avoid recreating the wheel and can use the same code in other development projects. Commands such as ‘class’, ‘echo’, ‘elseif’  that take up multiple lines of code to manually type can now be easily pasted within your main code thus helping developers save valuable time and boost the overall development process .

3.      Code generators: Using the code generation dialog box in Java editor, a developer can easily create different types of constructs. Simply select ‘Constructor’ from the Code Generation box that opens up on pressing ‘alt-insert’, and construct blocks of code.

4.      On-typing hints and completion: One of the most powerful features is undoubtedly the code completion module that not only speeds up coding but also helps you avoid typing and syntax errors. You can invoke code completion by pressing ‘ctrl+space’ after typing the first few words. Additionally, this completion popup can be invoked as needed or automatically, thus make the coding process much simpler and intuitive.

 

Yii Bootstrap plugin and its uses

Many elements of the hugely popular Yii-Bootstrap library have spawned a whole new open source collection of widgets that helps Yii Developers boost development rate, shorten coding time and increase productivity. This collection is available as the Yii Bootstrap and provides multiple options that improve the way web applications are developed using Yii. The key benefits provided by Yii Bootstrap are:

1.      It integrates beautifully without disturbing the existing Yii structure

2.      High performance and fast loading feature provides better flexibility in custom coding

3.      Useful widgets that simplify working and provides better access methods. For instance the TbExtendedFilter allows developer to save filters in a common database rather keeping track of the different filters (Cookies, DB or session variables)

4.      The different features enhance the aesthetics of the application. For example the basic box component wraps up the elements with good window effects

 

Yii and RWD using BootStrap

The Bootstrap extension provided by Twitter is a powerful and comprehensive suite of tools that ensure smooth integration of HTML, JavaScript and CSS into Yii framework. The extension complies completely with Yii programming conventions and the jQuery plugins. It is a rich source of forms, buttons, typography and navigation that helps enables fluid layout which re-sizes itself according to the device on which it is being viewed. By including a small bootstrap-responsive.css file, a developer can instantly enable flexible layout. BootStrap comes packed with useful features such as jQuery UI Bootstrap theme, FontAwesome, BootBox and hero units that provide a consistent viewing and navigation experience across different screen sizes.

For any reason if you want a fixed layout instead of responsive web design, then simply turn off ‘responsive.css’ parameter to ‘false’

Is Yii better than other popular MVCs?

 

Yii dashboard of a custom CRM app

Yii dashboard of a custom CRM app

 

While many may argue that there are other older MVC based framework alternatives such as CakePHP and CodeIgniter. However, Yii has generated quite a lot of buzz in recent times owing to its unique on-demand loading of resources, its strong security that enables efficient data validation, cross site scripting preventions measures, SQL injection and input sanitation and its capability to create clean and reusable programming codes through the proficient MVC model. The feature rich framework has now come to be recognized as one of the top 5 widely used MVC PHP framework, bearing ample testimony to its global popularity.