SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Yii Web Programming
     Framework
    easy, efficient and extensible
        Jason Ragsdale - 11/17/2008
About Yii

Yii is a high-performance programming framework for developing Web applications in PHP 5.
It enables maximum reusability in Web programming and can significantly accelerate the
development process. The name Yii (pronounced as [i:]) stands for easy, efficient and extensible.

Yii is easy to learn and use. You only need to know PHP and object-oriented programming. You
are not forced to learn a new configuration or templating language.

Yii is extremely fast. Its overhead to applications written on top of it is negligible. As a matter of
fact, it is one of the most efficient PHP frameworks around.

Yii is highly reusable and extensible. Yii is purely object-oriented. Everything in Yii is a self-
contained component which can be configured, reused or extended easily.
More About Yii
Yii comes with a rich set of features. From MVC, DAO/ActiveRecord, to theming,
internationalization and localization, Yii provides nearly every feature needed by today's Web
2.0 application development.

Yii has very detailed documentation. From the definitive guide to class reference, Yii has every
information you need to quickly learn and master it.

Yii is carefully designed from the beginning to fit for serious Web application development. It is
neither a byproduct of some project nor a conglomerate of third-party work. It is the result of
the authors' rich experience of Web application development and the investigation and
reflection of the most popular Web programming frameworks and applications.

Last but not least, Yii is free! Yii uses the new BSD license, and it also ensures that the third-
party work it integrates with use BSD-compatible licenses. This means it is both financially and
lawfully free for you to use Yii to develop either open source or proprietary applications.
Performance of Yii
Yii is a high-performance framework. The table below shows how efficient Yii is when
compared with other popular PHP frameworks. The RPS numbers describe how many requests
an application written in a framework can process per second. The higher the number, the more
efficient the framework is.
                                 RPS                RPS with APC
     Symfony 1.1.2      20
                             36
         Zend 1.6.1          38
                                51
        Prado 3.1.2     19
                               53
  CodeIgniter 1.6.3                   78
                                                 131
    CakePHP 1.2.0               56
                                                       170
              Yii 1.0                      92
                                                        178
           Solar 1.0                        99
                                                         190
 Yii with yiilite 1.0            63
                                                                            427

                        0                        125           250    375              500

            http://yiiframework.com/performance/
Performance of Yii
Benchmark Applications
A benchmark application is written for each framework. Each application simply tries to display a string "hello world". Any
additional framework features are disabled to ensure fairness of the comparison. You may download the complete benchmark
applications to verify.

The goal of this benchmarking is to reveal the RPS upper limit (or the minimal overhead) of each framework without using any
additional server caching techniques. Therefore, each application is written such that a single die('hello world'); statement is
placed in the default controller action of each application. We do not invoke the complete view rendering logic of each
framework because that will be slower and will not give us the RPS upper limit. As a matter of fact, for actions responding to
AJAX requests, complete view rendering logic is seldom used.
Benchmark Setup

The RPS numbers were obtained using the ApacheBench tool with the command "ab -t 30 -c 10 URL" (i.e., at currency level 10
running the test for 30 seconds). To get each number, we first stop and then start the Apache Web server to avoid interference.

The testing environment is as follows:

  * Operating System: Red Hat Enterprise Linux Server release 5.2
  * Web Server: Apache httpd 2.0.40
  * PHP: 5.2.6, any non-essential extensions are disabled
  * CPU: Dual Intel Xeon 3.2GHz
  * Main Memory: 2GB
  * Hard Drive: 73GB 15K RPM SCSI/SAS HDD
Features
Yii comes with a full stack of features needed by today's Web 2.0 application development.
Below is a short list of these features.

   * Model-View-Controller (MVC) design pattern: Yii adopts this proven technique in Web
programming which can better separate logic from presentation.
   * Database Access Objects (DAO) and Active Record: Yii allows developers to model
database data in terms of objects and save their effort of writing long and repetitive SQL
statements.
   * Integration with jQuery: as one of the most popular JavaScript framework, jQuery enables
