INDEX
492
Notifier class, 140
RegistrationMgr class, 140
TextNotifier class, 140
See also decoupling
create command, 363
create_function(), 67–68
createObject(), 278, 282, 287, 291, 298–300
CruiseControl
acquiring and building the userthing
project, 440
adding an install-package target, 447
adding your own build targets, 447
always element, 447
amending the CruiseControl environment
to support phpUnderControl, 439
Ant, 436, 440
artifacts, definition of, 449
artifactspublisher element, 449
bug in the phpuc graph command, 442
build target, 447
build.xml, 440
cc.pid, 439
checkout target, 448
CodeSniffer, 444
config.xml, 436, 440, 443
connecting to a mail server, 447
cruisecontrol.sh script, 439
customizing, 436
Dashboard screen, 437
depends attribute, 447
displaying the failed build, 448
downloading and installing, 437
email element, 446
ensuring automatic startup, 437
exec element, 443, 448, 450
failure element, 447
generating build reports, 436
htmlemail publisher, 447
installing Java as a requirement, 436
learning, 440
mailport element, 447
make-package target, 448
Metrics screen, 445
output attribute, 448
Overview screen, 443
pear package command, 448
phpuc project command, using, 441
phpunit task, code example, 443
publishers element, 446, 449
receiving failure notifications, 446
setting up a basic report for the install-
package target, 449
target elements, 443
testing the Validate class, 445
Tests tab, 446
ThoughtWorks, 436
usessl element, 447
validateUser(), 446
viewing an error report for a failed test, 446
wrong element, 448
XML Log File link, 449
CVS, 459
D
data layer, 223, 275
Data Mapper pattern
add(), 282–283
advantages and disadvantages of, 287
createObject(), 278, 282, 287
data mapper, definition of, 276
deconstructing into a set of finer-grained
patterns, 298
decoupling between the Domain layer and
database, 288
disconnect between classes and relational
databases, 276
doCreateObject(), 278–279, 286–287
doInsert(), 277–279
domain object assemblers, 311
DomainObject class, code listing, 284
DomainObjectAssembler class, code listing,
311
factoring the SpaceMapper class into
VenueMapper, 277
find(), 278–280
findAll(), 286
findByVenue(), 286
getCollection(), 284, 286
getFinder(), 284
getRow(), 282
getSpaces(), 285, 287
getVenueMapper(), 278
handling multiple rows, 280
implementing, 276

Get PHP Objects, Patterns, and Practice, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.