Skip to main content

Why Yii is the best PHP Framework


  • Yii is easy

To run a Yii-powered web application, all you need is the core framework files and
a web server supporting PHP 5.1.0 or higher. To develop with Yii, you only need to
know PHP and object-oriented programming(OOP). You are not required to learn
any new configuration or templating language. Building a Yii application mainly
involves writing and maintaining your own custom PHP classes, some of which
will extend from the core Yii Framework component classes.

Yii incorporates many of the great ideas and work from other well-known web
programming frameworks and applications. So, if you are coming to Yii after
using other web development frameworks, it is likely you will find it familiar

and easy to navigate.


  • Yii is efficient

Yii is a high-performance component-based framework for developing web
applications on any scale. It encourages maximum code reuse in web programming,
and can significantly accelerate the development process. As mentioned previously,
if you stick with Yii's built-in conventions, you can get your application up and
running with little to no manual configuration.

Yii is also designed to help you with DRY development. DRY (Don't Repeat
Yourself) is a key concept of agile application development. All Yii applications
are built using the Model-View-Controller (MVC) architecture. Yii enforces
this development pattern by providing a place to keep each piece of your MVC
code. This minimizes duplication and helps promote code reuse and ease of
maintainability. The less code you need to write, the less time it takes to get your
application to market. Similarly, the easier it is to maintain your application, the

longer it will stay on the market.


  • Yii is extensible
Yii has been carefully designed to allow nearly every piece of its code to be extended
and customized to meet almost any need or requirement. In fact, it is difficult not to
take advantage of Yii's ease of extensibility as a primary activity when developing a
Yii-driven application, which is extending the core framework classes. If you want
to turn your extended code into useful tools for other developers to use, Yii provides
easy-to-follow steps and guidelines to help you create such third-party extensions.
This allows you to contribute to Yii's ever-growing list of features and actively
participate in extending Yii itself.

What is also remarkable about Yii is its ease of use, superior performance, and its
depth of extensibility which does not come at the cost of sacrificing features. Yii is
packed with features to help you meet those high demands placed on today's web
applications. AJAX-enabled widgets, web service integration, enforcement of an
MVC architecture, DAO and relational Active Record database layer, sophisticated
caching, hierarchical role-based access control, theming, internationalization (I18N),
and localization (L10N), are just the tip of the Yii iceberg. As of version 1.1, the
core framework is now packaged with an official extension library called Zii. These
extensions are developed and maintained by the core framework team members
who continue to extend Yii's core feature set. With a deep community of users who
are also contributing by writing Yii extensions, the overall feature set available to
a Yii powered application is growing daily. For a complete list of all available user
contributed extensions, see http://www.yiiframework.com/extensions/.

  • MVC architecture
Yii is an MVC framework and it provides an explicit folder structure for each piece of model, view, and controller code. Before we start building our first Yii application, we need to define a few key terms, and look at how Yii implements and enforces this MVC architecture.

There you have it! All the reasons,but there is some more, why you need yii for your php projects next article is on installing and configuring yii coming up shortly.

Comments

  1. Very nice and impressive article you have posted. It’s very helpful, i have read and bookmark this site and will recommend it to more other peoples.

    ROR Development

    ReplyDelete
    Replies
    1. Thank you for the kind words and for finding the article useful. Your feedback is highly appreciated.

      Delete
  2. I am extremely amazed. These days I spent a lot of your power and attempt looking at one thing awesome on this topic. Finally I found your web page. Thanks for that!
    Website Design Companies Bangalore

    ReplyDelete
    Replies
    1. Thank you for the kind words, i hope to get back with more helpful articles soon.

      Delete
  3. Amazing post!!! This post is very comprehensive and i learn more ideas. Thanks for your post, i like more updates from your blog...
    PHP Training in Bangalore
    PHP Course in Bangalore
    PHP Training in Chennai Adyar
    PHP Training in Tnagar
    PHP Course in Omr

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete
  5. Really very informative and creative contents. This concept is a good way to enhance the knowledge. Thanks for sharing. please keep it up. PHP Development Company
    Ecommerce Company
    Free Of Cost - Data Extraction Services
    Big data development company in Chennai

    ReplyDelete
  6. It's a nice blog.Thanks for Sharing.I believe there are many more pleasurable opportunities ahead for individuals that looked at your site.
    Best PHP Course in Chennai

    ReplyDelete

Post a Comment

Popular posts from this blog

Ten output devices, advantages and disadvantages, inter-site back-up mechanism, Expert systems for medical diagnosis,information systems security

(i)Printer Printer enables us to produce information output on paper. It is one of the most popular computer output devices we often use to get information on paper - called hard copy. Advantage They produce high quality paper output for presentation at a speedy rate. It is also possible to share the printer among different users in a network. Disadvantage The cost for maintenance of the printer equipment as well printing ink is cumulatively high. (ii) Plotters These devices are used to produce graphical outputs on paper. They have automated pens that make line drawings on paper Advantage They can produce neat drawings on a piece of paper based on user commands. In Computer Aided Design (CAD) they are used to produce paper prototypes that aid in design of the final system. Disadvantage They are more expensive than printers. Further, the command based interface is difficult to use. (iii)Monitor It is...

Start Wamp server on windows automatically permanently

For those that have completely refused to use linux platforms for development, you might find this useful. As with all (aspiring) web developers, it’s always important to test your projects locally before putting it out there for the entire web community to see. One must-have developer tool for this purpose is WAMPServer. We’ve all wished it’s automatically up and running when we need it. These easy steps will help you automate WAMPServer to run on system start-up. For those unfamiliar with WAMPServer, it is a development package that lets you run web development projects locally. WAMP stands for Windows, Apache, MySQL, PHP/Perl/Python. It’s basically four programs packaged to work as one. WAMP basically turns any Windows PC into a localized web server. The Linux counterpart is called LAMP, obviously. Once WAMPServer is installed in your PC, you’ll be able to test your web projects before putting it into the live environment. But I always found it a hassle to manually s...

simple basic object oriented java code for employee salary calculation

import java.io.*; import java.util.Scanner; public class Employees {     Scanner scan=new Scanner(System.in);     String Fname;   int EmpID;  int DOB; double Allowance;   double Salary;     public void getDetails(){   System.out.println("Enter the first name");   Fname=scan.next();   System.out.println("Enter the ID number");   EmpID=scan.nextInt();   System.out.println("Enter the date of birth");   DOB=scan.nextInt();   System.out.println("Enter the salary");   Salary=scan.nextDouble();   Allowance=0.6*Salary;     }    public void printReport(){    System.out.println(Fname+"\t"+EmpID+"\t"+calGross()+"\t"+calPayee()+"\t"+calNetIncome());    }    public double calGross(){        return Salary + Allowance;    }    public double calPayee(){     ...