Agile web application development with Yii 1.1 and PHP5: fast-track your web application development by harnessing the power of the Yii PHP framework
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Birmingham [u.a.]
Packt Publ.
2010
|
Ausgabe: | 1. publ. |
Schriftenreihe: | Open source community experience distilled
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis Inhaltsverzeichnis |
Beschreibung: | VII, 348 S. Ill., graph. Darst. |
ISBN: | 9781847199584 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV039718499 | ||
003 | DE-604 | ||
005 | 20160413 | ||
007 | t | ||
008 | 111122s2010 ad|| |||| 00||| eng d | ||
020 | |a 9781847199584 |9 978-1-847199-58-4 | ||
024 | 3 | |a 9781847199584 | |
035 | |a (OCoLC)699810710 | ||
035 | |a (DE-599)BSZ327842407 | ||
040 | |a DE-604 |b ger | ||
041 | 0 | |a eng | |
049 | |a DE-11 |a DE-1046 | ||
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a ST 252 |0 (DE-625)143627: |2 rvk | ||
100 | 1 | |a Winesett, Jeffery |e Verfasser |4 aut | |
245 | 1 | 0 | |a Agile web application development with Yii 1.1 and PHP5 |b fast-track your web application development by harnessing the power of the Yii PHP framework |c Jeffery Winesett |
250 | |a 1. publ. | ||
264 | 1 | |a Birmingham [u.a.] |b Packt Publ. |c 2010 | |
300 | |a VII, 348 S. |b Ill., graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Open source community experience distilled | |
650 | 0 | 7 | |a PHP 5.0 |0 (DE-588)4763174-0 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Framework |g Informatik |0 (DE-588)4464685-9 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a PHP 5.0 |0 (DE-588)4763174-0 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Framework |g Informatik |0 (DE-588)4464685-9 |D s |
689 | 1 | |5 DE-604 | |
856 | 4 | 2 | |u http://www.gbv.de/dms/ilmenau/toc/633648574.PDF |z Kostenfrei |3 Inhaltsverzeichnis |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=024566645&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-024566645 |
Datensatz im Suchindex
_version_ | 1804148596212236288 |
---|---|
adam_text | Titel: Agile web application development with Yii 1.1 and PHP5
Autor: Winesett, Jeffery
Jahr: 2010
Table of Contents
Preface
Chapter 1: Meet Yii____________________________________________7
Yi i is easy 8
Yii is efficient 8
Yii is extensible 9
MVC architecture 9
The model 10
The view 10
The controller 10
Stitching these together: Yii request routing 11
Blog posting example 11
Object-relational mapping and Active Record 13
Active Record 14
The view and controller 14
Summary 15
Chapter 2: Getting Started_____________________________________17
Installing Yii 17
Installing a database 19
Creating a new application 19
Hello, World! 22
Creating the controller 22
One final step 26
Reviewing our request routing 27
Adding dynamic content 28
Adding the date and time 28
Adding the date and time, a better approach 29
Moving the data creation to the controller 29
Have you been paying attention? 30
Table of Contents
Linking pages together 31
Linking to a new page 31
Getting a little help from Yii CHtml 32
Summary 34
Chapter 3: The TrackStar Application____________________________35
Introducing TrackStar 35
Creating user stories 36
Users 36
Projects 36
Issues 37
Navigation and page flow 38
Defining a data scheme 39
Defining our development methodology 41
Automated software testing 41
Unit and functional testing 41
Benefits of testing 42
Test-driven development 43
Testing in Yii 43
Unit tests 44
Installing PHPUnit 45
Functional tests 45
Installing Selenium 45
Running a quick example 46
Hello TDD! 47
Summary 52
Chapter 4: Iteration 1: Creating the Initial TrackStar Application 53
Iteration planning 53
Creating the new application 54
Connecting to the database 55
Testing the connection 55
Yii and databases 57
Adding a db connection as an application component 58
Summary 60
Chapter 5: Iteration 2: Project CRUP__________________________ 61
Iteration planning 61
Running our test suite 62
Creating the project table 62
Naming conventions 63
Creating the AR model class 64
Configuring Gii 65
Using Gii to create our Project AR class 66
Table of Contents
Testing out our newly generated code 68
Creating the unit test file 69
Testing create 69
Testing read 71
Testing update and delete 72
Was all that testing really necessary? 73
Enabling CRUD operations for users 73
Creating CRUD scaffolding for projects 74
Creating a new project 77
Adding a required field to our form 78
Reading the project 82
Updating and deleting projects 83
Managing projects in admin mode 83
More on testing—fixtures 85
Configuring the fixture manager 86
Creating a fixture 86
Configuring this fixture for use 88
Specifying a test database 89
Using fixtures 90
Summary 92
Chapter 6: Iteration 3: Adding Tasks____________________________93
Iteration planning 93
Running the test suite 94
Designing the schema 95
Defining some relationships 95
Building the database and the relationships 96
Creating the Active Record model classes 98
Creating the Issue model class 98
Creating the User model class 101
Creating the Issue CRUD operations 101
Using the Issue CRUD operations 102
Creating a new Issue 103
Adding the types drop-down menu 104
Getting the test in the Red 105
Moving From Red To Green 105
Moving Back To Red 106
Getting back to Green once again 107
Adding the issue type dropdown 107
Adding the status drop-down menu: Do it yourself 111
Fixing the owner and requester fields 112
Enforcing a project context 112
Implementing a filter 113
--------------------------------------------(,„]---------------------------------------------
Table of Contents
Adding a filter 113
Specifying the filtered actions 114
Adding some filter logic 115
Adding the project ID 117
Altering the project details page 117
Removing the project input form field 118
Returning back to the owner and requester dropdowns 119
Generating the data to populate the drop-down menu 122
Adding User and ProjectUserAssignment fixtures 124
Making one last change 127
Finishing the rest of the CRUD 128
Listing the issues 129
Altering the ProjectController 129
Altering the project view file 130
Making some final tweaks 132
Getting the status and type text to display 132
Adding the text display to the form 136
Changing the issue detail view 137
Getting the owner and requester names to display 139
Using relational AR 139
Making some final navigation tweaks 141
Summary 145
Chapter 7: Iteration 4: User Management and Authentication 147
Iteration planning 147
Running the test suite 148
Creating our User CRUD 149
Updating our common audit history columns 150
Adding a password confirmation field 157
Adding password encryption 159
Authenticating users using the database 160
Introducing the Yii authentication model 160
Changing the authenticate implementation 165
Updating the user last login time 168
Displaying the last login time on the home page 169
Summary 170
Chapter 8: Iteration 5: User Access Control__________________ 171
Iteration planning 172
Running our existing test suite 173
accessControl filter 173
[iv]
Table of Contents
Role-based access control 178
Configuring the authorization manager 179
Creating the RBAC database tables 180
Creating the RBAC authorization hierarchy 181
Writing a console application command 182
Assigning users to roles 188
Adding RBAC roles to projects 189
Adding RBAC business rules 190
Implementing the new Project AR methods 191
Adding Users To Projects 202
Altering the Project model class 203
Adding the new form model class 205
Adding the new action method to the project controller 207
Adding the new view file to display the form 208
Putting it all together 210
Checking authorization level 211
Summary 213
Chapter 9: Iteration 6: Adding User Comments__________________215
Iteration planning 215
Creating the model 216
Creating the Comment CRUD 218
Altering the scaffolding to meet requirements 218
Adding a comment 220
Displaying the form 221
Creating a recent comments widget 224
Introducing CWidget 225
More on relational AR queries in Yii 227
Completing the test 229
Creating the widget 232
Summary 237
Chapter 10: Iteration 7: Adding an RSS Web Feed________________239
Iteration planning 239
A little background: Content Syndication, RSS, and Zend Framework 240
Installing Zend Framework 241
Using Zend_Feed 241
Creating user friendly URLs 244
Using the URL manager 245
Configuring routing rules 246
Removing the entry script from the URL 247
Adding the feed links 249
Summary 251
Table of Contents
Chapter 11: Iteration 8: Making it Pretty - Design, Layout,
Themes, and Internationalization(i18n) 253
Iteration planning 253
Designing with layouts 254
Specifying a layout 255
Applying and using a layout 255
Deconstructing the main.php layout file 257
Introducing the Blueprint CSS framework 259
Understanding the Blueprint installation 260
Setting the page title 260
Defining a page header 261
Displaying menu navigation items 262
Creating a breadcrumb navigation 265
Specifying the content being decorated by the layout 266
Defining the footer 267
Nesting the layouts 267
Creating themes 270
Building themes in Yii 270
Creating a Yii theme 270
Configuring the application to use a theme 277
Translating the site to other languages 278
Defining locale and language 279
Performing language translation 280
Performing message translation 280
Performing file translation 283
Summary 285
Chapter 12: Iteration 9: Modules - Adding Administration 287
Iteration planning 288
Modules 288
Creating a module 288
Using a module 291
Theming a module 292
Applying a theme 293
Restricting admin access 295
Adding a system-wide message 298
Creating the database table 298
Creating our model and CRUD scaffolding 299
Adding a link to our new functionality 301
[VÎ]
Table of Contents
Displaying the message to users 303
Importing the new model class for application-wide access 303
Selecting the most recently updated message 304
Adding a little design tweak 305
Summary 307
Chapter 13: Iteration 10: Production Readiness_________________309
Iteration planning 309
Logging 309
Message logging 310
Categories and levels 311
Adding a login message log 312
Message routing 313
Handling errors 316
Displaying errors 318
Caching 322
Configuring for cache 323
Using a file-based cache 324
Cache dependencies 329
Fragment caching 331
Declaring fragment caching options 331
Using fragment cache 332
Page caching 333
General performance tuning tips 335
Using APC 335
Disabling debug mode 335
Using yiilite.php 336
Using caching techniques 336
Enabling schema caching 336
Summary 337
Index 339
[vu]
|
any_adam_object | 1 |
author | Winesett, Jeffery |
author_facet | Winesett, Jeffery |
author_role | aut |
author_sort | Winesett, Jeffery |
author_variant | j w jw |
building | Verbundindex |
bvnumber | BV039718499 |
classification_rvk | ST 250 ST 252 |
ctrlnum | (OCoLC)699810710 (DE-599)BSZ327842407 |
discipline | Informatik |
edition | 1. publ. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01670nam a2200409 c 4500</leader><controlfield tag="001">BV039718499</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20160413 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">111122s2010 ad|| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781847199584</subfield><subfield code="9">978-1-847199-58-4</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9781847199584</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)699810710</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BSZ327842407</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-11</subfield><subfield code="a">DE-1046</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 252</subfield><subfield code="0">(DE-625)143627:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Winesett, Jeffery</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Agile web application development with Yii 1.1 and PHP5</subfield><subfield code="b">fast-track your web application development by harnessing the power of the Yii PHP framework</subfield><subfield code="c">Jeffery Winesett</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1. publ.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Birmingham [u.a.]</subfield><subfield code="b">Packt Publ.</subfield><subfield code="c">2010</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">VII, 348 S.</subfield><subfield code="b">Ill., graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Open source community experience distilled</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">PHP 5.0</subfield><subfield code="0">(DE-588)4763174-0</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Framework</subfield><subfield code="g">Informatik</subfield><subfield code="0">(DE-588)4464685-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">PHP 5.0</subfield><subfield code="0">(DE-588)4763174-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Framework</subfield><subfield code="g">Informatik</subfield><subfield code="0">(DE-588)4464685-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="u">http://www.gbv.de/dms/ilmenau/toc/633648574.PDF</subfield><subfield code="z">Kostenfrei</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=024566645&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-024566645</subfield></datafield></record></collection> |
id | DE-604.BV039718499 |
illustrated | Illustrated |
indexdate | 2024-07-10T00:09:39Z |
institution | BVB |
isbn | 9781847199584 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-024566645 |
oclc_num | 699810710 |
open_access_boolean | 1 |
owner | DE-11 DE-1046 |
owner_facet | DE-11 DE-1046 |
physical | VII, 348 S. Ill., graph. Darst. |
publishDate | 2010 |
publishDateSearch | 2010 |
publishDateSort | 2010 |
publisher | Packt Publ. |
record_format | marc |
series2 | Open source community experience distilled |
spelling | Winesett, Jeffery Verfasser aut Agile web application development with Yii 1.1 and PHP5 fast-track your web application development by harnessing the power of the Yii PHP framework Jeffery Winesett 1. publ. Birmingham [u.a.] Packt Publ. 2010 VII, 348 S. Ill., graph. Darst. txt rdacontent n rdamedia nc rdacarrier Open source community experience distilled PHP 5.0 (DE-588)4763174-0 gnd rswk-swf Framework Informatik (DE-588)4464685-9 gnd rswk-swf PHP 5.0 (DE-588)4763174-0 s DE-604 Framework Informatik (DE-588)4464685-9 s http://www.gbv.de/dms/ilmenau/toc/633648574.PDF Kostenfrei Inhaltsverzeichnis HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=024566645&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Winesett, Jeffery Agile web application development with Yii 1.1 and PHP5 fast-track your web application development by harnessing the power of the Yii PHP framework PHP 5.0 (DE-588)4763174-0 gnd Framework Informatik (DE-588)4464685-9 gnd |
subject_GND | (DE-588)4763174-0 (DE-588)4464685-9 |
title | Agile web application development with Yii 1.1 and PHP5 fast-track your web application development by harnessing the power of the Yii PHP framework |
title_auth | Agile web application development with Yii 1.1 and PHP5 fast-track your web application development by harnessing the power of the Yii PHP framework |
title_exact_search | Agile web application development with Yii 1.1 and PHP5 fast-track your web application development by harnessing the power of the Yii PHP framework |
title_full | Agile web application development with Yii 1.1 and PHP5 fast-track your web application development by harnessing the power of the Yii PHP framework Jeffery Winesett |
title_fullStr | Agile web application development with Yii 1.1 and PHP5 fast-track your web application development by harnessing the power of the Yii PHP framework Jeffery Winesett |
title_full_unstemmed | Agile web application development with Yii 1.1 and PHP5 fast-track your web application development by harnessing the power of the Yii PHP framework Jeffery Winesett |
title_short | Agile web application development with Yii 1.1 and PHP5 |
title_sort | agile web application development with yii 1 1 and php5 fast track your web application development by harnessing the power of the yii php framework |
title_sub | fast-track your web application development by harnessing the power of the Yii PHP framework |
topic | PHP 5.0 (DE-588)4763174-0 gnd Framework Informatik (DE-588)4464685-9 gnd |
topic_facet | PHP 5.0 Framework Informatik |
url | http://www.gbv.de/dms/ilmenau/toc/633648574.PDF http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=024566645&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT winesettjeffery agilewebapplicationdevelopmentwithyii11andphp5fasttrackyourwebapplicationdevelopmentbyharnessingthepoweroftheyiiphpframework |
Es ist kein Print-Exemplar vorhanden.
Inhaltsverzeichnis