writing highly efficient and versatile JavaScript interfaces.
   * Form input and validation: Yii makes collecting form input extremely easy and safe. Yii
comes with a set of validators which can be used to ensure validity of input data, and it also has
helper methods and widgets to indicate errors when validation fails.
   * Web 2.0 widgets: powered by jQuery, Yii comes with a set of Web 2.0 widgets, such as auto-
complete input field, treeview, and so on.
   * Authentication and authorization: Yii has built-in authentication support. It also supports
authorization via role-based access control (RBAC).
   * Theming: it enables change of the outlook of an Yii application instantly.
 d and routed to different destinations.
more Features
  * Web services: Yii supports automatic generation of complex WSDL service specifications
and management of Web service request handling.
  * Internationalization (I18N) and localization (L10N): Yii supports message translation, date
and time formatting, number formatting, and interface localization.
  * Layered caching scheme: Yii supports data caching, page caching, fragment caching and
dynamic content. The storage medium of caching can be changed easily without touching the
application code.
  * Error handling and logging: errors are handled and presented more nicely, and log
messages can be categorized, filtered and routed to different destinations.
  * Console applications: Yii provides powerful command line tools to automate generation of
code. It also facilitates development of custom console applications.
  * Purely object-oriented: Yii framework sticks to strict OOP paradigm. No global functions
or variables. It is easy to extend Yii and use Yii with other third-party libraries.
  * Detailed documentation: every single method or property is clearly documented. A
comprehensive tutorial is also provided together with other minor tutorials.
  * Extension library: Yii provides an extension library consisting of user-contributed
components. This makes the above feature list never ending.
Active Record


Although Yii DAO can handle virtually any database-related task, chances are that we would
  spend 90% of our time in writing some SQL statements which perform the common CRUD
(create, read, update and delete) operations. It is also difficult to maintain our code when they
     are mixed with SQL statements. To solve these problems, we can use Active Record.
Widgets
AutoComplete


Captcha


Flex


HtmlPurifier (htmlpurifier.org)


Masked Text Fields


Multi-file upload


Output Caching


Star Rating


Tab View


Text Highlighter


Tree View
Credits
Yii incorporates many ideas and work from other well-known Web programming frameworks
and applications. Below is a short list.

  * Prado: This is the major source of ideas for Yii. Yii adopts its component-based and event-
driven programming paradigm, database abstraction layers, modular application architecture,
internationalization and localization, and many others.

   * Ruby on Rails: Yii inherits its spirit of conventions over configurations. Yii also referenced
its implementation of active record design pattern.

  * jQuery: This is integrated in Yii as the foundational JavaScript framework.

  * Symfony: Yii referenced its filter design and plug-in architecture.

  * Joomla: Yii referenced its modular design and message translation scheme.

                     this was a nice presentation but we don't guarantee anything was true, Oh and You can see Alaska form here.

Más contenido relacionado

La actualidad más candente

Yii PHP MVC Framework presentation silicongulf.com
Yii PHP MVC Framework presentation silicongulf.comYii PHP MVC Framework presentation silicongulf.com
Yii PHP MVC Framework presentation silicongulf.comChristopher Cubos
 
RIA with Flex & PHP - Tulsa TechFest 2009
RIA with Flex & PHP  - Tulsa TechFest 2009RIA with Flex & PHP  - Tulsa TechFest 2009
RIA with Flex & PHP - Tulsa TechFest 2009Jason Ragsdale
 
Yii - Next level PHP Framework von Florian Facker
Yii - Next level PHP Framework von Florian FackerYii - Next level PHP Framework von Florian Facker
Yii - Next level PHP Framework von Florian FackerMayflower GmbH
 
Introduction To CodeIgniter
Introduction To CodeIgniterIntroduction To CodeIgniter
Introduction To CodeIgniterschwebbie
 
10 reasons to choose the yii framework
10 reasons to choose the yii framework10 reasons to choose the yii framework
10 reasons to choose the yii frameworkjananya213
 
