Planet PHPPeople blogging about PHPhttp://planet-php.net Planet PHP Aggregator 2005-01-26T01:42+00:00Submit Your OSCON 2005 Proposals TodayAdam Trachtenberghttp://www.trachtenberg.com/blog/speaking/oscon2005.html2005-01-26T01:42+00:002005-01-26T01:42+00:00The call for papers for one of my favorite conferences, the O’Reilly Open Source Convention, is open. I love OSCON because it gathers together a wide ranging set of people. I get to meet and talk to Perl guys, Python folks, and we all get to make fun of the Java dudes.

This year, I’m part of the conference committee for the PHP track. As such, I’m quite interested in putting together an interesting and wide ranging (read: kick ass) PHP track. So, if you’ve got something interesting to share with others, please submit it.

Lots of people think they need to be Rasmus (or Rasmus-like) to get their proposal accepted. This is false! If you submit a good talk, I will do my best to make sure you’re in the conference.

A good talk should have elements of least some the following:

  • Well-focused
  • Innovative
  • Intriguing
  • Practical

As a hint, right now, pretty much anything on PHP 5 is going to count as "Innovative". If you want to give a case study about migrating your site from PHP 4 to PHP 5, that would be one good idea. Other good topics are any of the new features: mysqli, sqlite, iterators, soap, etc.

I’m also interested in unit testing, non-web based PHP applications, anything web services, design patterns, PHP and JavaScript’s XMLHTTPRequest object, cool PEAR packages, etc. It doesn’t have to be PHP-centric, but something implemented in PHP or useful to PHP developers.

I’m not interested in your own custom database abstraction layer. There are too many out there already. I’m also not interested in Yet-Another-CMS, but if you were to do a bake-off and tell me which 3 PHP CMSes are the best, why, and when I should use them, that would be good.

As my final plug, OSCON is again in Portland, Oregon. This is a great town for a conference. It’s pretty, a nice walking town, the best beer town in the US, and there’s lots of fun things to do.

]]>
RealismeThinkPHP /dev/bloghttp://blog.thinkphp.de/archives/17-Realisme.html2005-01-25T23:34+00:002005-01-25T23:34+00:00 <Derick> he says it works already, but as a hack <tony2001> well, I like hacks =) <Pierre_> do we need anything else than a stack of hacks? <Pierre_> as far as they work :) <tony2001> Apache(a stack of patches) + PHP(a stack of hacks) = web-server =) . ]]>Zend + Intel + SAPNuCleuZhttp://phpvolcano.com/wp/index.php?p=1912005-01-25T22:26+00:002005-01-25T22:26+00:00Looks like Zend just scored a deal with intel and sap: ….has received strategic investments from both Intel Capital and SAP Ventures, a division of SAP AG. Zend will work with both companies to continue the momentum of open source and PHP solutions for business-critical web applications in enterprise environments. ( From the announcement )

Interesting support from two large vendors, going to be interesting to see what this will lead to.

]]>
TruStudio 1.0RC1 Mini-ReviewDavey Shafik (Fractured Realities) http://pixelated-dreams.com/blog/archive/000093.html2005-01-25T21:42+00:002005-01-25T21:42+00:00I have been following the progress of TruStudio PHP and Python IDE with interest. Being a freely available (at least the standard edition) IDE has much appeal for many people.

I will start this off by saying that I dislike Eclipse. Despise it in fact, please don't add files to my project Mr Eclipse, fuck you very much (thats one of my main gripes, but theres much more I dislike ;)

Anyways, the hard part for me on that note is distinguishing between Eclipse's hangups and TruStudios'

So, I installed TruStudio and imported Cerebral Cortex into a project. Yay, easy enough, but its an Eclipse thing, not TruStudio, so no kudos to TruStudio for that.

My main issue with TruStudio is that is ships with PHP 5.0.2 but its support for it seems to be mostly coincidence. It certainly does not support the instanceof operator. I know that even PHP4's highlight_* functions will mostly correctly highlight PHP5 code. It does however know that a "break;" after a "throw" in a "select" cannot be reached. So maybe they just missed out instanceof? who knows - the website says nothing of which version of PHP it supports.

