SlideShare una empresa de Scribd logo
1 de 34
Yii  [ easy, efficient and extensible  php framework] Honeyson Joseph D Roll no : 511 MCA TKMCE  KOLLAM http://www.facebook.com/honeydev
introduction -  Yii  is a high-performance component-based PHP  framework for developing large-scale Web applications -  Yii is a generic Web programming framework, used for developing virtually all sorts of Web applications - Yii is a Model View Controller framework http://www.facebook.com/honeydev
FUNDAMENTALS OF  Yii ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],http://www.facebook.com/honeydev
FUNDAMENTALS OF  Yii Model-View-Controller (MVC) MVC separate business logic from user interface considerations to easily change each part without affecting the other. In MVC , model  represents the data and the business rules;  view  contains elements of the user interface such as text, form inputs; and the  controller  manages the communication between the model and the view.  Yii uses a front-controller, called application, which represents the execution context of request processing. http://www.facebook.com/honeydev
FUNDAMENTALS OF  Yii Entry Script   Entry script is the bootstrap PHP script that handles user requests initially.  It is the only PHP script that end users can directly request to execute Debug Mode   Yii application can run in either debug or production mode according to the constant value YII DEBUG.  By default, this constant value is defined as false, meaning production mode. To run in debug mode, define this constant as true before including the yii.php file  http://www.facebook.com/honeydev
FUNDAMENTALS OF  Yii Application   Application represents the execution context of  request processing.  The application singleton can be accessed at any place  via Yii::app(). Application Base Directory Application base directory refers to the root directory that contains all security-sensitive PHP scripts and data.  By default, it is a subdirectory named protected that is located under the directory containing the entry script http://www.facebook.com/honeydev
FUNDAMENTALS OF  Yii Controller A controller is an instance of CController or its child class created by application . When a controller runs, it performs the requested action which usually brings in the needed models and renders an appropriate view An action can be defined as a method whose name  starts with the word action.  An action class and ask the controller to instantiate  tasks when requested Action http://www.facebook.com/honeydev
FUNDAMENTALS OF  Yii Filter Filter is a piece of code that is configured to be  executed before and/or after a controller action  executes.  Example, an access control filter may be executed to ensure that the user is authenticated before executing the requested action; a performance filter may be used to measure the time spent in the action execution. http://www.facebook.com/honeydev
FUNDAMENTALS OF  Yii Model A model is an instance of CModel or its child class.  Models are used to keep data and their relevant business rules.  A model represents a single data ob ject. It could be a row in a database table or a form of user inputs View A view is a PHP script consisting of mainly elements  of user interface.  View contain PHP statements, but it is recommended  that these statements should not alter data models and  should remain relatively simple. http://www.facebook.com/honeydev
FUNDAMENTALS OF  Yii Layouts Layout is a special view that is used to decorate  views.  It usually contains portions of  user interface that are  common among several views Widget A widget is an instance of  CWidget  or its child  class.  It is a component mainly for presentational purpose. Widgets enable better reusability in user interface. Widgets are usually embedded in a view script to generate some complex yet self-contained user interface.  For example, a calendar widget can be used to make a complex calendar user interface.  http://www.facebook.com/honeydev
Static structure of an Yii application http://www.facebook.com/honeydev
A Typical Workflow OF  Yii http://www.facebook.com/honeydev
Workflow OF  Yii(contd..) ,[object Object],[object Object],[object Object],[object Object],[object Object],http://www.facebook.com/honeydev
Workflow OF  Yii(contd..) ,[object Object],[object Object],[object Object],[object Object],[object Object],http://www.facebook.com/honeydev
Workflow OF  Yii(contd..) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],http://www.facebook.com/honeydev
CREATING  AN  Yii  APPLICATION For creating Web application we use a powerful  yiic   tool which can be used to automate code  creation for certain tasks.  For simpliy, we assume that YiiRoot is the directory where Yii is installed, and WebRoot is the document root of our Web server.  http://www.facebook.com/honeydev
CREATING  AN  Yii  APPLICATION(contd..) Step 0. Preparation After downloading and installing the Yii framework, run a simple console command “% YiiRoot/framework/yiic webapp WebRoot/testdrive “  to generate a skeleton Web application built with Yii.  The application is fully functional, with nice features including user login and contact form. It is a good starting point for implementing more sophisticated features.      This will create a skeleton Yii application under the directory  WebRoot/testdrive.  http://www.facebook.com/honeydev
CREATING  AN  Yii  APPLICATION(contd..) http://www.facebook.com/honeydev
CREATING  AN  Yii  APPLICATION(contd..) Step 1. You Create the Database While Yii can virtually eliminate most repetitive coding tasks, you are responsible for the real creative work.  This often starts with designing the whole system to be built, in terms of some database schema.  http://www.facebook.com/honeydev
CREATING  AN  Yii  APPLICATION(contd..) Step 2a.  Yii Generates the Model Classes Using the built-in Web-based code generator, you can turn database table definitions into model classes instantly, without writing a single line of code.  The model classes will allow you to access the database tables in an object-oriented fashion.  http://www.facebook.com/honeydev
CREATING  AN  Yii  APPLICATION(contd..) http://www.facebook.com/honeydev
CREATING  AN  Yii  APPLICATION(contd..) Step 2b. Yii Generates the CRUD Code Using the  code generator, we can further generate code that implements the typical CRUD (create, read, update, delete) features for the selected database tables.  The generated code is highly usable and customizable, following the well-adopted MVC (model-view-controller) design pattern.  http://www.facebook.com/honeydev
CREATING  AN  Yii  APPLICATION(contd..) http://www.facebook.com/honeydev
CREATING  AN  Yii  APPLICATION(contd..) Step 3. You customize the code to fit your exact needs Finally we customize the code to fit our exact needs.  For example,  to hide the password column on the user administration page, simply cross out the 'password' element shown in the following user admin view file:  <?php $this->widget('zii.widgets.grid.CGridView', array(  'id'=>'user-grid',  'dataProvider'=>$model->search(),  'filter'=>$model,  'columns'=>array( 'id', 'username', 'password',  'email', array('class'=>'CButtonColumn'), )));  ?>  http://www.facebook.com/honeydev
CREATING  AN  Yii  APPLICATION(contd..) http://www.facebook.com/honeydev
features of  Yii -  Database Access Objects (DAO), Query Builder Yii allows developers to model database data in terms of objects and avoid the deadliness and complexity of writing repetitive SQL statements. ,[object Object],[object Object],http://www.facebook.com/honeydev
features of  Yii(contd..) -  Form input and validation Yii makes collecting form input extremely easy and safe. It comes with a set of validates as well as numerous helper methods and widgets to simplify the task for form input and validation. ,[object Object],[object Object],http://www.facebook.com/honeydev
features of  Yii(contd..) -  Skinning and theming Yii implements a skinning and theming mechanism that allows you to quickly switch the outlook of a Yii-power website. ,[object Object],[object Object],http://www.facebook.com/honeydev
features of  Yii(contd..) ,[object Object],[object Object],[object Object],[object Object],http://www.facebook.com/honeydev
features of  Yii(contd..) ,[object Object],[object Object],[object Object],[object Object],http://www.facebook.com/honeydev
Advantages of  Yii framework ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],http://www.facebook.com/honeydev
Disadvantages of  Yii framework It  is written  in approach  that does not support the most innovative, modern advantages brought to PHP development world  with release of PHP 5.3 and soon – PHP version 6.  Differences are so big that Yii developers  decided that to fulfil PHP 5.3/6.0 needs the entire framework had to be rewritten from scratch.  Due to complexity of this task, it is not scheduled to be achieved earlier than at the beginning  of 2012   http://www.facebook.com/honeydev
Conclusion Yii does not need to be installed under a Web-accessible directory.  An Yii application has one entry script which is usually the only file that needs to be exposed to Web users. Other PHP scripts, including those from Yii, should be  protected from Web access since they may be exploited for hacking. http://www.facebook.com/honeydev
References   [1]  www.code.google.com/yii/  [2] Wikipedia – Yii [3] http://www.yiiframework.com http://www.facebook.com/honeydev

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Joomla and cms
Joomla and  cmsJoomla and  cms
Joomla and cms
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
Internship Presentation 2 Web Developer
Internship Presentation 2 Web DeveloperInternship Presentation 2 Web Developer
Internship Presentation 2 Web Developer
 