Get things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplicationsGet things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplicationsGiuliano Iacobelli
 
Yii Training session-1
Yii Training session-1Yii Training session-1
Yii Training session-1AkkiCredencys
 
PHP Frameworks and CodeIgniter
PHP Frameworks and CodeIgniterPHP Frameworks and CodeIgniter
PHP Frameworks and CodeIgniterKHALID C
 
Introduction to MVC Web Framework with CodeIgniter
Introduction to MVC Web Framework with CodeIgniterIntroduction to MVC Web Framework with CodeIgniter
Introduction to MVC Web Framework with CodeIgniterPongsakorn U-chupala
 
Codeigniter Introduction
Codeigniter IntroductionCodeigniter Introduction
Codeigniter IntroductionAshfan Ahamed
 
PHP Frameworks & Introduction to CodeIgniter
PHP Frameworks & Introduction to CodeIgniterPHP Frameworks & Introduction to CodeIgniter
PHP Frameworks & Introduction to CodeIgniterJamshid Hashimi
 
Folio3 - An Introduction to PHP Yii
Folio3 - An Introduction to PHP YiiFolio3 - An Introduction to PHP Yii
Folio3 - An Introduction to PHP YiiFolio3 Software
 
Benefits of the CodeIgniter Framework
Benefits of the CodeIgniter FrameworkBenefits of the CodeIgniter Framework
Benefits of the CodeIgniter FrameworkToby Beresford
 
Code igniter - A brief introduction
Code igniter - A brief introductionCode igniter - A brief introduction
Code igniter - A brief introductionCommit University
 
Introduction To Code Igniter
Introduction To Code IgniterIntroduction To Code Igniter
Introduction To Code IgniterAmzad Hossain
 

La actualidad más candente (20)

Yii PHP MVC Framework presentation silicongulf.com
Yii PHP MVC Framework presentation silicongulf.comYii PHP MVC Framework presentation silicongulf.com
Yii PHP MVC Framework presentation silicongulf.com
 
RIA with Flex & PHP - Tulsa TechFest 2009
RIA with Flex & PHP  - Tulsa TechFest 2009RIA with Flex & PHP  - Tulsa TechFest 2009
RIA with Flex & PHP - Tulsa TechFest 2009
 
Yii Introduction
Yii IntroductionYii Introduction
Yii Introduction
 
Yii workshop
Yii workshopYii workshop
Yii workshop
 
Yii - Next level PHP Framework von Florian Facker
Yii - Next level PHP Framework von Florian FackerYii - Next level PHP Framework von Florian Facker
Yii - Next level PHP Framework von Florian Facker
 
Introduction To CodeIgniter
Introduction To CodeIgniterIntroduction To CodeIgniter
Introduction To CodeIgniter
 
10 reasons to choose the yii framework
10 reasons to choose the yii framework10 reasons to choose the yii framework
10 reasons to choose the yii framework
 
Get things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplicationsGet things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplications
 
Yii Training session-1
Yii Training session-1Yii Training session-1
Yii Training session-1
 
PHP Frameworks and CodeIgniter
PHP Frameworks and CodeIgniterPHP Frameworks and CodeIgniter
PHP Frameworks and CodeIgniter
 
Codeigniter
CodeigniterCodeigniter
Codeigniter
 
Introduction to MVC Web Framework with CodeIgniter
Introduction to MVC Web Framework with CodeIgniterIntroduction to MVC Web Framework with CodeIgniter
Introduction to MVC Web Framework with CodeIgniter
 
P H P Framework
P H P  FrameworkP H P  Framework
P H P Framework
 
Codeigniter Introduction
Codeigniter IntroductionCodeigniter Introduction
Codeigniter Introduction
 
PHP Frameworks & Introduction to CodeIgniter
PHP Frameworks & Introduction to CodeIgniterPHP Frameworks & Introduction to CodeIgniter
PHP Frameworks & Introduction to CodeIgniter
 
