26.10.2007.

Bambalam PHP EXE Compiler/Embedder is a free command line tool to convert PHP applications to standalone Windows .exe applications. The exe files produced are totally standalone, no need for php dlls etc. The php code is encoded using the Turck MMCache Encode library so it’s a perfect solution if you want to distribute your application while protecting your source code. The converter is also suitable for producing .exe files for windowed PHP applications (created using for example the WinBinder library). It’s also good for making stand-alone PHP Socket servers/clients (using the php_sockets.dll extension).

It’s NOT really a compiler in the sense that it doesn’t produce native machine code from PHP sources, but it works!

Welcome to the Oracle+PHP Cookbook! Whether you are a Web developer or enterprise developer looking to combine the robustness of the Oracle engine with the simplicity, performance, and ease-of-use of PHP, you are bound to find several interesting “recipes” here, each contributed by PHP coders, that will help you take full advantage of both technologies.

23.11.2005.

single-page solution for exploring and editing databases from a browser. Edit data just like you would in a desktop application, without submit buttons or page refreshes. Built using cutting-edge TurboWidgets and the Dojo Toolkit.
We are proud to release our first public Beta version. TurboDbAdmin is free to download and install on any standard web server.

17.10.2005.

What it shows is the XMLHttpRequest debugging console, a floating div embedded in the page being debugged. This replaces the javascript console, which the previous script used for tracing.
Each individual XMLHttpRequest invocation will get listed there, with all the details on the request and the response, as well as options to edit and replay the request or replay the response callback.

The user script adds a menu command under “Tools” -> “User Script Commands” -> “Show XMLHttpRequest console". It is mostly useful if you click “hide” in the console menu.

What is xajax?
xajax is an open source PHP class library that allows you to easily create powerful, web-based, Ajax applications using HTML, CSS, JavaScript, and PHP. Applications developed with xajax can asynchronously call server-side PHP functions and update content without reloading the page.

How does xajax work?
The xajax PHP object generates JavaScript wrapper functions for the PHP functions you want to be able to call asynchronously from your application. When called, these wrapper functions use JavaScript’s XMLHttpRequest object to asynchronously communicate with the xajax object on the server which calls the corresponding PHP functions. Upon completion, an xajax XML response is returned from the PHP functions, which xajax passes back to the application. The XML response contains instructions and data that are parsed by xajax’s JavaScript message pump and used to update the content of your application.

AjaxAC is an open-source framework written in PHP, used to develop/create/generate AJAX applications. The fundamental idea behind AJAX (Asynchronous JavaScript And XML) is to use the XMLHttpRequest object to change a web page state using background HTTP sub-requests without reloading the entire page. It is released under the terms of the Apache License v2.0.

28.07.2005.

PHP Bayesian Filter- Do your own adaptive Bayesian analysis of text. I didn’t write it, but I did translate it and hope to build on it. However, it is fully baked as is and includes the class as well as an example script to show you how to use it.

26.07.2005.

PriadoBlender is a tool to let you distribute your PHP scripts as an executable EXEs. It is similar to the PHPCompiler that was available for a couple of months a year or 2 ago. PriadoBlender isn’t a true compiler in the computer science sense of the term. True compilers take the high-level code and turn it into machine/assembly code. Instead, PriadoBlender takes your PHP code and the PHP interpretor itself and blends them into standalone, PHP executable goodness.

Abstract
Dynamic languages are high-level, dynamically typed open source languages. These languages, designed to solve the problems that programmers of all abilities face in building and integrating heterogeneous systems, have proven themselves both despite and thanks to their independence from corporate platform strategies, relying instead on grassroots development and support. Ideally suited to building loosely coupled systems that adapt to changing requirements, they form the foundation of myriad programming projects, from the birth of the web to tomorrow’s challenges.

Given any database schema, tables within, list of fields and properties, one ought to be able to build any kind of database backed applications in any programming language. The basic operations that a database driven application will have are usually the same - Create Records, Retreive Records, Update Records, Delete Records (CRUD).

