programming @ Grigori Kochanov Studio

It's a page about developing for the web.

Last addition: gCurl.
This is a set of classes I use to write complex applications dealing with HTTP.
In fact, it is a cURL-wrapper, providing OOP interface and implementing some commonly-used functionality. Get it from PHPClasses.

Articles

"Framework: what is it and what do you need it for?" - an article about the frameworks concept:

If you are a PHP developer using both PHP 4 and PHP 5, you may find interesting my old article "Version and configuration dependence of the PHP scripts".

I've chosen PHP as a preferred platform, so the page is about PHP scripts, extensions, libraries of classes and so on.
If you are interested in developing a web project, please read my business offer.

Open source.

Here you can download several scripts I've written and made public domain.

"Easy professional emails".
This tool I wrote to simplify the work with sending emails from my scripts. It is a wrapper class for a wonderful "MIME E-mail message" package by Manuel Lemos and a Smarty template engine (to prepare letter contents).
More details can be found in my blog.

Memcache cluster wrapper - a fast and convenient class that allows the convenient use of memcache.
It provides a transparent interface to use multiple memcache processes (e.g. distributed on the cluster), creating a distributed memory cache.
It is written to be used in frameworks providing a convenient API with static methods and singleton.
In december I published it on the PHPClasses.org and it was nominated for the award.
Actyually, I wonder why ... the functionality of handling multiple memcached servers is implemented in the memcache v 2.0 PHP extension.

URI.class - a PHP class to make URI parsing easier. It takes a string with URI, adds missing obligatory parts (usually sheme and path) and splits URI into array and class fields, so it's easy to access separately the sheme, user and password (if given), host, path, query and anchor - all parts of the URI according to the RFC 2616 (except anchor).
Significant feature of the class is that it provides the method for converting of a new relative URL to an absolute one based on the previously processed "base" URL.

GetUri - HTTP-handling classes, written to free a PHP-developer from hand-writing HTTP-queries and parsing HTTP-replies.
The script allows to:
  • Send predefined requests (GET, HEAD, POST with data, OPTIONS) to the given URL, add/replace custom header lines in predefined requests header and send custom HTTP requests.
  • Receive HTTP reply headers and parce them into array, search headers by name.
  • Detect and pass through server redirects
  • Get URI content using socket connections or PHP URL fopen wrappers.
This class uses URI.class to parse URLs.

PHP server-side browser - the "package" of script that shows what can be done using above classes. This program allows to browse the web using a web server as an intermediate. That's where my Server-side browser started from.

Service.class.php is a base class we use in most of our projects. It provides independence from PHP version, configuration settings, helps to avoid security problems with user input data that should be used in database queries, and several other useful features like converting CSV-string to an array, start session without being afraid that it was started already in some other included file. This class is often extended to provide additional features for current tasks.

MySQL.class.php - simple PHP class to speed up writing scripts with MySQL queries and log errors. It serves as a parent for other classes that form a "Data access tier" (about N-Tier concept read here).

Friends Chat - Simple PHP/MySQL web-chat written for my community couple of years ago. Has strong security and management abilities.

Sessions in database - Small old class used to store PHP session data in MySQL database. Provides security, speed improvement and reliability compared to file-based sessions. Package provides complete solution, including cleaning up expired session records (a problem with session files in FAT).


Loading ...