WEB BROWSER
WEB BROWSERWEB BROWSER
WEB BROWSER
 
Spring Framework Tutorial | Spring Tutorial For Beginners With Examples | Jav...
Spring Framework Tutorial | Spring Tutorial For Beginners With Examples | Jav...Spring Framework Tutorial | Spring Tutorial For Beginners With Examples | Jav...
Spring Framework Tutorial | Spring Tutorial For Beginners With Examples | Jav...
 
Cours développement côté serveur
Cours développement côté serveurCours développement côté serveur
Cours développement côté serveur
 
What Is Spring Framework In Java | Spring Framework Tutorial For Beginners Wi...
What Is Spring Framework In Java | Spring Framework Tutorial For Beginners Wi...What Is Spring Framework In Java | Spring Framework Tutorial For Beginners Wi...
What Is Spring Framework In Java | Spring Framework Tutorial For Beginners Wi...
 
WordPress what is Wordpress
WordPress what is WordpressWordPress what is Wordpress
WordPress what is Wordpress
 
Api presentation
Api presentationApi presentation
Api presentation
 
Ray AI Runtime (AIR) on AWS - Data Science On AWS Meetup
Ray AI Runtime (AIR) on AWS - Data Science On AWS MeetupRay AI Runtime (AIR) on AWS - Data Science On AWS Meetup
Ray AI Runtime (AIR) on AWS - Data Science On AWS Meetup
 
