Welcome to patPortal
patPortal is an event and component-driven framework for PHP5. It provides a high level of abstraction without adding complexity.
patPortal is still under heavy development, new features are added on a daily basis and patPortal is experiencing a lot of changes. Still patPortal is already used in production in some of our private sites.
Features
patPortal currently provides the following features:
Abstraction of Request and Response data
When accessing request parameters, patPortal provides an instance of a patPortal_Request subclass that enables you to retrieve and modify request parameters instead of accessing $_GET and $_POST. This way you may use the same business logic with web applications or CLI applications. Furthermore, request properties may be set as persistent, which stores them in the session automatically. You may also apply any number of filter objects to your request to avoide XSS or SQL injection. The response of the application is abstracted in the same manner, which allows you to apply filters to the response before it is sent to the client. You may also easily exchange a standard HTTP response by a response object that supports conditional GET or even SOAP responses.
Complete abstraction of sitemap and pages
Your sitemap may be stored in any container you like, by default, patPortal uses a bunch of XML files that are organized in a hierarchical folder structure. This can be changed to be stored in one huge XML file or even a database. The pages itself are rendered by Page objects, currently pages based on patTemplate or XML/XSL are available.
Component based development
Functionality in patPortal is encapsulated in so called components, PHP objects that need to follow a very simple API. These components are responsible Component persistence Components can be persistent across different requests of the same session, user (if authentication is used) or globally. This allows you to implement a counter for your website without having to worry about the statelessness of the HTTP protocol. Think of this as a light-version of Enterprise Java Beans.
Event-based development
Communication between different components, authentication, request and response is achieved by raising events that can be caught using so called event-listeners. Events are also PHP objects that can contain context information about the event. Events can be cancelled or they will bubble up to the next level of the application. A typical example of an event is the "onAuthSuccess" event, which is built into the authentication container. If this event is triggered, you could attach listeners to it, that may write logfiles, change the page that is displayed or even cancel the authentication.
Plugin System
patPortal also features an easy-to-use plugin system to insert output in every rendered page or act on each response (like adding the current time or writing a trail-log).
Requirements
patPortal requires the following packages:
- PHP5.0.0 or higher
- ext/xml
- PEAR::Log
- patError 1.1.0 or higher
- patConfiguration 2.0.0b2 or higher
- patTemplate 3.0.1 or higher (optional)
- ext/xsl (optional)
- ext/sockets (optional)
- PEAR::DB (optional)
- PEAR::Text_Wiki (optional)
Starting Points
- TracGuide -- Built-in Documentation
- The Trac project -- Trac Open Source Project
- Trac FAQ -- Frequently Asked Questions
- TracSupport -- Trac Support
For a complete list of local wiki pages, see TitleIndex.
Trac is brought to you by Edgewall Software, providing professional Linux and software development services to clients worldwide. Visit http://www.edgewall.com/ for more information.
Drug test, Breast enhancement cream, Rolex, Cellulite, Breast augmentation picture, Drug tests, Weight, Loss weight, Drug testing, Acne, Detox, Breast enhance, Breast, Weight, Drug testing, Cellulite, Loss weight, Rolex, Drug tests, Acne, Drug test, Breast enhancement cream, Breast, Breast enhance, Detox, Breast augmentation picture, Breast enhance, Detox, Weight, Breast augmentation picture, Cellulite, Rolex, Drug tests, Breast, Acne, Drug test, Loss weight, Drug testing, Breast enhancement cream, Rolex, Drug tests, Drug testing, Drug test, Breast enhance, Breast enhancement cream, Cellulite, Breast augmentation picture, Breast, Acne, Loss weight, Weight, Detox, Acne, Rolex, Drug tests, Drug testing, Drug test, Breast enhancement cream, Breast, Loss weight, Cellulite, Detox, Breast enhance, Weight, Breast augmentation picture, Breast, Rolex, Acne, Drug test, Breast enhancement cream, Breast augmentation picture, Cellulite, Weight, Loss weight, Breast enhance, Drug tests, Detox, Drug testing, Loss weight, Drug testing, Breast enhancement cream, Weight, Cellulite, Detox, Drug test, Drug tests, Breast enhance, Rolex, Acne, Breast, Breast augmentation picture, Rolex, Drug testing, Breast enhancement cream, Weight, Breast enhance, Breast augmentation picture, Drug tests, Acne, Cellulite, Detox, Drug test, Loss weight, Breast, Breast, Cellulite, Breast augmentation picture, Drug test, Weight, Drug testing, Rolex, Loss weight, Acne, Breast enhancement cream, Detox, Drug tests, Breast enhance, Breast augmentation picture, Detox, Acne, Rolex, Breast enhancement cream, Weight, Cellulite, Breast enhance, Drug tests, Loss weight, Drug testing, Breast, Drug test, Cellulite, Rolex, Drug testing, Breastaugmentation picture, Breast enhancement cream, Weight, Drug tests, Breast, Loss weight, Acne, Detox, Drug test, Breast enhance, Breast augmentation picture, Rolex, Cellulite, Breast enhancement cream, Loss weight, Weight, Drug test, Drug tests, Acne, Breast enhance, Drug testing, Detox, Breast, Detox, Breast enhance, Loss weight, Breast enhancement cream, Acne, Cellulite, Drug testing, Rolex, Breast augmentation picture, Drug tests, Drug test, Breast, Weight, Drug test, Breast, Drug testing, Loss weight, Rolex, Drug tests, Breast enhancement cream, Acne, Weight, Cellulite, Breast enhance, Detox, Breast augmentation picture, once more!