There is also several bugs, codeassist just doesn't work for me. When I press ctrl+space as it says I should, Eclipse nicely informs me that "The command key failed", with a reason of "The command key failed". Informative huh?

TruStudio also has issues opening some of my files, for no explicable reason.

They seem to have neated up their code collapsing a little in this latest revision which is one of my main gripes of previous versions. This is a feature ZDE doesn't offer, and quite frankly, I don't use it, except for novelty reasons. ZDE provides enough other ways to get round the code that I prefer.

TruStudio seems to have some phpdoc support, making the @foo's bold, and nicely puts in " *" when you press enter in an apidoc comment - something I wish ZDE would do. It also correctly drops back a single space on the line after so the code starts in the right place.

ZDE will do:

/**

*

*/
Code starts here

TruStudio does:

/**

*

*/
Code starts here

It's error checking isn't perfect, it will for example report a warning of "variable $entry may not have been defined here" for the line while($d && $entry=$d->read()) {

Having said all these negative points, it is a fairly nice IDE overall, and assuming these bugs get fixed it will be one of the better open source IDEs out there - and it supports Python too.

I think if you're using Eclipse as your IDE for other languages (say, Ruby, or Perl or ::shudders:: Java) then this might be the plugin you've been looking for to use it for PHP also.

- Davey

]]>
International PHP Conference 2005 - Spring EditionBen Ramseyhttp://blog.benramsey.com/2005/01/25/international-php-conference-2005-spring-edition/2005-01-25T14:49+00:002005-01-25T14:49+00:00Yesterday, I was informed that several of my proposals have been accepted, and I will be presenting at the International PHP Conference 2005 – Spring Edition in Amsterdam in May.

The topics I will be presenting are:

Web Security – Part II

No week passes without a new security vulnerability. However, more often it is not a browser, server, or OS that is affected, but a web site. Most often, the same mistakes are made, paired with lazy programmers. This talk seeks to change this and covers securing a PHP-enabled website.

Part II examines security from the server-side and explores best practices for configuring PHP on the server.

(Christian Wenz will present Part I.)

PHP in a Whole New World: Desktop Applications Built in PHP-GTK

For several years, PHP has dominated on the Web, becoming the leading Web scripting language. However, PHP is not only for Web use; it is a general-purpose language that can be used to create desktop applications using GTK extensions. This talk examines some of the more popular applications created using PHP-GTK, as well as providing resources for more information on creating PHP-GTK applications.

Framing the Frameworks: What Are They and Do I Need One?

PHP-based frameworks proliferate on the Web. Everyone’s created one in some form or another, and many have slapped an OSS license on their’s and are offering it for mass consumption. This talk will discuss frameworks, what they are, and how they can be utilized for rapid application development to save time and money. In addition, several PHP frameworks will be explored and evaluated.

 

]]>
IPC2k5SE - Sessions are up!Aaron Wormushttp://www.wormus.com/aaron/stories/2005/01/25/ipc2k5se-sessions-are-up.html2005-01-25T13:20+00:002005-01-25T13:20+00:00 International PHP Magazine - Cutting-Edge Technologies for Web Professionals - News

Nice lineup of sessions for this year’s spring conference! A couple new faces as well!

Now all that’s left to wish for is a non-conflicting schedule — or live feed from each session so that we can participate in multiple sessions from the comfort of the bar!

]]>
International PHP Conference 2005 Spring EditionTobias Hauser & Christian Wenzhttp://www.hauser-wenz.de/s9y/index.php?/archives/74-International-PHP-Conference-2005-Spring-Edition.html2005-01-25T10:03+00:002005-01-25T10:03+00:00International PHP Conference 2005 Spring Edition in Amsterdam is out. As with the last PHP Conference in Frankfurt-Mörfelden, there seems to be some overlapping between some of the talks, but nevertheless this promises to be a great conference with great speakers from all around the globe. I am especially happy to meet some friends who have to travel very far to get to Amsterdam, including Luke & Laura and John (of course I am also happy to see most of the rest, but most of them have already been at PHP World 2004, so that doesn't count ;-))
Early bird ends on March 31. If you happen to be there, just say hi! ]]>
Professionelle Softwareentwicklung mit PHP 5Sebastian Bergmannhttp://www.sebastian-bergmann.de/blog/archives/454-Professionelle-Softwareentwicklung-mit-PHP-5.html2005-01-25T09:25+00:002005-01-25T09:25+00:00Professionelle Softwareentwicklung mit PHP 5