Joomla CMS SEMINAR PPT
Joomla CMS SEMINAR PPTJoomla CMS SEMINAR PPT
Joomla CMS SEMINAR PPT
 
Introdução Vue JS
Introdução Vue JSIntrodução Vue JS
Introdução Vue JS
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Introduction aux web services
Introduction aux web servicesIntroduction aux web services
Introduction aux web services
 
Web development presentation
Web development presentationWeb development presentation
Web development presentation
 
P5 stockage
P5 stockageP5 stockage
P5 stockage
 
Joomla - CMS
Joomla - CMSJoomla - CMS
Joomla - CMS
 
Introduction to Jasper Reports
Introduction to Jasper ReportsIntroduction to Jasper Reports
Introduction to Jasper Reports
 
안드로이드 윈도우 마스터 되기
안드로이드 윈도우 마스터 되기안드로이드 윈도우 마스터 되기
안드로이드 윈도우 마스터 되기
 
Connexion jdbc
Connexion jdbcConnexion jdbc
Connexion jdbc
 

Destacado

Destacado (15)

Yii framework
Yii frameworkYii framework
Yii framework
 
Yii framework
Yii frameworkYii framework
Yii framework
 
Introduction Yii Framework
Introduction Yii FrameworkIntroduction Yii Framework
Introduction Yii Framework
 
Yii Framework
Yii FrameworkYii Framework
Yii Framework
 
Django nutshell overview
Django nutshell overviewDjango nutshell overview
Django nutshell overview
 
Django & Buildout
Django & BuildoutDjango & Buildout
Django & Buildout
 
Der Django-Admin-Bereich im Überblick
Der Django-Admin-Bereich im ÜberblickDer Django-Admin-Bereich im Überblick
Der Django-Admin-Bereich im Überblick
 
FUTEX 2015 Programme gb
FUTEX 2015 Programme gbFUTEX 2015 Programme gb
FUTEX 2015 Programme gb
 
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
 
Nram presentation 3
Nram presentation 3Nram presentation 3
Nram presentation 3
 
yii framework
yii frameworkyii framework
yii framework
 
Futex Scaling for Multi-core Systems
Futex Scaling for Multi-core SystemsFutex Scaling for Multi-core Systems
Futex Scaling for Multi-core Systems
 
Django for Beginners
Django for BeginnersDjango for Beginners
Django for Beginners
 
Why choose Yii framework?
Why choose Yii framework?Why choose Yii framework?
Why choose Yii framework?
 
Slideshare ppt
Slideshare pptSlideshare ppt
Slideshare ppt
 

Similar a Yii php framework_honey

Yii Framework Security
Yii Framework SecurityYii Framework Security
Yii Framework Security
Ilko Kacharov
 
Hnd201 Building Ibm Lotus Domino Applications With Ajax Plugins
Hnd201 Building Ibm Lotus Domino Applications With Ajax PluginsHnd201 Building Ibm Lotus Domino Applications With Ajax Plugins
Hnd201 Building Ibm Lotus Domino Applications With Ajax Plugins
dominion
 

Similar a Yii php framework_honey (20)

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
 
Introduce Yii
Introduce YiiIntroduce Yii
Introduce Yii
 
Fwdtechseminars
FwdtechseminarsFwdtechseminars
Fwdtechseminars
 
P H P Framework
P H P  FrameworkP H P  Framework
P H P Framework
 
Folio3 - An Introduction to PHP Yii
Folio3 - An Introduction to PHP YiiFolio3 - An Introduction to PHP Yii
Folio3 - An Introduction to PHP Yii
 