Folio3 - An Introduction to PHP Yii
Folio3 - An Introduction to PHP YiiFolio3 - An Introduction to PHP Yii
Folio3 - An Introduction to PHP Yii
 
Benefits of the CodeIgniter Framework
Benefits of the CodeIgniter FrameworkBenefits of the CodeIgniter Framework
Benefits of the CodeIgniter Framework
 
Code igniter - A brief introduction
Code igniter - A brief introductionCode igniter - A brief introduction
Code igniter - A brief introduction
 
Introduction To Code Igniter
Introduction To Code IgniterIntroduction To Code Igniter
Introduction To Code Igniter
 
Flash Testing with Selenium RC
Flash Testing with Selenium RCFlash Testing with Selenium RC
Flash Testing with Selenium RC
 

Destacado

Introduction Yii Framework
Introduction Yii FrameworkIntroduction Yii Framework
Introduction Yii FrameworkTuan Nguyen
 
A site in 15 minutes with yii
A site in 15 minutes with yiiA site in 15 minutes with yii
A site in 15 minutes with yiiAndy Kelk
 
YiiConf 2012 - Alexander Makarov - Yii2, what's new
YiiConf 2012 - Alexander Makarov - Yii2, what's newYiiConf 2012 - Alexander Makarov - Yii2, what's new
YiiConf 2012 - Alexander Makarov - Yii2, what's newAlexander Makarov
 
Yii Framework in the RAD context + Mashup demo built on YII
Yii Framework in the RAD context + Mashup demo built on YIIYii Framework in the RAD context + Mashup demo built on YII
Yii Framework in the RAD context + Mashup demo built on YIIGeorge-Leonard Chetreanu
 
Test Driven Development - 09/2009
Test Driven Development - 09/2009Test Driven Development - 09/2009
Test Driven Development - 09/2009Jason Ragsdale
 
Andres Gutierrez
Andres GutierrezAndres Gutierrez
Andres GutierrezColombia3.0
 
FRAMEWORD Yii
FRAMEWORD YiiFRAMEWORD Yii
FRAMEWORD Yiicritinasb
 
Yii inicios
Yii iniciosYii inicios
Yii iniciosfede003
 
Apresentando o Yii Framework
Apresentando o Yii FrameworkApresentando o Yii Framework
Apresentando o Yii Frameworkangellicacardozo
 
Conociendo a Laravel, el Framework de PHP para artesanos de la web
Conociendo a Laravel, el Framework de PHP para artesanos de la webConociendo a Laravel, el Framework de PHP para artesanos de la web
Conociendo a Laravel, el Framework de PHP para artesanos de la webSoftware Guru
 

Destacado (16)

Introduction Yii Framework
Introduction Yii FrameworkIntroduction Yii Framework
Introduction Yii Framework
 
A site in 15 minutes with yii
A site in 15 minutes with yiiA site in 15 minutes with yii
A site in 15 minutes with yii
 
YiiConf 2012 - Alexander Makarov - Yii2, what's new
YiiConf 2012 - Alexander Makarov - Yii2, what's newYiiConf 2012 - Alexander Makarov - Yii2, what's new
YiiConf 2012 - Alexander Makarov - Yii2, what's new
 
3d password ppt
3d password ppt3d password ppt
3d password ppt
 
Yii Framework in the RAD context + Mashup demo built on YII
Yii Framework in the RAD context + Mashup demo built on YIIYii Framework in the RAD context + Mashup demo built on YII
Yii Framework in the RAD context + Mashup demo built on YII
 
Test Driven Development - 09/2009
Test Driven Development - 09/2009Test Driven Development - 09/2009
Test Driven Development - 09/2009
 
MVC en CakePHP 2.0
MVC en CakePHP 2.0MVC en CakePHP 2.0
MVC en CakePHP 2.0
 
Andres Gutierrez
Andres GutierrezAndres Gutierrez
Andres Gutierrez
 
