SlideShare a Scribd company logo
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

More Related Content

What's hot

CH03:基礎語法
CH03:基礎語法CH03:基礎語法
CH03:基礎語法
Justin Lin
 
Datasets, APIs, and Web Scraping
Datasets, APIs, and Web ScrapingDatasets, APIs, and Web Scraping
Datasets, APIs, and Web Scraping
Damian T. Gordon
 
Android Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - IntroductionAndroid Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - Introduction
Andreas Jakl
 
Transfer Learning for Natural Language Processing
Transfer Learning for Natural Language ProcessingTransfer Learning for Natural Language Processing
Transfer Learning for Natural Language Processing
Sebastian Ruder
 
تعريف التكشيف مقدمة
تعريف التكشيف  مقدمةتعريف التكشيف  مقدمة
تعريف التكشيف مقدمةHuda Farhan
 
iOS - History of iOS
iOS - History of iOSiOS - History of iOS
iOS - History of iOS
Lavanyaraj1717
 
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge WorkshopI Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
Apigee | Google Cloud
 
التحقيق الجنائي الرقمي.pdf
التحقيق الجنائي الرقمي.pdfالتحقيق الجنائي الرقمي.pdf
التحقيق الجنائي الرقمي.pdf
Abdelmajed Saeed
 
قواعد و الوصول الحر
قواعد و الوصول الحرقواعد و الوصول الحر
قواعد و الوصول الحر
Nour El Taalim
 
Ios development
Ios developmentIos development
Ios development
Shakil Ahmed
 
Gdsc android introduction
Gdsc android introductionGdsc android introduction
Gdsc android introduction
ShambhaviGupta14
 
Getting Started with BigQuery ML
Getting Started with BigQuery MLGetting Started with BigQuery ML
Getting Started with BigQuery ML
Dan Sullivan, Ph.D.
 
Firebase on Android: The Big Picture
Firebase on Android: The Big PictureFirebase on Android: The Big Picture
Firebase on Android: The Big Picture
Sriyank Siddhartha
 
Movie Recommender system
Movie Recommender systemMovie Recommender system
Movie Recommender system
PalakNath
 
طريقة استخدام نظام كوها لادارة المكتبات المتكامل (دليل المستخدمين)
طريقة استخدام نظام كوها لادارة المكتبات المتكامل (دليل المستخدمين) طريقة استخدام نظام كوها لادارة المكتبات المتكامل (دليل المستخدمين)
طريقة استخدام نظام كوها لادارة المكتبات المتكامل (دليل المستخدمين) University of Al-Mustansirya
 
Federated Learning
Federated LearningFederated Learning
Introduction to Java EE (J2EE)
Introduction to Java EE (J2EE)Introduction to Java EE (J2EE)
Introduction to Java EE (J2EE)Atit Patumvan
 
Hybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic FrameworkHybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic Framework
Cihad Horuzoğlu
 
Neural Architectures for Named Entity Recognition
Neural Architectures for Named Entity RecognitionNeural Architectures for Named Entity Recognition
Neural Architectures for Named Entity Recognition
Rrubaa Panchendrarajan
 
المكتبات الرقميه أو الالكترونيه
المكتبات الرقميه أو الالكترونيهالمكتبات الرقميه أو الالكترونيه
المكتبات الرقميه أو الالكترونيه
Mahmoud Rashad aboalia
 

What's hot (20)

CH03:基礎語法
CH03:基礎語法CH03:基礎語法
CH03:基礎語法
 
Datasets, APIs, and Web Scraping
Datasets, APIs, and Web ScrapingDatasets, APIs, and Web Scraping
Datasets, APIs, and Web Scraping
 
Android Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - IntroductionAndroid Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - Introduction
 
Transfer Learning for Natural Language Processing
Transfer Learning for Natural Language ProcessingTransfer Learning for Natural Language Processing
Transfer Learning for Natural Language Processing
 
تعريف التكشيف مقدمة
تعريف التكشيف  مقدمةتعريف التكشيف  مقدمة
تعريف التكشيف مقدمة
 
iOS - History of iOS
iOS - History of iOSiOS - History of iOS
iOS - History of iOS
 
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge WorkshopI Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
 
التحقيق الجنائي الرقمي.pdf
التحقيق الجنائي الرقمي.pdfالتحقيق الجنائي الرقمي.pdf
التحقيق الجنائي الرقمي.pdf
 
قواعد و الوصول الحر
قواعد و الوصول الحرقواعد و الوصول الحر
قواعد و الوصول الحر
 
Ios development
Ios developmentIos development
Ios development
 
Gdsc android introduction
Gdsc android introductionGdsc android introduction
Gdsc android introduction
 
Getting Started with BigQuery ML
Getting Started with BigQuery MLGetting Started with BigQuery ML
Getting Started with BigQuery ML
 