phpCodeGenie attempts to generate these CRUD code so that programmers have a base they can work on. The core database access code and scripts are usually the same for most applications. Rather than spending a lot of time doing these common code, we can spend our time on the business logic of our applications and let PCG do the boring code for you. phpCodeGenie can generate simple code for beginners where everything is done in the same PHP script or structure Object Oriented PHP Code that follows the PCG framework.

phpCodeGenie requires you to design your tables and then the genie can generate code for reading and writing to the database, the html forms to enter or edit data in the database, scripts to list data, scripts to delete data, search forms, search scripts among others.

Many of us in desperate search for good ORM tools for PHP end up finding existing PHP persistence packages are either insufficient to address the problems we face, or unnecessarily complex that demand a steep learning curve that not many of us are able or willing to afford. And most importantly, we don’t see the existing tools providing satisfactory solutions that can work with existing code and/or databases. This is what got us started to work on an alternative.

The goal of this project is to design a lightweight and easy-to-use persistence solution for PHP. This is how the project got its name, Easy PHP Data Objects (EZPDO). Simplicity is the key. Constantly we keep the following requirements in mind when designing EZPDO.

It requires zero SQL knowledge1) and a minumum amount of effort in ORM specification.
It should work with existing classes and does not alter the source code.
It should only introduce overhead to a minimum to guarentee performance.

EZPDO is also a test-driven project with continous integration. More on that in developer’s guide.

Features
Here is a quick look at the features in EZPDO before you delve into any details.

Recursion in plain English
Recursion is the process a procedure goes through when one of the steps of the procedure involves rerunning the entire same procedure. A procedure that goes through recursion is said to be recursive. Something is also said to be recursive when it is the result of a recursive procedure.

To understand recursion, one must recognize the distinction between a procedure and the running of a procedure. A procedure is a set of steps that are to be taken based on a set of rules. The running of a procedure involves actually following the rules and performing the steps. An analogy might be that a procedure is like a menu in that it is the possible steps, while running a procedure is actually choosing the courses for the meal from the menu.

A procedure is recursive if one of the steps that makes up the procedure calls for a new running of the procedure. Therefore a recursive four course meal would be a meal in which one of the choices of appetizer, salad, entrée, or dessert was an entire meal unto itself. So a recursive meal might be potato skins, baby greens salad, chicken parmesan, and for dessert, a four course meal, consisting of crab cakes, Caesar salad, for an entrée, a four course meal, and chocolate cake for dessert, so on until each of the meals within the meals is completed.

It is important to note that a recursive procedure must complete every one of its steps. Even if a new running is called in one of its steps, each running must run through the remaining steps. What this means is that even if the salad is an entire four course meal unto itself, you still have to eat your entrée and dessert.

There are 9 versions of RSS, all of which are incompatible with various other versions. RSS 0.90 is incompatible with Netscape’s RSS 0.91, Netscape’s RSS 0.91 is incompatible with Userland’s RSS 0.91, Netscape’s RSS 0.91 is incompatible with RSS 1.0, Userland’s RSS 0.91 is incompatible with RSS 0.92, RSS 0.92 is incompatible with RSS 0.93, RSS 0.93 is incompatible with RSS 0.94, RSS 0.94 is incompatible with RSS 2.0, and RSS 2.0 is incompatible with itself.

Phpcap was originally a light implementation of the libpcap which provides an acces to all the pcap functions, but it has been upgrade with a set of functions to break down, make and send custom network packets

The module is divide in two extensions, Phpcap and PktTool, phpcap just implements the Pcap functions for sniffing, and PktTool provides an access to several functions like pkttool_get_datalink() (which get the datalink header from a packet), or pkttool_new_tcp() (which build a new tcp header) and more…

You can monitor a specific action by sniffing with pcap function and then break down packets for analysis, or build a custom connection to a server, by coding your own packets sequence.