Gym Computer system
Gym Computer systemGym Computer system
Gym Computer system
 
FRAMEWORD Yii
FRAMEWORD YiiFRAMEWORD Yii
FRAMEWORD Yii
 
Yii inicios
Yii iniciosYii inicios
Yii inicios
 
Framework Yii
Framework YiiFramework Yii
Framework Yii
 
Apresentando o Yii Framework
Apresentando o Yii FrameworkApresentando o Yii Framework
Apresentando o Yii Framework
 
Conociendo a Laravel, el Framework de PHP para artesanos de la web
Conociendo a Laravel, el Framework de PHP para artesanos de la webConociendo a Laravel, el Framework de PHP para artesanos de la web
Conociendo a Laravel, el Framework de PHP para artesanos de la web
 
Introduce Yii
Introduce YiiIntroduce Yii
Introduce Yii
 
Yii Introduction
Yii IntroductionYii Introduction
Yii Introduction
 

Similar a Yii Framework

Yii web application development company
Yii web application development companyYii web application development company
Yii web application development companyEnuke Software Pvt Ltd
 
Yii2 by Peter Jack Kambey
Yii2 by Peter Jack KambeyYii2 by Peter Jack Kambey
Yii2 by Peter Jack Kambeyk4ndar
 
SOA Knowledge Kit, Developer Productivity and Performance Comparison Analysis
SOA Knowledge Kit, Developer Productivity  and Performance Comparison AnalysisSOA Knowledge Kit, Developer Productivity  and Performance Comparison Analysis
SOA Knowledge Kit, Developer Productivity and Performance Comparison AnalysisClever Moe
 
Yii Development
Yii DevelopmentYii Development
Yii Developmentjananya213
 
Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on RailsViridians
 
1ST TECH TALK: "Yii : The MVC framework" by Benedicto B. Balilo Jr.
1ST TECH TALK: "Yii : The MVC framework" by Benedicto B. Balilo Jr.1ST TECH TALK: "Yii : The MVC framework" by Benedicto B. Balilo Jr.
1ST TECH TALK: "Yii : The MVC framework" by Benedicto B. Balilo Jr.Bicol IT.org
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsVMware Tanzu
 
Top 10 python frameworks for web development in 2020
Top 10 python frameworks for web development in 2020Top 10 python frameworks for web development in 2020
Top 10 python frameworks for web development in 2020Alaina Carter
 
Zend Products and PHP for IBMi
Zend Products and PHP for IBMi  Zend Products and PHP for IBMi
Zend Products and PHP for IBMi Shlomo Vanunu
 
Vue3: nuove funzionalità, differenze e come migrare
Vue3: nuove funzionalità, differenze e come migrareVue3: nuove funzionalità, differenze e come migrare
Vue3: nuove funzionalità, differenze e come migrareAndrea Campaci
 
Application development using Zend Framework
Application development using Zend FrameworkApplication development using Zend Framework
Application development using Zend FrameworkMahmud Ahsan
 
Php Frameworks
Php FrameworksPhp Frameworks
Php FrameworksRyan Davis
 
Project report for final year project
Project report for final year projectProject report for final year project
Project report for final year projectsuneel singh
 
Modern web application development with java ee 7
Modern web application development with java ee 7Modern web application development with java ee 7
Modern web application development with java ee 7Shekhar Gulati
 
Workshop: Develop Serverless Applications with IBM Cloud Functions
Workshop: Develop Serverless Applications with IBM Cloud FunctionsWorkshop: Develop Serverless Applications with IBM Cloud Functions
Workshop: Develop Serverless Applications with IBM Cloud FunctionsDaniel Krook
 
Paper published on web application testing with sahi tool
Paper published on web application testing with sahi toolPaper published on web application testing with sahi tool
Paper published on web application testing with sahi toolLalit Choudhary
 
DPC2007 Zend Framework (Gaylord Aulke)
DPC2007 Zend Framework (Gaylord Aulke)DPC2007 Zend Framework (Gaylord Aulke)
DPC2007 Zend Framework (Gaylord Aulke)dpc
 

