Entries tagged as webdevelopment
Tuesday, November 29. 2005
"What is PHOCOA? PHOCOA (pronounced faux-ko) is a web application framework for PHP. It is an object-oriented,
event-driven, componentized, MVC (model-view-controller) framework inspired by Apple's Cocoa and WebObjects
technologies. PHOCOA's primary intent is to make developing web applications in PHP easier, faster, and
higher-quality. The framework handles most of the "dirty work" of web application development by providing
infrastructure for all of the common tasks. Most of your time writing PHOCOA apps will be spent designing your GUI and
writing application-specific logic rather than dealing with form data, database calls, etc." - Und noch ein
PHP-FrameworkPHOCOA - PHP Web
Application Development FrameworkPHOCOA - PHP Web
Application Development Framework
Monday, November 28. 2005
"JavaScript Utilities Project A set of javascript-related utilities and components for Web developers doing
client-side development... The JavaScript Utilities project is oriented at developing a set of tools and
components geared toward enhancing the development model around JavaScript as used for implementing rich Web
applications. For example, if you are developing script-based code, you probably have desired the ability to add debug
code, to increase the robustness of your code, but do not want to take the performance hit of doing so. Or you may be
writing lots of script, and want to break it out into multiple files, but do not want to take the hit of multiple
downloads. You might even want to generate different script for each browser, without sending down the code for all
browsers to any one browser? Any of these problems sound familiar? If so, this project aims to provide some
solutions" Nikhil Kotharis Projects :
JavaScript Utilities Project Nikhil Kotharis
Projects : JavaScript Utilities Project
Sunday, November 27. 2005
"Is it conceivable that anyone in the business of building software hasn't heard of the Struts framework? From
developers that are just starting out in the business to those long in the tooth, the name "Struts" surely must ring a
bell. But if you haven't spent your development time in the Java world or haven't had the need to build web
applications, Struts might only be a buzzword that you've added to your resume. For the next five to ten minutes, you're
going to be taken on a whirlwind tour of the Struts framework. Get a drink (non-alcoholic, of course), sit back, and put
your feet up, and learn a little about one of the most popular free frameworks to ever grace the open source
community." ONJava.com: What Is StrutsONJava.com: What Is Struts
Friday, November 25. 2005
"A simple HTML 'parser' that will 'read' through an HTML file and call functions on data and tags etc. Useful if
you need to implement a straightforward parser that just extracts information from the file or modifies
tags etc. Shouldn't choke on bad HTML." Python HTML ScraperPython HTML Scraper
Wednesday, November 23. 2005
"Of all magic in PHP I probably like the __autoload() hook the most. It saves a good deal of tedious script inclusion
calls and may drastically speed up your application by saving the parser from doing unnecessary work. Allthough it has
been around since the release of PHP5, I haven't found any convincing applications for it yet. Most of them follow the
same scheme: Whenever an undefined class is being instantiated, a little __autoload() function tries to include a PHP
file, which has to be named after it's class:" Improve PHP
performance try php __autoload()Improve PHP performance try
php __autoload()
Tuesday, November 22. 2005
"Ajax is one of the biggest 'discoveries' in the past year, and it has become a real buzzword, just like Web 2.0.
Admittedly, Ajax can be used for a lot of things, and it really does speed up web applications. Already Ajax is used by
many highly popular websites, most notably GMail, but other's like Ta-da List or Flickr also use it. Heck, even
Microsoft has gotten wind of the Ajax buzz, and is actually moving towards web-based applications as well. But
there is one problem with most of the current implementations of Ajax: it has one dependency, and that is the
XmlHttpRequest object. Most modern browser, like Firefox, have inbuilt support for this object, but older browsers, like
Internet Explorer 6, don't have native support for this object. Luckily, IE 6 does support it, but it's built in as an
ActiveX control, which means your visitors get an ugly warning message about the possible danger of an ActiveX control,
or in some cases it just doesn't work at all. In this tutorial, I will show you how to use Ajax without even having
to use the XmlHttpRequest object." Ajax & PHP without using the XmlHttpRequest ObjectAjax & PHP without using the XmlHttpRequest
Object
Wednesday, October 26. 2005
Tuesday, October 25. 2005
"MochiKit makes JavaScript suck less MochiKit is a highly documented and well tested, suite of JavaScript libraries
that will help you get shit done, fast. We took all the good ideas we could find from our Python, Objective-C, etc.
experience and adapted it to the crazy world of JavaScript. " MochiKit & A lightweight Javascript libraryMochiKit
& A lightweight Javascript library
Saturday, October 22. 2005
Minimal-XMLHttpRequest (AJAX) >Tutorial von Rasmus Lerdorf:
List: php-general
Subject: [PHP] Rasmus' 30 second AJAX Tutorial - [was Re: [PHP] AJAX & PHP]
From: Rasmus Lerdorf
Date: 2005-07-21 22:50:56
Message-ID: 42E026D0.3090601 () lerdorf ! com
[Download message RAW]
I find a lot of this AJAX stuff a bit of a hype. Lots of people have
been using similar things long before it became "AJAX". And it really
isn't as complicated as a lot of people make it out to be. Here is a
simple example from one of my apps. First the Javascript:
function createRequestObject() {
var ro;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
ro = new ActiveXObject("Microsoft.XMLHTTP");
}else{
ro = new XMLHttpRequest();
}
return ro;
}
var http = createRequestObject();
function sndReq(action) {
http.open('get', 'rpc.php?action='+action);
http.onreadystatechange = handleResponse;
http.send(null);
}
function handleResponse() {
if(http.readyState == 4){
var response = http.responseText;
var update = new Array();
if(response.indexOf('|' != -1)) {
update = response.split('|');
document.getElementById(update[0]).innerHTML = update[1];
}
}
}
This creates a request object along with a send request and handle
response function. So to actually use it, you could include this js in
your page. Then to make one of these backend requests you would tie it
to something. Like an onclick event or a straight href like this:
[foo]
That means that when someone clicks on that link what actually happens
is that a backend request to rpc.php?action=foo will be sent.
In rpc.php you might have something like this:
switch($_REQUEST['action']) {
case 'foo':
/ do something /
echo "foo|foo done";
break;
...
}
Now, look at handleResponse. It parses the "foo|foo done" string and
splits it on the '|' and uses whatever is before the '|' as the dom
element id in your page and the part after as the new innerHTML of that
element. That means if you have a div tag like this in your page:
Once you click on that link, that will dynamically be changed to:
foo done
That's all there is to it. Everything else is just building on top of
this. Replacing my simple response "id|text" syntax with a richer XML
format and makine the request much more complicated as well. Before you
blindly install large "AJAX" libraries, have a go at rolling your own
functionality so you know exactly how it works and you only make it as
complicated as you need. Often you don't need much more than what I
have shown here.
Expanding this approach a bit to send multiple parameters in the
request, for example, would be really simple. Something like:
function sndReqArg(action,arg) {
http.open('get', 'rpc.php?action='+action+'&arg='+arg);
http.onreadystatechange = handleResponse;
http.send(null);
}
And your handleResponse can easily be expanded to do much more
interesting things than just replacing the contents of a div.
-Rasmus
Rasmus Lerdorfs 30 second AJAX
Tutorial
Friday, October 21. 2005
Ich bin auf die Idee gekommen, dass es schön wäre, wenn man aus einem Mediawiki-Artikel heraus PHP-Code ausführen
könnte. Also habe ich kurzerhand eine kleine Mediawiki-Extension erstellt welche PHP-Code, der in
"<php>phpinfo();</php>" eingebettet ist, ausführt.
Das ganze ist natürlich mehr als ein Sicherheitsrisiko und darf nur in einer wirklich vertrauensvollen Umgebung
eingesetzt werden.
Die Extension findet sich auf Mediawiki.org
"If you don't know how XSS (Cross Site Scripting) works, this page probably won't help you. This page is for people who
already understand the basics of XSS attacks but want a deep understanding of the nuances regarding filter evasion. This
page will also not show you how to mitigate XSS vectors or how to write the actual cookie/credential
stealing/replay/session riding portion of the attack. It will simply show the underlying methodology and you can infer
the rest." - Eine ständig erweiterte Liste mit allen Möglichen Cross-Site-Scripting Attacken... Keine diese
sollte man bei einer Webanwendung zulassen.XSS
(Cross Site Scripting) Cheatsheet: Esp: for filter evasion - by RSnakeXSS (Cross Site Scripting) Cheatsheet
Wednesday, October 19. 2005
"The Really Simple History (RSH) framework makes it easy for AJAX applications to incorporate bookmarking and back and
button support. By default, AJAX systems are not bookmarkable, nor can they recover from the user pressing the browser's
back and forward buttons. The RSH library makes it possible to handle both cases.
In addition, RSH provides a framework to cache transient session information that persists after a user leaves the web
page. This cache is used by the RSH framework to help with history issues, but can also be used by your own applications
to improve application performance. The cache is linked to a single instance of the web page, and will disappear when
the user closes their browser or clear their browser's cache.
RSH works on Internet Explorer 6+ and Gecko-based browsers, like Firefox. Safari is not supported." - AJAX Anwendung
Bookmark-kompatibel machenReally Simple History (RSH) framework für AJAX
"The AJAX MAssive Storage System (AMASS) uses a hidden flash applet to allow JavaScript AJAX applications to store an
arbitrary amount of sophisticated information on the client side. This information is permanent and persistent; if a
user closes their browser or navigates away from the web site, the information is still present and can be retrieved
later by the web page. Information stored by web pages is private and locked to a single domain, so other web sites can
not access this information. AMASS makes it possible to store an arbitrary amount of sophisticated data, way pass
the 4K limit of cookies or the 64K limit of Internet Explorer's proprietary client-side storage system. An AMASS-enabled
web site can store up to 100K without user permission. After 100K, users are prompted on whether the web site can store
the requested amount of information. Users can approve or deny the storage request. The AMASS system informs the
client-side application on whether the storage request was allowed or denied. In my own testing I have been able to
store up to ten megabytes with good performance; I'm sure even more information can be stored, I just have never tried
beyond this amount. AMASS works on Internet Explorer 6+ and Gecko-based browsers, like Firefox. Users must have the
Flash plugin version 6+ installed to use AMASS; Flash 6+ is installed in 95% of machines, however." - Kleiner Trick
wenn mal mehr Daten auf Client-Seite gespeichert werden müssen. Das sollte aber soweit es geht vermieden
werden...AJAX MAssive
Storage System (AMASS)AJAX MAssive
Storage System (AMASS)
"What is Phrame?
Phrame is a web development platform for PHP based on the design of Jakarta Struts. Phrame provides your basic
Model-View-Controller architecture, and also takes a step further adding standard components such as HashMap?,
ArrayList?, Stack, ListIterator?, Object and more... All of this functionality was designed to be as easy as possible to
use by developers and designers.
Phrame encourages application architectures based on the "Model2" approach, a variation of the classic
Model-View-Controller (MVC) design paradigm. Phrame provides its own Controller component and integrates with other
technologies to provide the Model and the View. For the Model, Phrame can interact with any standard data access
technology, including Pear DB/DataObjects?, and ADODB. For the View, Phrame works well with PHP, Smarty Templates, XSLT,
Flash MX, and other presentation systems.
Phrame provides an extensible development environment for your application, based on published standards and proven
design patterns. Phrame was originally sponsored by the Software Development department of Texas Tech University and is
released under the LGPL.
Read about Phrame's History." - PHP Framework; macht einen sauberen Eindruck und gibts schon seit ein paar
Jahren
https://www.phrame.org/wikiPhrame PHP
Framework
Tuesday, October 18. 2005
"An Overview of Fusebox Application developers face a daunting task: they must translate the often fuzzily-defined
requirements for a new application into the rigid language of computers. While the Fusebox Lifecycle Process (FLiP)
offers help in managing the project management aspects of creating a new application, what help is there available to
developers approaching the technical challenges of creating and maintaining applications? Application
frameworks answer this question, offering pre-built (and pre-tested) code -- a collection of services that can provide
the architectural underpinnings for a particular type of application. Web-based applications are increasingly the choice
for new application development in which the browser becomes the "universal client". As web development matures,
web-based application frameworks allow the developer to concentrate more on meeting the business needs of the
application and less on the "plumbing" needed to make that application work. Fusebox is, by far, the most
popular and mature web framework available for ColdFusion and PHP developers. The architecture of a Fusebox application
is divided into various sections ("circuits" in Fusebox parlance), each of which has a particular focus. For example,
the responsiblity for ensuring that only authorized users have access to all or part of the application might fall under
a Security circuit. The Fusebox application architect defines these circuits, as well as the individual
actions ("fuseactions") that may be requested of it. When a fuseaction request is made of the application, the Fusebox
machinery (the "Fusebox") routes the request to the appropriate circuit, where the fuseaction is processed. This idea of
encapsulation of responsibilities makes it easy for different functional circuits to be "plugged" into an application,
making it possible to reuse code. Within the individual circuit responsible for carrying out the requested
fuseaction, the Fusebox architect specifies the individual files ("fuses") needed to fulfill the fuseaction request.
Thus, the Fusebox acts like a good manager, delegating tasks to appropriate departments where it is decomposed into
individual tasks, each of which can be assigned to individuals to carry out." - Ein weiteres PHP-Framework, welches
das MVC-Pattern umsetztFusebox FrameworkFusebox Framework
"Dieser Text führt in die Programmierung von Ajax-Anwendungen ein. Per Ajax (Asynchronous JavaScript XML) lässt sich
eine Website so benutzen wie die Programme auf dem eigenen Rechner. Rückmeldungen finden fortlaufend statt und nicht
erst nach dem Drücken des Abschicken-Knopfes.
Als Beispiel wird ein Eingabeformular zur Registrierung eines Logins entwickelt, das schon während der Eingabe des
gewünschten Loginnamens darüber informiert, ob der Loginname noch frei oder schon vergeben ist." - Sehr gutes
Tutorial
Sven Drieling,
"Ajax: CheckLoginName"Ajax: CheckLoginName
Ajax Components, Widgets & Libraries - Comprehensive List Ajax APIs & LibrariesAjax APIs & Libraries
"What is WASP?
WASP is a powerful web application framework built on PHP 5. Like Ruby on Rails, WASP strives to allow web developers
to make great applications with more fun and less code, but in the familiar playground of PHP.
Why use WASP?
WASP was written from the ground up in pure Object Oriented PHP5. WASP fully utilizes all of the enhancements made to
PHP in version 5.
This means you use less code to create enterprise class applications.
This isn't your hacker's PHP. " - PHP on Rails WASP - Web Application Structure for PHP 5WASP - Web Application Structure for PHP 5
|
Kommentare