Of course, the source code is platform independant, it can be compiled on linux or windows without changes. But for convenience windows dll are available for download.

03.01.2005.

PHP is a very fast programming language, but there is more to optimizing PHP than just speed of code execution.

In this chapter, we explain why optimizing PHP involves many factors which are not code related, and why tuning PHP requires an understanding of how PHP performs in relation to all the other subsystems on your server, and then identifying bottlenecks caused by these subsystems and fixing them. We also cover how to tune and optimize your PHP scripts so they run even faster.

Web stuff Various information on Server Side Includes, our Lightweight pop-out menus, Javascript, DHTML and CSS notes, PHP4, regular expressions, Browser ID strings and other stuffOpen Guides Our first Open Guide tries to unravel the mysteries of installing and running (and even understanding) DNS. Our second struggles with LDAP.Languages Some information about PHP and Ruby. We are in the process of migrating our development methodology to Ruby - and a painful, but worthwhile, experience it is proving to be.DOM stuff Collection of information about the W3C DOM including the beginning of our in-house reference section.CSS stuff There is a lot more to CSS than getting rid of all those stupid font tags. We missed the whole point. This section documents our contrite journey to a better placeWiring Collection of cable pin-outs (RS232, V.35 etc), NULL Modems, LAN wiring standards, USB, telephone wiring standards, cable information. Now includes some PC stuff e.g. DIN and Mini-DINs, monitors etc..PCs We get confused real easy. We just bought some new PCs and were staggered by the changes. This is our attempt to keep a modest handle on all that USB, Firewire, DIN, IDE/EIDE/SATA stuff.Protocols Ragbag of protocol information including frame formats and some backgrounders. Includes TCP/IP, 802.3 LAN and VLAN, some VoIP stuff, Video conferencing, SS7, SIGTRAN, H.323, SIP, MGCP (MEGACO) and ISDN protocols.SS7/SIGTRAN Some material on SS7 and SIGTRAN. Includes a walk through the alphabet soup of SS7 and SIGTRAN, layer primitives, SIGTRAN stacks and applicable standards.Wireless Collection of stuff about 2.4GHz and 5.8 GHz Wireless, wireless backgrounders, definitions of decibel, our wireless link calculators (budgets, free-space loss, fresnel zones, system power, watts to db conversion etc.), links to some heavy stuff, 802.11 formats, MAC layer etc.ASCII Lots of places to find ASCII tables but we always forget em. In case you do as well here is a list of ASCII characters. And IA5 which is almost the same.Speeds Definition of Telecom Speeds e.g. T1, E-5 (CEPT5), OC-3, STS-48 etc.Telephony GSTN Network Tones, ring patterns, E&M signaling (North America and RoW)Mechanical Even us electronic guys need to know which screws to use. Screw thread sizes, head types etc.HOWTO We just replaced our Primary Domain Controller (PDC) with a Samba3.x + LDAP configuration. We found it all horribly confusing to configure - but works like a dream. Well add more as we stumble through a series of major system upgrades. In the meantime weve provided a couple of guides on DNS and LDAP.Electronics Includes a Glossary of electronic terms, information on 3.3V and 5V isolation, BDM interfaces for both the PowerPC and ColdFire ranges.RFCs RFCs by topic (all the RFCs relevant to a particular topic e.g. IPSec, NAT). We update em from time to time.

18.10.2004.

FPDF is a PHP class which allows to generate PDF files with pure PHP, that is to say without using the PDFlib library. The advantage is that PDFlib requires a fee for a commercial usage. F from FPDF stands for Free: you may use it for any kind of usage and modify it to suit your needs.

FPDF has other advantages: high level functions. Here is a list of its main features:

FPDI is a collection of PHP classes that allow developers to read pages from existing PDF documents and to use them as templates in FPDF by Olivier Plathey. The whole idea is based upon an article in the magazine php|architect by Marco Tabini. Apart from a copy of FPDF, FPDI does not require any special PHP extensions.