Index
A
- accessControl filter / Specifying the filtered actions
- about / accessControl filter
- implementing / accessControl filter
- access rules
- about / accessControl filter
- controllers / accessControl filter
- roles / accessControl filter
- ips / accessControl filter
- verbs / accessControl filter
- expression / accessControl filter
- actions / accessControl filter
- users / accessControl filter
- accessRules() method / accessControl filter, Adding Users To Projects
- actionAdduser() method / Adding Users To Projects, Adding the new view file to display the form, Checking authorization level
- actionAdmin() contorller action / accessControl filter
- actionCreate() method / Blog posting example, Specifying the filtered actions
- actionDelete() controller action / accessControl filter
- actionFeed() method / Using Zend_Feed
- actionGoodbye() method / Linking to a new page
- actionHelloWorld() / Creating the controller
- actionHelloworld() method / Unit tests
- actionHelloWorld() method / Reviewing our request routing
- actionID parameter / Creating the controller
- actionIndex() method / Creating the controller, Listing the issues
- actionLogin() method / Adding the new action method to the project controller, Displaying menu navigation items
- actionShow() method / Blog posting example
- actionUpdate() method / Specifying the filtered actions
- actionView() method / Specifying the filtered actions, Altering the ProjectController, Adding a comment
- Active Record (AR)
- about / The model, Active Record
- Active Record model classes
- creating / Creating the Active Record model classes
- issue model class, creating / Creating the Issue model class
- user model class, creating / Creating the User model class
- addChild() method / Creating the RBAC authorization hierarchy
- admin module
- building / Restricting admin access
- AdminModule*beforeControllerAction() method / Restricting admin access
- afterValidate() method / Adding password encryption
- anonymous user / Users
- AR model class
- creating / Creating the AR model class
- Gii, configuring / Configuring Gii
- creating, Gii used / Using Gii to create our Project AR class
- testing / Testing out our newly generated code
- assertEquals() / Hello TDD!
- associateUserToProject() method / Adding Users To Projects
- Attribute List / Adding a required field to our form
- AuthAssignment table / Creating the RBAC database tables
- authenticate() method / Introducing the Yii authentication model
- authenticated user / Users
- AuthItemChild table / Creating the RBAC database tables
- AuthItem table / Creating the RBAC database tables
- authManager component
- authorization item / Role-based access control
- authorization level
- checking / Checking authorization level
- authorization manager, RBAC
- configuring / Configuring the authorization manager
B
- basic entity relationship
- diagrammatic representation / Defining some relationships
- about / Defining some relationships
- beforeValidate() method / Creating the model
- beginCache() method / Fragment caching
- beginContent() method / Nesting the layouts
- bindValue() method / Implementing the new Project AR methods
- blog posting example
- about / Blog posting example
- Blueprint CSS framework
- Blueprint installation
C
- cache
- configuring / Configuring for cache
- file-based cache / Using a file-based cache
- dependencies / Cache dependencies
- fragment caching / Fragment caching
- page caching / Page caching
- cache, Yii
- cache dependencies
- about / Cache dependencies
- CCacheDependency / Cache dependencies
- CFileCacheDependency / Cache dependencies
- CDirectoryCacheDependency / Cache dependencies
- CDbCacheDependency / Cache dependencies
- CGlobalStateCacheDependency / Cache dependencies
- CChainedCacheDependency / Cache dependencies
- CExpressionDependency / Cache dependencies
- caching
- about / Caching
- caching techniques / Using caching techniquescaching techniques
- CActiveForm*labelEx() method / Adding the issue type dropdown
- CActiveForm*textField() method / Adding the issue type dropdown
- CActiveForm class / Adding the issue type dropdown
- CActiveForm widget / Adding the issue type dropdown
- CActiveRecord / Using Gii to create our Project AR class
- CActiveRecord*beforeValidate() method / Updating our common audit history columns
- CActiveRecord class / The model
- CApcCache / Caching
- CApplication*findLocalizedFile() method / Performing file translation
- CApplication*handleError() method / Handling errors
- CBreadcrumbs / Creating a breadcrumb navigation
- CController*beginCache() method / Fragment caching
- CController*endCache() method / Fragment caching
- CController*render() method / Page caching
- CController*renderPartial() method / Applying and using a layout
- CController base class / Specifying the filtered actions
- CDbAuthManager component
- CDbCache / Caching
- CDbCommand class / Implementing the new Project AR methods
- CDbConnection*tablePrefix property / Naming conventions
- CDbConnection class / Yii and databases
- CdbFixtureManager class / Configuring the fixture manager
- CDbMessageSource
- about / Performing message translation
- CDetailView widget / Changing the issue detail view
- CDummyCache / Caching
- CEAcceleratorCache / Caching
- CErrorHandler / Handling errors, Displaying errors
- CException / Handling errors
- CFileCache / Caching
- CFileLogRoute message routing / Message routing
- CFormModel class / The model
- CGettextMessageSource
- about / Performing message translation
- checkAccess() method / Adding RBAC business rules
- CHtml
- CHtml*listData() method / Generating the data to populate the drop-down menu
- CHtml helper class
- about / Summary
- CListView widget / Changing the issue detail view
- CMemCache / Caching
- Comment*findRecentComments() method / Introducing CWidget
- Comment*relations() method / Creating the model
- CommentController*accessRules() method / Using Zend_Feed
- comment CRUD
- creating / Creating the Comment CRUD
- Common Locale Data Repository (CLDR) / Defining locale and language
- configuration, Yii
- about / Installing Yii
- controller
- about / The controller, The view and controller
- controller command / Creating the controller
- controller method / Adding the issue type dropdown
- COutputCache class
- about / Page caching
- COutputCache filter / Page caching
- CPhpAuthManager component
- CPhpMessageSource
- about / Performing message translation
- CPortlet
- about / Introducing CPortlet
- createAbsoluteUrl() method / Using Zend_Feed
- createCommand() method / Implementing the new Project AR methods
- createOperation() method / Creating the RBAC authorization hierarchy
- createRole() method / Creating the RBAC authorization hierarchy
- createUrl() method / Using Zend_Feed
- CRUD operations
- implementing, for issues / Finishing the rest of the CRUD
- CRUD operations, enabling
- for users / Enabling CRUD operations for users
- CRUD scaffolding, creating / Creating CRUD scaffolding for projects
- new project, creating / Creating a new project
- required field, adding to form / Adding a required field to our form
- new project, reading / Reading the project
- projects, deleting / Updating and deleting projects
- projects, updating / Updating and deleting projects
- projects, managing in admin console / Managing projects in admin mode
- CRUD operations implementation, for issues
- about / Finishing the rest of the CRUD
- issues, listing / Listing the issues
- ProjectController, altering / Altering the ProjectController
- project view file, altering / Altering the project view file
- CWebApplication class / Specifying a layout
- CWidget
- about / Introducing CWidget
- relational AR queries, executing / More on relational AR queries in Yii
- test, completing / Completing the test
- CXCache / Caching
- CZendDataCache / Caching
D
- $dsn variable
- formats / Yii and databases
- about / Yii and databases
- database connection, TrackStar application
- about / Connecting to the database
- testing / Testing the connection
- adding, as application component / Adding a db connection as an application component
- databases
- SQLite / Yii and databases
- MySQL / Yii and databases
- PostgreSQL / Yii and databases
- SQL Server / Yii and databases
- Oracle / Yii and databases
- Data Definition Language (DDL) / Creating the project table
- Data Definition Language (DDL) statements / Building the database and the relationships
- data scheme
- defining / Defining a data scheme
- DBMS
- about / Yii and databases
- connection, establishing / Yii and databases
- debug mode
- disabling / Disabling debug mode
- development methodology
- defining / Defining our development methodology
- automated software testing / Automated software testing
- unit and functional testing / Unit and functional testing
- benefits, of testing / Benefits of testing
- TDD / Test-driven development
- Document Object Model (DOM) / Adding a little design tweak
- DOMDocument*createElement() method / Using Zend_Feed
- dropDownList() method / Adding the issue type dropdown
- dynamic content
- adding, to view template / Adding dynamic content
- dynamic content, adding
- date and time, adding / Adding the date and time
- data creation, moving to controller / Moving the data creation to the controller
E
- eager loading
- endCache() method / Fragment caching
- endContent() method / Nesting the layouts
- error handling
- about / Handling errors
- errors, displaying / Displaying errors
- exception classes
- CException / Handling errors
- CHttpException / Handling errors
F
- false parameter / Testing create
- file-based cache
- about / Using a file-based cache
- implementing / Using a file-based cache
- filter method / Implementing a filter
- filters() method / accessControl filter
- final changes, issues
- status and type text, getting to display / Getting the status and type text to display
- text display, adding to form / Adding the text display to the form
- issue detail view, changing / Changing the issue detail view
- owner and requester names, getting to display / Getting the owner and requester names to display
- relational AR, using / Using relational AR
- final navigation tweaks, issues
- making / Making some final navigation tweaks
- find() method / More on relational AR queries in Yii
- findAll() method / More on relational AR queries in Yii
- findByPk() method / Testing read
- findRecentComments() method / More on relational AR queries in Yii
- fixture manager
- configuring / Configuring the fixture manager
- fixtures
- about / More on testing—fixtures
- creating / Creating a fixture
- configuring / Configuring this fixture for use
- flash message
- fragment caching
- about / Fragment caching
- options, declaring / Declaring fragment caching options
- using / Using fragment cache
- functional tests
- about / Functional tests, Functional tests
- Selenium, installing / Installing Selenium
- test example, running / Running a quick example
G
- getHelp() method / Writing a console application command
- getRecentComments() method / Creating the widget
- getRoles() method / Adding Users To Projects
- getStatusText() method / Changing the issue detail view
- getter method / Adding User and ProjectUserAssignment fixtures
- getTypeOptions() method / Moving From "Red" To "Green", Adding the issue type dropdown
- getTypeText() method / Changing the issue detail view
- getUserOptions() method / Adding User and ProjectUserAssignment fixtures
- getUserRoleOptions() method / Adding Users To Projects
- Gii
- about / Creating the AR model class
- configuring / Configuring Gii
H
- hasFlash() method / Adding the new view file to display the form
- Hello World! example
- about / Hello, World!
- building / Hello, World!
- controller, creating / Creating the controller
- helloWorld.php view, customizing / One final step
- request routing, reviewing / Reviewing our request routing
- helper class / Adding the issue type dropdown
I
- importArray() method / Using Zend_Feed
- init() method / Creating the widget, Applying a theme
- installation
- Yii / Installing Yii
- database / Installing a database
- internationalization (i18n)
- issue
- creating / Creating a new Issue
- dropdown menu, adding for types / Adding the types drop-down menu
- types / Adding the types drop-down menu
- Issue*attributeLabels() method / Adding the issue type dropdown
- Issue*getStatusText() method / Changing the issue detail view
- Issue*getTypeOptions() method / Getting back to "Green" once again
- Issue*getTypeText() method / Changing the issue detail view
- issue*relations() method / Creating the model
- Issue*relations() method / Using relational AR
- Issue*rules() method / Adding the issue type dropdown
- Issue*search() model class method / Making some final navigation tweaks
- Issue.php model class / Adding the issue type dropdown
- Issue AR class / Adding a comment
- Issue class / Getting back to "Green" once again
- IssueController*actionAdmin() method / Making some final navigation tweaks
- IssueController*actionCreate() method / Removing the project input form field
- IssueController*actionIndex() method / Making some final navigation tweaks
- IssueController*actionView() method / Adding a comment, Completing the test
- IssueController*filters() method / Specifying the filtered actions
- IssueController class / Enforcing a project context
- issue creation process
- drop-down menu, adding / Adding the types drop-down menu
- test, getting in red / Getting the test in the "Red"
- test, moving red to green / Moving From "Red" To "Green"
- test, moving to red / Moving Back To "Red"
- test, moving to green / Getting back to "Green" once again
- issue type dropdown, adding / Adding the issue type dropdown
- status dropdown, adding / Adding the status drop-down menu: Do it yourself
- Issue CRUD operations
- creating / Creating the Issue CRUD operations
- using / Using the Issue CRUD operations
- issue management functionality
- iteration planning / Iteration planning
- test suite, running / Running the test suite
- schema, designing / Designing the schema
- relationships, defining / Defining some relationships
- tables and relationships, creating / Building the database and the relationships
- Active Record model classes, creating / Creating the Active Record model classes
- Issue model attribute / Adding the issue type dropdown
- issue model class
- creating / Creating the Issue model class
- Issue model class / Adding the issue type dropdown
- issues
- listing / Listing the issues
- ProjectController, altering / Altering the ProjectController
- project view file, altering / Altering the project view file
- final tweaks / Making some final tweaks
- isUserInProject() method / Adding Users To Projects
- isUserInRole() method / Implementing the new Project AR methods
L
- language translation
- performing / Performing language translation
- about / Performing language translation
- message translation, performing / Performing message translation
- file translation, performing / Performing file translation
- last_login_time attribute / Updating our common audit history columns
- layout
- about / Designing with layouts
- nesting / Nesting the layouts
- layout files
- about / Designing with layouts
- lazy loading
- localization (L10n)
- logging
- about / Logging
- message logging / Message logging
- levels / Categories and levels
- categories / Categories and levels
- login message log, adding / Adding a login message log
- message routing / Message routing
- login() method / Introducing the Yii authentication model
- LoginForm*attributeLabels() method / Performing message translation
- logPath property / Message routing
M
- main.php layout file, deconstructing
- about / Deconstructing the main.php layout file
- Blueprint CSS Framework, introducing / Introducing the Blueprint CSS framework
- page title, setting / Setting the page title
- page header, defining / Defining a page header
- menu navigation items, displaying / Displaying menu navigation items
- breadcrumb navigation, creating / Creating a breadcrumb navigation
- content, specifying / Specifying the content being decorated by the layout
- footer, defining / Defining the footer
- MessageController class / Creating the controller, Hello TDD!
- message logging
- about / Message logging
- message routes
- CDbLogRoute / Message routing
- CEmailLogRoute / Message routing
- CWebLogRoute / Message routing
- CProfileLogRoute / Message routing
- message routing
- about / Message routing
- message sources, Yii
- CPhpMessageSource / Performing message translation
- CGettextMessageSource / Performing message translation
- CDbMessageSource / Performing message translation
- model
- model, user comments
- creating / Creating the model
- module
- about / Modules
- creating / Creating a module
- using / Using a module
- theming / Theming a module
- theme, applying / Applying a theme
- system-wide message, adding / Adding a system-wide message
- MVC architecture, Yii
- about / MVC architecture
- model / The model
- view / The view
- controller / The controller
O
- Object-relational mapping
- on parameter / Adding a required field to our form
- owner and requester dropdowns
- changing / Returning back to the owner and requester dropdowns
- data, generating / Generating the data to populate the drop-down menu
- ProjectUserAssignment fixture, adding / Adding User and ProjectUserAssignment fixtures
- user fixture, adding / Adding User and ProjectUserAssignment fixtures
- fields, removing / Making one last change
- owner and requester fields, fixing
- about / Fixing the owner and requester fields
- project context, enforcing / Enforcing a project context
- filter, implementing / Implementing a filter
- filter, adding / Adding a filter
- filtered actions, specifying / Specifying the filtered actions
- filter logic, adding / Adding some filter logic
- project id, adding / Adding the project ID
- project details page, altering / Altering the project details page
- project input form field, removing / Removing the project input form field
P
- $pageTitle attribute / Setting the page title
- page caching
- about / Page caching
- performance tuning tips
- about / General performance tuning tips
- APCextension , using / Using APC
- debug mode, disabling / Disabling debug mode
- yiilite.php, using / Using yiilite.php
- caching techniques, using / Using caching techniquescaching techniques
- schema caching, enabling / Enabling schema caching
- PHP APC extension
- enabling / Using APC
- PHPUnit
- installing / Installing PHPUnit
- PostgreSQL / Naming conventions
- private $_project attribute / Adding User and ProjectUserAssignment fixtures
- production environment
- iteration planning / Iteration planning
- logging / Logging
- error handling / Handling errors
- caching / Caching
- performance tuning tips / General performance tuning tips
- production mode / Displaying errors
- Project*associateUserToRole() method / Implementing the new Project AR methods
- Project*isUserInRole() method / Implementing the new Project AR methods
- Project*relations() method / Returning back to the owner and requester dropdowns
- Project AR class, testing
- about / Testing out our newly generated code
- unit test file, creating / Creating the unit test file
- create, testing / Testing create
- read, testing / Testing read
- delete, testing / Testing update and delete
- update, testing / Testing update and delete
- project attribute / Adding User and ProjectUserAssignment fixtures
- projectContext filter / Specifying the filtered actions
- ProjectController*accessRules() method / accessControl filter
- ProjectController*actionIndex() method / Adding the feed links , Selecting the most recently updated message, Cache dependencies
- ProjectController*actionView() method / Adding the feed links
- ProjectController*filters() method / accessControl filter
- ProjectController*loadModel() method / Displaying errors
- ProjectController class / Altering the ProjectController
- project CRUD
- iteration planning / Iteration planning
- test suite, running / Running our test suite
- project table, creating / Creating the project table
- AR model class, creating / Creating the AR model class
- CRUD operations, enabling / Enabling CRUD operations for users
- project issues, TrackStar application
- project table
- creating / Creating the project table
- naming conventions / Naming conventions
- ProjectTest*testCreate() method / Updating our common audit history columns
- project_id attribute / Removing the project input form field
- project_id property / Removing the project input form field
- public method / Implementing the new Project AR methods
Q
- querystring parameter / Adding the project ID, Displaying errors
- querystring variable / Blog posting example
R
- RBAC authorization hierarchy
- creating / Creating the RBAC authorization hierarchy
- console application command, writing / Writing a console application command
- RBAC database tables
- creating / Creating the RBAC database tables
- AuthItem table / Creating the RBAC database tables
- AuthItemChild table / Creating the RBAC database tables
- AuthAssignment table / Creating the RBAC database tables
- RBAC roles
- adding, to projects / Adding RBAC roles to projects
- RBAC business rules, adding / Adding RBAC business rules
- new Project AR methods, implementing / Implementing the new Project AR methods
- RBAC users, assigning to projects
- about / Adding Users To Projects
- Project model class, altering / Altering the Project model class
- new form model class, adding / Adding the new form model class
- new action method, adding to project controller / Adding the new action method to the project controller
- new view file, adding to diplay form / Adding the new view file to display the form
- Really Simple Syndication
- recent comments widget
- creating / Creating a recent comments widget
- relational AR queries
- executing / More on relational AR queries in Yii
- lazy loading / More on relational AR queries in Yii
- eager loading / More on relational AR queries in Yii
- relations() method / Returning back to the owner and requester dropdowns
- render() / Linking to a new page
- render() method / Applying and using a layout
- renderPartial() / Theming a module
- repeat() / Hello TDD!
- request routing, Yii
- about / Stitching these together: Yii request routing
- blog posting example / Blog posting example
- Reversish translations
- about / Performing message translation
- role-based access control (RBAC)
- about / Role-based access control
- authorization manager, configuring / Configuring the authorization manager
- database tables, creating / Creating the RBAC database tables
- authorization hierarchy, creating / Creating the RBAC authorization hierarchy
- users, assigning to roles / Assigning users to roles
- roles, adding to projects / Adding RBAC roles to projects
- business rules, adding / Adding RBAC business rules
- users, assigning to projects / Adding Users To Projects
- RSS feed
- iteration planning / Iteration planning
- rules() method / Adding a required field to our form , Updating our common audit history columns
- run() method / Writing a console application command, Creating the widget
S
- save() method / Testing create, Updating our common audit history columns
- scaffolding / Creating CRUD scaffolding for projects
- scaffolding code, user comments
- altering / Altering the scaffolding to meet requirements
- comment, adding / Adding a comment
- form, displaying / Displaying the form
- schema caching
- enabling / Enabling schema caching
- Selenium
- installing / Installing Selenium
- setAttributes() method / Testing create, Updating our common audit history columns
- setFlash() method / Adding the new action method to the project controller
- SiteController / Blog posting example
- SiteController*actionLogin() method / Nesting the layouts, Adding a login message log
- SiteController class / Categories and levels
- static method / Adding the new view file to display the form
- statusCode property / Handling errors
- SysMessageController*accessRules() method / Adding a link to our new functionality
- system-wide message, adding to module
- database table, creating / Creating the database table
- model, creating / Creating our model and CRUD scaffolding
- CRUD scaffolding, creating / Creating our model and CRUD scaffolding
- link, adding / Adding a link to our new functionality
- message, displaying to users / Displaying the message to users
- system-wide message, displaying to users
- new model class, importing for application-wide access / Importing the new model class for application-wide access
- most recently updated message, selecting / Selecting the most recently updated message
- design tweak, adding / Adding a little design tweak
T
- tbl_project table / Using Gii to create our Project AR class
- TDD
- about / Test-driven development
- implementing, in testing framework / Hello TDD!
- testActionHelloworld() method / Unit tests
- testCreate() method / Using fixtures
- testCRUD() method / Creating the unit test file
- test database
- specifying / Specifying a test database
- specifying, fixtures used / Using fixtures
- testDelete() method / Using fixtures
- test fixture
- about / More on testing—fixtures
- testing
- benefits / Benefits of testing
- testing, Yii
- about / Testing in Yii
- TDD approach, implementing / Hello TDD!
- testing fixtures
- about / More on testing—fixtures
- fixture manager, configuring / Configuring the fixture manager
- fixture, creating / Creating a fixture
- fixture, configuring / Configuring this fixture for use
- test database, specifying / Specifying a test database
- test database, specifying with fixtures / Using fixtures
- testRepeat() method / Hello TDD!
- testUserAccessBasedOnProjectRole() method / Implementing the new Project AR methods
- themes
- creating / Creating themes
- TrackStar
- about / Introducing TrackStar
- TrackStarActiveRecord base class / Creating the model
- TrackStar application
- user stories, creating / Creating user stories
- projects, managing / Projects
- project issues / Issues
- navigation and page flow / Navigation and page flow
- application flow / Navigation and page flow
- data scheme, defining / Defining a data scheme
- development methodology, defining / Defining our development methodology
- iteration planning / Iteration planning
- Yii web application, creating / Creating the new application
- database, connecting / Connecting to the database
- database connection, testing / Testing the connection
- designing, with layouts / Designing with layouts
- layout, specifying / Specifying a layout
- layout, applying / Applying and using a layout
- layout, using / Applying and using a layout
- main.php layout file, deconstructing / Deconstructing the main.php layout file
- layouts, nesting / Nesting the layouts
- themes, creating / Creating themes
- configuring, to use theme / Configuring the application to use a theme
- translating, to other languages / Translating the site to other languages
- internationalization (i18n) / Translating the site to other languages
- localization (L10n) / Translating the site to other languages
- language, defining / Defining locale and language
- locale, defining / Defining locale and language
- language translation, performing / Performing language translation
- logging / Logging
- error handling / Handling errors
- caching / Caching
- performance tuning tips / General performance tuning tips
- trackstar_dev database / Creating the project table , Generating the data to populate the drop-down menu
- type_id attribute / Adding the issue type dropdown
U
- unit tests
- about / Unit tests, Unit tests
- PHPUnit, installing / Installing PHPUnit
- url manager
- about / Using the URL manager
- using / Using the URL manager
- routing rules, configuring / Configuring routing rules
- entry script, removing from url / Removing the entry script from the URL
- User*rules() method / Updating our common audit history columns
- user access requirements
- iteration planning / Iteration planning
- test suite, running / Running our existing test suite
- accessControl filter / accessControl filter
- ProjectController*accessRules() method / accessControl filter
- ProjectController*filters() method / accessControl filter
- access rules / accessControl filter
- authorization level, checking / Checking authorization level
- user authentication
- database used / Authenticating users using the database
- Yii authentication model, introducing / Introducing the Yii authentication model
- authenticate implementation, changing / Changing the authenticate implementation
- application user attributes, extending / Extending application user attributes
- user comments
- iteration planning / Iteration planning
- model, creating / Creating the model
- comment CRUD, creating / Creating the Comment CRUD
- scaffolding code, altering / Altering the scaffolding to meet requirements
- recent comments widget, creating / Creating a recent comments widget
- user CRUD
- creating / Creating our User CRUD
- common audit history columns, updating / Updating our common audit history columns
- password confirmation field, adding / Adding a password confirmation field
- password encryption, adding / Adding password encryption
- user friendly URLs
- creating / Creating user friendly URLs
- url manager used / Using the URL manager
- feed links, adding / Adding the feed links
- UserIdentity*authenticate() method / Introducing the Yii authentication model
- user last login time
- updating / Updating the user last login time
- displaying, on home page / Displaying the last login time on the home page
- user management
- iteration planning / Iteration planning
- test suite, running / Running the test suite
- user CRUD, creating / Creating our User CRUD
- users, authenticating / Authenticating users using the database
- user last login time, updating / Updating the user last login time
- user model class
- creating / Creating the User model class
- users, TrackStar
- user stories, TrackStar application
- creating / Creating user stories
- users / Users
- projects / Projects
- project issues / Issues
V
- validate() method / Introducing the Yii authentication model
- Validator / Adding a required field to our form
- Validator class aliases
- boolean / Adding a required field to our form
- captcha / Adding a required field to our form
- compare / Adding a required field to our form
- email / Adding a required field to our form
- default / Adding a required field to our form
- exist / Adding a required field to our form
- file / Adding a required field to our form
- filter / Adding a required field to our form
- in / Adding a required field to our form
- length / Adding a required field to our form
- match / Adding a required field to our form
- required / Adding a required field to our form
- type / Adding a required field to our form
- unique / Adding a required field to our form
- varyByExpression / Page caching
- varyByParam / Page caching
- varyByParam configuration / Page caching
- varyByRoute / Page caching
- varyBySession / Page caching
- verify() method / Adding Users To Projects
- view
- about / The view, The view and controller
W
- webapp command / Creating a new application, Writing a console application command
- Web Content Syndication
- web pages, linking
- about / Linking pages together
- new page, linking to / Linking to a new page
- CHtml, using / Getting a little help from Yii CHtml
- widget
- creating / Introducing CWidget, Creating the widget
- adding, to another page / Adding our widget to another page
- with() method / More on relational AR queries in Yii
Y
- Yii
- features / Yii is easy , Yii is extensible
- efficiency / Yii is efficient
- extensibility / Yii is extensible
- user-friendly / Yii is extensible
- MVC architecture / MVC architecture
- request routing / Stitching these together: Yii request routing
- web request lifecycle / Stitching these together: Yii request routing
- blog posting example / Blog posting example
- Object-relational mapping / Object-relational mapping and Active Record
- Active Record (AR) / Active Record
- Active Record / Active Record
- controller / The view and controller
- view / The view and controller
- installing / Installing Yii
- downloading / Installing Yii
- application, creating / Creating a new application
- Hello World! program / Hello, World!
- dynamic content, adding / Adding dynamic content
- web pages, linking / Linking pages together
- testing / Testing in Yii
- unit tests / Unit tests
- functional tests / Functional tests
- databases / Yii and databases
- themes, building / Building themes in Yii
- message sources / Performing message translation
- logging / Logging
- message routes / Message routing
- exception classes / Handling errors
- Yii*log method / Message logging
- Yii*trace method / Message logging
- yiic command / Creating a new application
- yiic shell command / Writing a console application command
- yiic tool / Creating the controller, Writing a console application command
- yiic webapp command / Message routing
- yiic webapp console command / Testing in Yii
- Yii DAO
- about / Yii and databases
- Yii installation
- about / Installing Yii
- ensuring / Installing Yii
- configuration / Installing Yii
- database, installing / Installing a database
- yiilite.php
- using / Using yiilite.php
- Yii theme
- creating / Creating a Yii theme
- Yii web application
- creating / Creating a new application, Reviewing our request routing
- dynamic content, adding / Adding dynamic content
- Yii web request lifecycle
- Yii widget
- about / Introducing CWidget
Z
- Zend Framework
- Zend_Feed
- Zii
- about / Yii is extensible