My Very First Zf App Part One
My Very First Zf App   Part OneMy Very First Zf App   Part One
My Very First Zf App Part One
 
Yii Framework Security
Yii Framework SecurityYii Framework Security
Yii Framework Security
 
Codeigniter
CodeigniterCodeigniter
Codeigniter
 
CODE IGNITER
CODE IGNITERCODE IGNITER
CODE IGNITER
 
IRJET- Lightweight MVC Framework in PHP
IRJET- Lightweight MVC Framework in PHPIRJET- Lightweight MVC Framework in PHP
IRJET- Lightweight MVC Framework in PHP
 
Mvc in symfony
Mvc in symfonyMvc in symfony
Mvc in symfony
 
Using HttpWatch Plug-in with Selenium Automation in Java
Using HttpWatch Plug-in with Selenium Automation in JavaUsing HttpWatch Plug-in with Selenium Automation in Java
Using HttpWatch Plug-in with Selenium Automation in Java
 
Hnd201 Building Ibm Lotus Domino Applications With Ajax Plugins
Hnd201 Building Ibm Lotus Domino Applications With Ajax PluginsHnd201 Building Ibm Lotus Domino Applications With Ajax Plugins
Hnd201 Building Ibm Lotus Domino Applications With Ajax Plugins
 
Introduction To Code Igniter
Introduction To Code IgniterIntroduction To Code Igniter
Introduction To Code Igniter
 
Getting Started with Zend Framework
Getting Started with Zend FrameworkGetting Started with Zend Framework
Getting Started with Zend Framework
 
Introduction To CodeIgniter
Introduction To CodeIgniterIntroduction To CodeIgniter
Introduction To CodeIgniter
 
Synopsis
SynopsisSynopsis
Synopsis
 
Integrate Shindig with Joomla
Integrate Shindig with JoomlaIntegrate Shindig with Joomla
Integrate Shindig with Joomla
 
contentDM
contentDMcontentDM
contentDM
 