Similar a Yii Framework (20)

Fwdtechseminars
FwdtechseminarsFwdtechseminars
Fwdtechseminars
 
Yii web application development company
Yii web application development companyYii web application development company
Yii web application development company
 
Yii2 by Peter Jack Kambey
Yii2 by Peter Jack KambeyYii2 by Peter Jack Kambey
Yii2 by Peter Jack Kambey
 
SOA Knowledge Kit, Developer Productivity and Performance Comparison Analysis
SOA Knowledge Kit, Developer Productivity  and Performance Comparison AnalysisSOA Knowledge Kit, Developer Productivity  and Performance Comparison Analysis
SOA Knowledge Kit, Developer Productivity and Performance Comparison Analysis
 
Yii Development
Yii DevelopmentYii Development
Yii Development
 
Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on Rails
 
1ST TECH TALK: "Yii : The MVC framework" by Benedicto B. Balilo Jr.
1ST TECH TALK: "Yii : The MVC framework" by Benedicto B. Balilo Jr.1ST TECH TALK: "Yii : The MVC framework" by Benedicto B. Balilo Jr.
1ST TECH TALK: "Yii : The MVC framework" by Benedicto B. Balilo Jr.
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
 
CODE IGNITER
CODE IGNITERCODE IGNITER
CODE IGNITER
 
Best PHP Frameworks
Best PHP FrameworksBest PHP Frameworks
Best PHP Frameworks
 
Top 10 python frameworks for web development in 2020
Top 10 python frameworks for web development in 2020Top 10 python frameworks for web development in 2020
Top 10 python frameworks for web development in 2020
 
Zend Products and PHP for IBMi
Zend Products and PHP for IBMi  Zend Products and PHP for IBMi
Zend Products and PHP for IBMi
 
Vue3: nuove funzionalità, differenze e come migrare
Vue3: nuove funzionalità, differenze e come migrareVue3: nuove funzionalità, differenze e come migrare
Vue3: nuove funzionalità, differenze e come migrare
 
Application development using Zend Framework
Application development using Zend FrameworkApplication development using Zend Framework
Application development using Zend Framework
 
Php Frameworks
Php FrameworksPhp Frameworks
Php Frameworks
 
Project report for final year project
Project report for final year projectProject report for final year project
Project report for final year project
 
Modern web application development with java ee 7
Modern web application development with java ee 7Modern web application development with java ee 7
Modern web application development with java ee 7
 
Workshop: Develop Serverless Applications with IBM Cloud Functions
Workshop: Develop Serverless Applications with IBM Cloud FunctionsWorkshop: Develop Serverless Applications with IBM Cloud Functions
Workshop: Develop Serverless Applications with IBM Cloud Functions
 
Paper published on web application testing with sahi tool
Paper published on web application testing with sahi toolPaper published on web application testing with sahi tool
Paper published on web application testing with sahi tool
 
DPC2007 Zend Framework (Gaylord Aulke)
DPC2007 Zend Framework (Gaylord Aulke)DPC2007 Zend Framework (Gaylord Aulke)
DPC2007 Zend Framework (Gaylord Aulke)
 

Más de Jason Ragsdale

Tulsa techfest2010 security
Tulsa techfest2010   securityTulsa techfest2010   security
Tulsa techfest2010 securityJason Ragsdale
 
Tulsa tech fest 2010 - web speed and scalability
Tulsa tech fest 2010  - web speed and scalabilityTulsa tech fest 2010  - web speed and scalability
Tulsa tech fest 2010 - web speed and scalabilityJason Ragsdale
 
Caching: A Guided Tour - 10/12/2010
Caching: A Guided Tour - 10/12/2010Caching: A Guided Tour - 10/12/2010
Caching: A Guided Tour - 10/12/2010Jason Ragsdale
 
