售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
Mastering Joomla! 1.5 Extension and Framework Development
Table of Contents
Mastering Joomla! 1.5 Extension and Framework Development
Credits
About the Author
About the Reviewer
Preface
History
What this book covers
What you need for this book
Conventions
Reader feedback
Customer support
Errata
Piracy
Questions
1. Introduction to Joomla!
Overview
Joomla! 1.5 Framework
Framework layer
Libraries
Framework
Plugins
Application layer
Extension layer
Extension types and their uses
Components
Modules
Plugins
Languages
Templates
Tools
Extension Manager
Requirements
Joomla Extension Directory (JED)
Development tools
JoomlaCode.org
Coding standards
phpDocumentor
J!Dump
Summary
2. Getting Started
A quick object lesson
Inheriting from JObject
Design Patterns
Predefined constants
The Joomla! process
Working with JRequest
From Request to Response
Load Core
Libraries
Build application
The session
Initialize application
Multilingual support
UTF-8 string handling
Route application
URI structure
Dispatch application
Render application
Send response
Directory structure
Summary
3. The Database
The core database
Database structure
Database naming conventions
Database Prefix
Table names
Column names
Creating a component table
Additional points to consider
Dates
Parsing data
Dealing with multilingual requirements
Using the database
JDatabase::query()
Writing queries
JDatabase::load methods
loadResult( ) : string
loadResultArray( numinarray : int=0 ) : array
loadRow( ) : array
loadAssoc( ) : array
loadObject( ) : stdClass
loadRowList( key : int ) : array
loadAssocList( key : string='' ) : array
loadObjectList( key : string='' ) : array
JDatabase::ADOdb methods
JTable
Creating the JTable subclass
Creating a new record
Reading a record
Updating a record
Deleting a record
Checking a record in or out
Ordering
Publishing
Hits
Parameter fields
Summary
4. Extension Design
Supporting classes
Helpers
Using and building getInstance() methods
Using the registry
Saving and loading registry values
The user
User parameters
The session
The browser
Assets
Extension structure
The structure of a component
Component directory structure
Component file structure
index.html
Entry point
Controller
Views
Models
Tables
Component class names
Backend (/administrator/components)
Frontend ( /components )
Setting up a component sandbox
SQL install and uninstall files
Install and uninstall scripts
Component XML manifest file
The structure of a module
Module directory structure
Module file structure
index.html
Module entry point
Helper
Layouts
Module class names
Frontend (/modules)
Setting up a module sandbox
Module XML manifest file
The structure of a plugin
Plugin directory structure
Setting up a plugin sandbox
Extension packaging
Summary
5. Component Design
Component design
The MVC software design pattern
Model
View
Controller
Connecting the dots
Building the MVC component
Building the component frontend
Building the entry point
Building the controller
Building the frontend model
Building the frontend view
Building the view layouts
Default layout
List layout
Rendering other document types
Feed
RAW
Updating the manifest
Building the component backend
Building the backend entry point
Building the controller
Display task
Edit task
Add task
Save task
Cancel task
Remove task
Building the backend model
Building the table
Building views
View #1
The layout
View #2
The layout
Updating the manifest
Dealing with component configuration
Help files
Routing
Summary
6. Module Design
First steps
Standalone modules
Modules and components working together
Frontend and backend module display positions
Module settings (parameters)
Helpers
Layouts (templates)
Media
Translating
Summary
7. Plugin Design
Events
Listeners
Registering listeners
Handling events
Listener function
Listener class
Plugin groups
Authentication
Content
Editors
Editors-xtd
Search
System
User
XML-RPC
Loading plugins
Using plugins as libraries (in lieu of library extensions)
Translating plugins
Dealing with plugin settings (parameters)
File naming conflicts
Summary
8. Rendering Output
Improving components
Component backend
Toolbars
Submenu
The joomla.html library
behavior
form
grid
image
list
menu
select
Component layouts (templates) revisited
Admin form
Layout improvements
Adding a WYSIWYG editor
Iterative layout templates
Itemized data
Pagination
Ordering
Filtering and searching
Summary
9. Customizing the Page
Application message queue
Redirecting the browser
Component XML metadata files and menu parameters
Using menu item parameters
Modifying the document
Page title
Pathway
JavaScript
CSS
Metadata
Custom header tags
Translating
Translating text
Defining translations
Debugging translations
Using JavaScript effects
JPane
Tooltips
Fx.Slide
Summary
10. APIs and Web Services
XML
Parsing
Editing
Saving
AJAX
Response
Request
LDAP
File transfer protocol
Web services
Building a web service (XML-RPC plugin)
Summary
11. Error Handling and Security
Errors, warnings, and notices
Return values
Customizing error handling
Dealing with CGI request data
Preprocessing CGI data
Escaping and encoding data
Escaping and quoting database data
Encode XHTML data
Regular Expressions
Patterns
Matching
Replacing
Access control
Menu item access control
Extension access control
Attacks
How to avoid common attacks
Using the session token
Code injection
PHP code injection
SQL injection
XSS—Cross Site Scripting
File system snooping
Dealing with attacks
Log out and block
Attack logging
Notify the site administrator
Summary
12. Utilities and Useful Classes
Dates
Date and time parameter
Time zone parameter
File system
Paths
Folders
Files
Archives
Arrays
Trees
Log files
Summary
A. Joomla! Core Classes
JApplication
Properties
Inherited methods
Deprecated methods
Methods
Constructor __construct
close
dispatch
enqueueMessage
getCfg
getClientId
getInstance
getMenu
getMessageQueue
getName
getPathway
getRouter
getTemplate
getUserState
getUserStateFromRequest
initialise
isAdmin
isSite
login
logout
redirect
registerEvent
render
route
setUserState
triggerEvent
JController
Properties
Inherited properties
Inherited methods
Methods
Constructor __construct
addModelPath
addViewPath
authorize
display
execute
getModel
getName
getTask
getTasks
getView
redirect
registerDefaultTask
registerTask
setAccessControl
setMessage
setRedirect
_addPath
_createFileName
_createModel
_createView
_setPath
JDatabase
Direct descendents
Properties
Inherited properties
Inherited methods
Methods
Constructor __construct
Destructor __destruct
addQuoted
connected
debug
explain
getAffectedRows
getCollation
getConnectors
getErrorMsg
getErrorNum
getEscaped
getInstance
getLog
getNullDate
getNumRows
getPrefix
getQuery
getTableCreate
getTableFields
getTableList
getTicker
getUTFSupport
getVersion
hasUTF
insertid
insertObject
isQuoted
loadAssoc
loadAssocList
loadObject
loadObjectList
loadResult
loadResultArray
loadRow
loadRowList
nameQuote
query
queryBatch
Quote
replacePrefix
setQuery
setUTF
splitSql
stderr
test
updateObject
ADOdb methods
BeginTrans
CommitTrans
ErrorMsg
ErrorNo
Execute
GenID
GetCol
GetOne
GetRow
PageExecute
RollbackTrans
SelectLimit
JDocument
Direct descendents
Properties
Inherited properties
Inherited methods
Methods
Constructor __construct
addScript
addScriptDeclaration
addStyleDeclaration
addStyleSheet
getBase
getBuffer
getCharset
getDescription
getDirection
getGenerator
getHeadData
static getInstance
getLanguage
getLink
getMetaData
getModifiedDate
getTitle
getType
loadRenderer
render
setBase
setBuffer
setCharset
setDescription
setDirection
setGenerator
setHeadData
setLanguage
setLineEnd
setLink
setMetaData
setMimeEncoding
setModifiedDate
setTab
setTitle
setType
_getLineEnd
_getTab
JDocumentRenderer
Direct descendents
Properties
Inherited properties
Inherited methods
Methods
Constructor __construct
getContentType
render
JFactory
Methods
getACL
getApplication
getCache
getConfig
getDate
getDBO
getDocument
getEditor
getLanguage
getMailer
getSession
getTemplate
getURI
getUser
getXMLParser
_createACL
_createConfig
_createDBO
_createDocument
_createLanguage
_createMailer
_createSession
_createTemplate
JModel
Properties
Inherited properties
Inherited methods
Methods
Constructor __construct
addIncludePath
addTablePath
getDBO
getInstance
getName
getState
getTable
setDBO
setState
_createFileName
_createTable
_getList
_getListCount
JObject
Direct descendents
Properties
Deprecated methods
Methods
Constructor __construct
Constructor JObject
get
getError
getErrors
getProperties
set
setError
setProperties
toString
JPlugin
Properties
Inherited properties
Inherited methods
Methods
Constructor __construct
Constructor JPlugin
loadLanguage
JTable
Direct descendents
Properties
Inherited properties
Inherited methods
Methods
Constructor __construct
addIncludePath
bind
canDelete
check
checkin
checkout
delete
getDBO
getInstance
getKeyName
getNextOrder
getTableName
hit
isCheckedOut
load
move
publish
reorder
reset
save
setDBO
store
toXML
JUser
Properties
Inherited properties
Inherited methods
Methods
Constructor __construct
authorize
bind
defParam
delete
getInstance
getParam
getParameters
getTable
load
save
setLastVisit
setParam
setParameters
JView
Properties
Inherited properties
Inherited methods
Methods
Constructor __construct
addHelperPath
addTemplatePath
assign
assignRef
display
escape
get
getLayout
getModel
getName
loadHelper
loadTemplate
setEscape
setLayout
setLayoutExt
setModel
_addPath
_createFileName
_setPath
Index
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