万本电子书0元读

万本电子书0元读

顶部广告

Mastering Joomla! 1.5 Extension and Framework Development (Update)电子书

售       价:¥

0人正在读 | 0人评论 9.8

作       者:Chuck Lanham

出  版  社:Packt Publishing

出版时间:2010-06-01

字       数:957.0万

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

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

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Packed with expert advice, working examples, and tips, this book is an essential reference guide that you will turn to again and again as you work with Joomla!. PHP developers who want to understand how Joomla! Works, with a view to advanced customization or extension development, and who want to learn how to work with the Joomla! Framework.
目录展开

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

PDF

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

email

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

Email

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

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

发表评论

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

买过这本书的人还买过

读了这本书的人还在读

回顶部