Test Driven Development - Tulsa TechFest 2009
Test Driven Development - Tulsa TechFest 2009Test Driven Development - Tulsa TechFest 2009
Test Driven Development - Tulsa TechFest 2009Jason Ragsdale
 
Web Speed And Scalability
Web Speed And ScalabilityWeb Speed And Scalability
Web Speed And ScalabilityJason Ragsdale
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven DevelopmentJason Ragsdale
 

Más de Jason Ragsdale (7)

Tulsa techfest2010 security
Tulsa techfest2010   securityTulsa techfest2010   security
Tulsa techfest2010 security
 
Tulsa tech fest 2010 - web speed and scalability
Tulsa tech fest 2010  - web speed and scalabilityTulsa tech fest 2010  - web speed and scalability
Tulsa tech fest 2010 - web speed and scalability
 
Caching: A Guided Tour - 10/12/2010
Caching: A Guided Tour - 10/12/2010Caching: A Guided Tour - 10/12/2010
Caching: A Guided Tour - 10/12/2010
 
Test Driven Development - Tulsa TechFest 2009
Test Driven Development - Tulsa TechFest 2009Test Driven Development - Tulsa TechFest 2009
Test Driven Development - Tulsa TechFest 2009
 
What Is Security
What Is SecurityWhat Is Security
What Is Security
 
Web Speed And Scalability
Web Speed And ScalabilityWeb Speed And Scalability
Web Speed And Scalability
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 

Último

UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 

Último (20)

UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 

