万本电子书0元读

万本电子书0元读

顶部广告

Agile Web Application Development with Yii1.1 and PHP5电子书

售       价:¥

3人正在读 | 0人评论 9.8

作       者:Jeffrey Winesett

出  版  社:Packt Publishing

出版时间:2010-08-11

字       数:276.4万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
This is a step-by-step tutorial for developing web applications using Yii. This book follows the test-first, incremental, and iterative approach to software development while developing a project task management application called "TrackStar". If you are a PHP programmer with knowledge of object oriented programming and want to rapidly develop modern, sophisticated web applications, then this book is for you. No prior knowledge of Yii is required to read this book.
目录展开

Agile Web Application Development with Yii 1.1 and PHP5

Table of Contents

Agile Web Application Development with Yii 1.1 and PHP5

Credits

About the Author

About the Reviewers

Preface

What this book cover

What you need for this book

Who this book is for

Conventions

Reader feedback

Customer support

Errata

Piracy

Questions

1. Meet Yii

Yii is easy

Yii is efficient

Yii is extensible

MVC architecture

The model

The view

The controller

Stitching these together: Yii request routing

Blog posting example

Object-relational mapping and Active Record

Active Record

The view and controller

Summary

2. Getting Started

Installing Yii

Installing a database

Creating a new application

Hello, World!

Creating the controller

One final step

Reviewing our request routing

Adding dynamic content

Adding the date and time

Adding the date and time, a better approach

Moving the data creation to the controller

Have you been paying attention?

Linking pages together

Linking to a new page

Getting a little help from Yii CHtml

Summary

3. The TrackStar Application

Introducing TrackStar

Creating user stories

Users

Projects

Issues

Navigation and page flow

Defining a data scheme

Defining our development methodology

Automated software testing

Unit and functional testing

Unit tests

Functional tests

Benefits of testing

Test-driven development

Testing in Yii

Unit tests

Installing PHPUnit

Functional tests

Installing Selenium

Running a quick example

Hello TDD!

Summary

4. Iteration 1: Creating the Initial TrackStar Application

Iteration planning

Creating the new application

Connecting to the database

Testing the connection

Yii and databases

Adding a db connection as an application component

Summary

5. Iteration 2: Project CRUD

Iteration planning

Running our test suite

Creating the project table

Naming conventions

Creating the AR model class

Configuring Gii

Using Gii to create our Project AR class

Testing out our newly generated code

Creating the unit test file

Testing create

Testing read

Testing update and delete

Was all that testing really necessary?

Enabling CRUD operations for users

Creating CRUD scaffolding for projects

Creating a new project

Adding a required field to our form

Reading the project

Updating and deleting projects

Managing projects in admin mode

More on testing—fixtures

Configuring the fixture manager

Creating a fixture

Configuring this fixture for use

Specifying a test database

Using fixtures

Summary

6. Iteration 3: Adding Tasks

Iteration planning

Running the test suite

Designing the schema

Defining some relationships

Building the database and the relationships

Creating the Active Record model classes

Creating the Issue model class

Creating the User model class

Creating the Issue CRUD operations

Using the Issue CRUD operations

Creating a new Issue

Adding the types drop-down menu

Getting the test in the "Red"

Moving From "Red" To "Green"

Moving Back To "Red"

Getting back to "Green" once again

Adding the issue type dropdown

Adding the status drop-down menu: Do it yourself

Fixing the owner and requester fields

Enforcing a project context

Implementing a filter

Adding a filter

Specifying the filtered actions

Adding some filter logic

Adding the project ID

Altering the project details page

Removing the project input form field

Returning back to the owner and requester dropdowns

Generating the data to populate the drop-down menu

Adding User and ProjectUserAssignment fixtures

Making one last change

Finishing the rest of the CRUD

Listing the issues

Altering the ProjectController

Altering the project view file

Making some final tweaks

Getting the status and type text to display

Adding the text display to the form

Changing the issue detail view

Getting the owner and requester names to display

Using relational AR

Making some final navigation tweaks

Summary

7. Iteration 4: User Management and Authentication

Iteration planning

Running the test suite

Creating our User CRUD

Updating our common audit history columns

Adding a password confirmation field

Adding password encryption

Authenticating users using the database

Introducing the Yii authentication model

Changing the authenticate implementation

Extending application user attributes

Updating the user last login time

Displaying the last login time on the home page

Summary

8. Iteration 5: User Access Control

Iteration planning

Running our existing test suite

accessControl filter

Role-based access control

Configuring the authorization manager

Creating the RBAC database tables

Creating the RBAC authorization hierarchy

Writing a console application command

Assigning users to roles

Adding RBAC roles to projects

Adding RBAC business rules

Implementing the new Project AR methods

Adding Users To Projects

Altering the Project model class

Adding the new form model class

Adding the new action method to the project controller

Adding the new view file to display the form

Putting it all together

Checking authorization level

Summary

9. Iteration 6: Adding User Comments

Iteration planning

Creating the model

Creating the Comment CRUD

Altering the scaffolding to meet requirements

Adding a comment

Displaying the form

Creating a recent comments widget

Introducing CWidget

More on relational AR queries in Yii

Completing the test

Creating the widget

Introducing CPortlet

Adding our widget to another page

Summary

10. Iteration 7: Adding an RSS Web Feed

Iteration planning

A little background: Content Syndication, RSS, and Zend Framework

Installing Zend Framework

Using Zend_Feed

Creating user friendly URLs

Using the URL manager

Configuring routing rules

Removing the entry script from the URL

Adding the feed links

Summary

11. Iteration 8: Making it Pretty - Design, Layout, Themes, and Internationalization(i18n)

Iteration planning

Designing with layouts

Specifying a layout

Applying and using a layout

Deconstructing the main.php layout file

Introducing the Blueprint CSS framework

Understanding the Blueprint installation

Setting the page title

Defining a page header

Displaying menu navigation items

Creating a breadcrumb navigation

Specifying the content being decorated by the layout

Defining the footer

Nesting the layouts

Creating themes

Building themes in Yii

Creating a Yii theme

Configuring the application to use a theme

Translating the site to other languages

Defining locale and language

Performing language translation

Performing message translation

Performing file translation

Summary

12. Iteration 9: Modules - Adding Administration

Iteration planning

Modules

Creating a module

Using a module

Theming a module

Applying a theme

Restricting admin access

Adding a system-wide message

Creating the database table

Creating our model and CRUD scaffolding

Adding a link to our new functionality

Displaying the message to users

Importing the new model class for application-wide access

Selecting the most recently updated message

Adding a little design tweak

Summary

13. Iteration 10: Production Readiness

Iteration planning

Logging

Message logging

Categories and levels

Adding a login message log

Message routing

Handling errors

Displaying errors

Caching

Configuring for cache

Using a file-based cache

Cache dependencies

Fragment caching

Declaring fragment caching options

Using fragment cache

Page caching

General performance tuning tips

Using APC

Disabling debug mode

Using yiilite.php

Using caching techniques

Enabling schema caching

Summary

Index

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部