Today I received the first copy of my book "Professionelle Softwareentwicklung mit PHP 5". It is a very good feeling to finally hold the fruit of three years of work in your own hands! ]]>
Postgresql 8.0 is releasedJohn Lim (PHP Everywhere) http://phplens.com/phpeverywhere/?q=node/view/1602005-01-25T08:25+00:002005-01-25T08:25+00:00 Congratulations to the PostgreSQL team for finally getting Windows right in version 8.0. What's new. Windows download. Download for other platforms.

Update 25 Jan 2005: I just discovered that Pervasive, a company with over 20 years experience in embedded database technology, intends to release a Pervasive version of PostgreSQL. This is a big step in the growth of PostgreSQL. Here is an analysis by Lisa Vaas, eWeek.

]]>Lukas Smith asks some questions on ADOdbJohn Lim (PHP Everywhere) http://phplens.com/phpeverywhere/?q=node/view/1612005-01-25T06:18+00:002005-01-25T06:18+00:00 Hi, I just wanted to make sure I have proper information on this, especially since both of you are always busy adding new stuff to your respecitive abstraction layers (ADODB, Creole). I am currently writing a little paper to go with my talk in database abstraction in PHP for the budapest conference. I am mainly talking about why one may want to use an abstraction layer and what is currently possible using any of the abstraction layers. Of course I will try my best at giving an objective POV on your abstraction layers, since each rightfully has its own user base. Would be nice if you two could provide some answers here. If you want I can send you the document for review if you have time to quickly get back to me. regards, Lukas Smith smith#backendmedia.com Hi Lukas, Thanks for asking. Here's my feedback. I'm also publishing this on my blog. 1) How "complete" is the data type handling (dates, numerics, LOB etc)? ADOdb tries to make data handling as a. High performance as possible. ADOdb is meant to be a thin layer. b. Simple as possible, eg. LOBs are intentionally simplified to hide the internals of Oracle or PostgreSQL which have more complicated APIs. c. Transparent as possible, without performing any unexpected conversion of data, except for LOBs, which require some special handling for certain databases, and databases with eccentric behaviour such as ibase which do not rtrim. d. Complete as possible for complex data such as dates and timestamps. Eg. we support negative UNIX timestamps internally in ADOdb, even if PHP doesn't. Where the goals conflict, (a) performance and then (b) simplicity are the preferred goals. 2) Are is it possible to switch between buffered and unbuffered result sets? Yes, by setting the $ADODB_COUNTRECS global variable. Setting it to true enables buffering of resultsets. Setting it to false disables buffering. 3) How complete is the ability to read schema information from the database? Info on tables, fields, index in the databases can be retrieved. 4) What kind of schema management capabilities are offered? Schemas can be generated using XML, or ADOdb's internal data dictionary language. Schemas include tables, indexes, constraints. Can also perform database alterations if the schema already exists. 5) How many drivers use native prepared statements? Nearly all drivers that support native prepared statements. The only exception is mysqli, because that was a user-contributed driver and the contributor did not include this functionality. If someone could do this, I would be most grateful. 6) What kind of placeholders are supported in prepared queries? We support ? as placeholders. For Oracle, we also allow named placeholders. 7) Are sequence, autoincrement and emulated sequences supported? Yes sequence and autoincrement are supported where available. Emulated sequences are also supported. 8) How complete do you feel the error handling abstraction is? Maybe state how complete it is in relation to PEAR::DB. SQL errors are captured by an error handler, which can be remapped to a PHP5 exception or PEAR exception, or any other exception mechanism. Errors can also be remapped to a set of virtual error numbers which are PEAR DB compatible. We also provide a 2nd abstraction, which is a debugging framework, where key diagnostics can be sent to stdout or stderr, including SQL dumps and back-traces (stack crawls). So I would say that we are more than adequete for this task. 9) What kind of portability features do you support for result fetching (assoc keys, oracle nulls, rtrim for ibase etc.)? We support portability features in the po series of drivers, and native driver data without conversion in the non-po drivers. Eg. - sqlite driver does not perform major conversions - sqlitepo driver performs data conversions to improve transparency between different databases. We already provide support for assoc keys, special treatment of oracle empty string conversion to nulls, rtrim for ibase, etc. 10) Anything else you added recently or should be noted in regards to your abstraction layer? a. Do not believe in 1 size fits all. Have multiple drivers for same database, eg. oci8, oci805 (for oracle 8.0.5), and oci8po based on different performance characteristics of different versions of db. b. Performance tuning layer, including info on cache hit-ratios, sql execution time logging, with analysis of worst performing sql. c. Database-backed session management library is provided. d. Pivoting functions for Relational OLAP are provided. e. Code for exporting resultsets in CSV format. f. Provides a PEAR DB emulation layer. g. Integrated caching of recordsets to improve performance and reduce database loads. Up to x20 improvement in performance observed with complex SQL. h. Supports multiple programming languages. ADOdb for Python is also available. i. ADOdb extension to speed up most ADOdb by porting most frequently used parts of ADOdb into faster C code. Can result in 30-50% speedups.