Firebase on Android: The Big Picture
Firebase on Android: The Big PictureFirebase on Android: The Big Picture
Firebase on Android: The Big Picture
 
Movie Recommender system
Movie Recommender systemMovie Recommender system
Movie Recommender system
 
طريقة استخدام نظام كوها لادارة المكتبات المتكامل (دليل المستخدمين)
طريقة استخدام نظام كوها لادارة المكتبات المتكامل (دليل المستخدمين) طريقة استخدام نظام كوها لادارة المكتبات المتكامل (دليل المستخدمين)
طريقة استخدام نظام كوها لادارة المكتبات المتكامل (دليل المستخدمين)
 
Federated Learning
Federated LearningFederated Learning
Federated Learning
 
Introduction to Java EE (J2EE)
Introduction to Java EE (J2EE)Introduction to Java EE (J2EE)
Introduction to Java EE (J2EE)
 
Hybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic FrameworkHybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic Framework
 
Neural Architectures for Named Entity Recognition
Neural Architectures for Named Entity RecognitionNeural Architectures for Named Entity Recognition
Neural Architectures for Named Entity Recognition
 
المكتبات الرقميه أو الالكترونيه
المكتبات الرقميه أو الالكترونيهالمكتبات الرقميه أو الالكترونيه
المكتبات الرقميه أو الالكترونيه
 

Viewers also liked

Yii framework
Yii frameworkYii framework
Yii framework
Mohammed Saqib
 
Yii framework
Yii frameworkYii framework
Yii framework
Leena Roja
 
Introduction Yii Framework
Introduction Yii FrameworkIntroduction Yii Framework
Introduction Yii Framework
Tuan Nguyen
 
Yii Framework
Yii FrameworkYii Framework
Yii Framework
Jason Ragsdale
 
Django nutshell overview
Django nutshell overviewDjango nutshell overview
Django nutshell overview
schacki
 
Django & Buildout
Django & BuildoutDjango & Buildout
Django & Buildout
zerok
 
Der Django-Admin-Bereich im Überblick
Der Django-Admin-Bereich im ÜberblickDer Django-Admin-Bereich im Überblick
Der Django-Admin-Bereich im Überblick
Andi Albrecht
 
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
Andy Kelk
 
Futex Scaling for Multi-core Systems
Futex Scaling for Multi-core SystemsFutex Scaling for Multi-core Systems
Futex Scaling for Multi-core Systems
Davidlohr Bueso
 
Django for Beginners
Django for BeginnersDjango for Beginners
Django for Beginners
Jason Davies
 
Why choose Yii framework?
Why choose Yii framework?Why choose Yii framework?
Why choose Yii framework?
goodcore
 

Viewers also liked (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 to Yii php framework_honey

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
Giuliano Iacobelli
 
Introduce Yii
Introduce YiiIntroduce Yii
Introduce Yii
zakieh alizadeh
 
P H P Framework
P H P  FrameworkP H P  Framework
P H P Framework
Animesh Kumar
 
Folio3 - An Introduction to PHP Yii
Folio3 - An Introduction to PHP YiiFolio3 - An Introduction to PHP Yii
Folio3 - An Introduction to PHP Yii
Folio3 Software
 
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
isaaczfoster
 
Yii Framework Security
Yii Framework SecurityYii Framework Security
Yii Framework SecurityIlko Kacharov
 
Codeigniter
CodeigniterCodeigniter
Codeigniter
ShahRushika
 
CODE IGNITER
CODE IGNITERCODE IGNITER
CODE IGNITER
Yesha kapadia
 
IRJET- Lightweight MVC Framework in PHP
IRJET- Lightweight MVC Framework in PHPIRJET- Lightweight MVC Framework in PHP
IRJET- Lightweight MVC Framework in PHP
IRJET Journal
 
Mvc in symfony
Mvc in symfonyMvc in symfony
Mvc in symfony
Sayed Ahmed
 
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
Sandeep Tol
 
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 Pluginsdominion
 
Introduction To Code Igniter
Introduction To Code IgniterIntroduction To Code Igniter
Introduction To Code Igniter
Amzad Hossain
 
Getting Started with Zend Framework
Getting Started with Zend FrameworkGetting Started with Zend Framework
Getting Started with Zend Framework
Juan Antonio
 
Introduction To CodeIgniter
Introduction To CodeIgniterIntroduction To CodeIgniter
Introduction To CodeIgniter
Muhammad Hafiz Hasan
 
Integrate Shindig with Joomla
Integrate Shindig with JoomlaIntegrate Shindig with Joomla
Integrate Shindig with Joomla
Anand Sharma
 
contentDM
contentDMcontentDM
contentDM
spacecowboyian
 
Code igniter - A brief introduction
Code igniter - A brief introductionCode igniter - A brief introduction
Code igniter - A brief introduction
Commit University
 

Similar to 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
 

Recently uploaded

Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 

Recently uploaded (20)

Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.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