Code igniter - A brief introduction
Code igniter - A brief introductionCode igniter - A brief introduction
Code igniter - A brief introduction
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Yii php framework_honey

  • 1. Yii [ easy, efficient and extensible php framework] Honeyson Joseph D Roll no : 511 MCA TKMCE KOLLAM http://www.facebook.com/honeydev
  • 2. introduction - Yii is a high-performance component-based PHP framework for developing large-scale Web applications - Yii is a generic Web programming framework, used for developing virtually all sorts of Web applications - Yii is a Model View Controller framework http://www.facebook.com/honeydev
  • 3.
  • 4. FUNDAMENTALS OF Yii Model-View-Controller (MVC) MVC separate business logic from user interface considerations to easily change each part without affecting the other. In MVC , model represents the data and the business rules; view contains elements of the user interface such as text, form inputs; and the controller manages the communication between the model and the view. Yii uses a front-controller, called application, which represents the execution context of request processing. http://www.facebook.com/honeydev
  • 5. FUNDAMENTALS OF Yii Entry Script   Entry script is the bootstrap PHP script that handles user requests initially. It is the only PHP script that end users can directly request to execute Debug Mode Yii application can run in either debug or production mode according to the constant value YII DEBUG. By default, this constant value is defined as false, meaning production mode. To run in debug mode, define this constant as true before including the yii.php file http://www.facebook.com/honeydev
  • 6. FUNDAMENTALS OF Yii Application   Application represents the execution context of request processing. The application singleton can be accessed at any place via Yii::app(). Application Base Directory Application base directory refers to the root directory that contains all security-sensitive PHP scripts and data. By default, it is a subdirectory named protected that is located under the directory containing the entry script http://www.facebook.com/honeydev
  • 7. FUNDAMENTALS OF Yii Controller A controller is an instance of CController or its child class created by application . When a controller runs, it performs the requested action which usually brings in the needed models and renders an appropriate view An action can be defined as a method whose name starts with the word action. An action class and ask the controller to instantiate tasks when requested Action http://www.facebook.com/honeydev
  • 8. FUNDAMENTALS OF Yii Filter Filter is a piece of code that is configured to be executed before and/or after a controller action executes. Example, an access control filter may be executed to ensure that the user is authenticated before executing the requested action; a performance filter may be used to measure the time spent in the action execution. http://www.facebook.com/honeydev
  • 9. FUNDAMENTALS OF Yii Model A model is an instance of CModel or its child class. Models are used to keep data and their relevant business rules. A model represents a single data ob ject. It could be a row in a database table or a form of user inputs View A view is a PHP script consisting of mainly elements of user interface. View contain PHP statements, but it is recommended that these statements should not alter data models and should remain relatively simple. http://www.facebook.com/honeydev
  • 10. FUNDAMENTALS OF Yii Layouts Layout is a special view that is used to decorate views. It usually contains portions of user interface that are common among several views Widget A widget is an instance of CWidget or its child class. It is a component mainly for presentational purpose. Widgets enable better reusability in user interface. Widgets are usually embedded in a view script to generate some complex yet self-contained user interface. For example, a calendar widget can be used to make a complex calendar user interface. http://www.facebook.com/honeydev
  • 11. Static structure of an Yii application http://www.facebook.com/honeydev
  • 12. A Typical Workflow OF Yii http://www.facebook.com/honeydev
  • 13.
  • 14.
  • 15.
  • 16. CREATING AN Yii APPLICATION For creating Web application we use a powerful yiic tool which can be used to automate code creation for certain tasks. For simpliy, we assume that YiiRoot is the directory where Yii is installed, and WebRoot is the document root of our Web server. http://www.facebook.com/honeydev
  • 17. CREATING AN Yii APPLICATION(contd..) Step 0. Preparation After downloading and installing the Yii framework, run a simple console command “% YiiRoot/framework/yiic webapp WebRoot/testdrive “ to generate a skeleton Web application built with Yii. The application is fully functional, with nice features including user login and contact form. It is a good starting point for implementing more sophisticated features.   This will create a skeleton Yii application under the directory WebRoot/testdrive. http://www.facebook.com/honeydev
  • 18. CREATING AN Yii APPLICATION(contd..) http://www.facebook.com/honeydev
  • 19. CREATING AN Yii APPLICATION(contd..) Step 1. You Create the Database While Yii can virtually eliminate most repetitive coding tasks, you are responsible for the real creative work. This often starts with designing the whole system to be built, in terms of some database schema. http://www.facebook.com/honeydev
  • 20. CREATING AN Yii APPLICATION(contd..) Step 2a. Yii Generates the Model Classes Using the built-in Web-based code generator, you can turn database table definitions into model classes instantly, without writing a single line of code. The model classes will allow you to access the database tables in an object-oriented fashion. http://www.facebook.com/honeydev
  • 21. CREATING AN Yii APPLICATION(contd..) http://www.facebook.com/honeydev
  • 22. CREATING AN Yii APPLICATION(contd..) Step 2b. Yii Generates the CRUD Code Using the code generator, we can further generate code that implements the typical CRUD (create, read, update, delete) features for the selected database tables. The generated code is highly usable and customizable, following the well-adopted MVC (model-view-controller) design pattern. http://www.facebook.com/honeydev
  • 23. CREATING AN Yii APPLICATION(contd..) http://www.facebook.com/honeydev
  • 24. CREATING AN Yii APPLICATION(contd..) Step 3. You customize the code to fit your exact needs Finally we customize the code to fit our exact needs. For example, to hide the password column on the user administration page, simply cross out the 'password' element shown in the following user admin view file: <?php $this->widget('zii.widgets.grid.CGridView', array( 'id'=>'user-grid', 'dataProvider'=>$model->search(), 'filter'=>$model, 'columns'=>array( 'id', 'username', 'password', 'email', array('class'=>'CButtonColumn'), ))); ?> http://www.facebook.com/honeydev
  • 25. CREATING AN Yii APPLICATION(contd..) http://www.facebook.com/honeydev
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32. Disadvantages of Yii framework It is written in approach that does not support the most innovative, modern advantages brought to PHP development world with release of PHP 5.3 and soon – PHP version 6. Differences are so big that Yii developers decided that to fulfil PHP 5.3/6.0 needs the entire framework had to be rewritten from scratch. Due to complexity of this task, it is not scheduled to be achieved earlier than at the beginning of 2012 http://www.facebook.com/honeydev
  • 33. Conclusion Yii does not need to be installed under a Web-accessible directory. An Yii application has one entry script which is usually the only file that needs to be exposed to Web users. Other PHP scripts, including those from Yii, should be protected from Web access since they may be exploited for hacking. http://www.facebook.com/honeydev
  • 34. References   [1] www.code.google.com/yii/ [2] Wikipedia – Yii [3] http://www.yiiframework.com http://www.facebook.com/honeydev