Lukas is the lead designer of PEAR MDB and MDB2.

]]>Payment_DTA 1.2.0PEAR: Latest releaseshttp://pear.php.net/package/Payment_DTA/download/1.2.0/2005-01-25T14:09+00:002005-01-25T14:09+00:00html_Template_Flexy 1.2.0PEAR: Latest releaseshttp://pear.php.net/package/html_Template_Flexy/download/1.2.0/2005-01-25T07:38+00:002005-01-25T07:38+00:00 inherit parent variables. #---- - Fixed PHP code detection #---- - option['allowPHP'] = 'delete', will just remove php code, rather than barf with error, or just add it. #---- - CDATA sections supported, with limited flexy tags (eg. foreach and variables only) #---- - Plugins now show correct warning when loading fails. #---- - Plugins as modifiers work correctly (fixed previous bug if they started with h/r/t etc. they got ignored.) #3129 - add note that setRequired/setError/freeze are depreciated (they should really be examples, that end user can modify, rather than a method) #3145 - fixed missing ; in an error message.]]>colorer 0.1PECL: Latest releaseshttp://pecl.php.net/package/colorer2005-01-25T06:30+00:002005-01-25T06:30+00:00XML_RPC 1.2.0RC6PEAR: Latest releaseshttp://pear.php.net/package/XML_RPC/download/1.2.0RC6/2005-01-24T21:15+00:002005-01-24T21:15+00:00HTTP_Download 1.0.0RC5PEAR: Latest releaseshttp://pear.php.net/package/HTTP_Download/download/1.0.0RC5/2005-01-24T19:13+00:002005-01-24T19:13+00:00XML_RPC 1.2.0RC5PEAR: Latest releaseshttp://pear.php.net/package/XML_RPC/download/1.2.0RC5/2005-01-24T07:36+00:002005-01-24T07:36+00:00XML_RPC 1.2.0RC4PEAR: Latest releaseshttp://pear.php.net/package/XML_RPC/download/1.2.0RC4/2005-01-24T07:05+00:002005-01-24T07:05+00:00Auth_HTTP 2.1.4PEAR: Latest releaseshttp://pear.php.net/package/Auth_HTTP/download/2.1.4/2005-01-22T00:34+00:002005-01-22T00:34+00:00Cache_Lite 1.4.0PEAR: Latest releaseshttp://pear.php.net/package/Cache_Lite/download/1.4.0/2005-01-21T18:35+00:002005-01-21T18:35+00:00maxdb 1.0PECL: Latest releaseshttp://pecl.php.net/package/maxdb2005-01-20T21:00+00:002005-01-20T21:00+00:00