Yii Framework

  • 1. Yii Web Programming Framework easy, efficient and extensible Jason Ragsdale - 11/17/2008
  • 2. About Yii Yii is a high-performance programming framework for developing Web applications in PHP 5. It enables maximum reusability in Web programming and can significantly accelerate the development process. The name Yii (pronounced as [i:]) stands for easy, efficient and extensible. Yii is easy to learn and use. You only need to know PHP and object-oriented programming. You are not forced to learn a new configuration or templating language. Yii is extremely fast. Its overhead to applications written on top of it is negligible. As a matter of fact, it is one of the most efficient PHP frameworks around. Yii is highly reusable and extensible. Yii is purely object-oriented. Everything in Yii is a self- contained component which can be configured, reused or extended easily.
  • 3. More About Yii Yii comes with a rich set of features. From MVC, DAO/ActiveRecord, to theming, internationalization and localization, Yii provides nearly every feature needed by today's Web 2.0 application development. Yii has very detailed documentation. From the definitive guide to class reference, Yii has every information you need to quickly learn and master it. Yii is carefully designed from the beginning to fit for serious Web application development. It is neither a byproduct of some project nor a conglomerate of third-party work. It is the result of the authors' rich experience of Web application development and the investigation and reflection of the most popular Web programming frameworks and applications. Last but not least, Yii is free! Yii uses the new BSD license, and it also ensures that the third- party work it integrates with use BSD-compatible licenses. This means it is both financially and lawfully free for you to use Yii to develop either open source or proprietary applications.
  • 4. Performance of Yii Yii is a high-performance framework. The table below shows how efficient Yii is when compared with other popular PHP frameworks. The RPS numbers describe how many requests an application written in a framework can process per second. The higher the number, the more efficient the framework is. RPS RPS with APC Symfony 1.1.2 20 36 Zend 1.6.1 38 51 Prado 3.1.2 19 53 CodeIgniter 1.6.3 78 131 CakePHP 1.2.0 56 170 Yii 1.0 92 178 Solar 1.0 99 190 Yii with yiilite 1.0 63 427 0 125 250 375 500 http://yiiframework.com/performance/
  • 5. Performance of Yii Benchmark Applications A benchmark application is written for each framework. Each application simply tries to display a string "hello world". Any additional framework features are disabled to ensure fairness of the comparison. You may download the complete benchmark applications to verify. The goal of this benchmarking is to reveal the RPS upper limit (or the minimal overhead) of each framework without using any additional server caching techniques. Therefore, each application is written such that a single die('hello world'); statement is placed in the default controller action of each application. We do not invoke the complete view rendering logic of each framework because that will be slower and will not give us the RPS upper limit. As a matter of fact, for actions responding to AJAX requests, complete view rendering logic is seldom used. Benchmark Setup The RPS numbers were obtained using the ApacheBench tool with the command "ab -t 30 -c 10 URL" (i.e., at currency level 10 running the test for 30 seconds). To get each number, we first stop and then start the Apache Web server to avoid interference. The testing environment is as follows: * Operating System: Red Hat Enterprise Linux Server release 5.2 * Web Server: Apache httpd 2.0.40 * PHP: 5.2.6, any non-essential extensions are disabled * CPU: Dual Intel Xeon 3.2GHz * Main Memory: 2GB * Hard Drive: 73GB 15K RPM SCSI/SAS HDD
  • 6. Features Yii comes with a full stack of features needed by today's Web 2.0 application development. Below is a short list of these features. * Model-View-Controller (MVC) design pattern: Yii adopts this proven technique in Web programming which can better separate logic from presentation. * Database Access Objects (DAO) and Active Record: Yii allows developers to model database data in terms of objects and save their effort of writing long and repetitive SQL statements. * Integration with jQuery: as one of the most popular JavaScript framework, jQuery enables writing highly efficient and versatile JavaScript interfaces. * Form input and validation: Yii makes collecting form input extremely easy and safe. Yii comes with a set of validators which can be used to ensure validity of input data, and it also has helper methods and widgets to indicate errors when validation fails. * Web 2.0 widgets: powered by jQuery, Yii comes with a set of Web 2.0 widgets, such as auto- complete input field, treeview, and so on. * Authentication and authorization: Yii has built-in authentication support. It also supports authorization via role-based access control (RBAC). * Theming: it enables change of the outlook of an Yii application instantly. d and routed to different destinations.
  • 7. more Features * Web services: Yii supports automatic generation of complex WSDL service specifications and management of Web service request handling. * Internationalization (I18N) and localization (L10N): Yii supports message translation, date and time formatting, number formatting, and interface localization. * Layered caching scheme: Yii supports data caching, page caching, fragment caching and dynamic content. The storage medium of caching can be changed easily without touching the application code. * Error handling and logging: errors are handled and presented more nicely, and log messages can be categorized, filtered and routed to different destinations. * Console applications: Yii provides powerful command line tools to automate generation of code. It also facilitates development of custom console applications. * Purely object-oriented: Yii framework sticks to strict OOP paradigm. No global functions or variables. It is easy to extend Yii and use Yii with other third-party libraries. * Detailed documentation: every single method or property is clearly documented. A comprehensive tutorial is also provided together with other minor tutorials. * Extension library: Yii provides an extension library consisting of user-contributed components. This makes the above feature list never ending.
  • 8. Active Record Although Yii DAO can handle virtually any database-related task, chances are that we would spend 90% of our time in writing some SQL statements which perform the common CRUD (create, read, update and delete) operations. It is also difficult to maintain our code when they are mixed with SQL statements. To solve these problems, we can use Active Record.
  • 9. Widgets AutoComplete Captcha Flex HtmlPurifier (htmlpurifier.org) Masked Text Fields Multi-file upload Output Caching Star Rating Tab View Text Highlighter Tree View
  • 10. Credits Yii incorporates many ideas and work from other well-known Web programming frameworks and applications. Below is a short list. * Prado: This is the major source of ideas for Yii. Yii adopts its component-based and event- driven programming paradigm, database abstraction layers, modular application architecture, internationalization and localization, and many others. * Ruby on Rails: Yii inherits its spirit of conventions over configurations. Yii also referenced its implementation of active record design pattern. * jQuery: This is integrated in Yii as the foundational JavaScript framework. * Symfony: Yii referenced its filter design and plug-in architecture. * Joomla: Yii referenced its modular design and message translation scheme. this was a nice presentation but we don't guarantee anything was true, Oh and You can see Alaska form here.