EditorialBind server sockets to any free portat 2010-02-01 in Unittests, Editorial, Announcements by friebeAt the company I work for, we let the XP Framework's unittest run on various different machines, including Windows 2008 server and 32- as well as 64-bit Debian Linux boxes, with PHP versions ranging from 5.2.0 - 5.3.1 (lots of permutation, yes). ![]() On some of the newer machines we have configured Hudson to start multiple test runners at the same time. This lead to problems with the integration tests (for the FTP API, for example) where we actually fork off a standalone server in the background: The port in use was hardcoded. While this is perfectly OK normally, with mutiples suites executing simultaneously and trying to bind the same port, we were running into problems. (more) Deprecationat 2009-09-06 in Editorial by friebeEvery now and then, we find out our decisions from the past weren't the most elegant ones, limit us in unnecessary ways, or don't fit into the bigger picture anymore. This is a natural thing, as we move on and gather experience, we see our solutions in a different light - and we see how a problem could have been solved in other ways. In reflective moments we start thinking "If I had to do this again today, ...". This happens in personal life but also - for programmers - with code we have written. (more) Unified runners in the webat 2009-08-11 in Examples, Editorial, Announcements by kieselThe XP framework had offered developers the power of an easy class loading setup via the new XP runners that are delivered with every release since several releases now. These runners have proven themselves very useful in day-to-day business, so we're working on porting them to the web! With the so-called web-runners these new cool and useful features will become available for you:
(more) PHP-Arrays: Maps and listsat 2009-04-05 in Editorial, Further reading, RFCs by friebeIn the PHP world, arrays are maps are lists: <?php Now this is (almost) perfect as long as you stay inside the PHP world; the only thing you have to know is when to be able to use array functions operating on "associative arrays" (like asort) instead of "numeric arrays" (sort), which is usually achieved by a bit of discipline. This is where a slight problem even inside the PHP world (and that's why it's only almost perfect) starts showing: There is no easy way to keep the both apart. (more) KISS: Keep it simply surveilledat 2007-05-24 in Editorial by kieselIn the enterprise world, not everything is a website - there are a lot more types of applications you have to deploy to actually have a running enterprise website / application. Often one of these "hidden" applications are cron jobs which take care of cleaning out not completed order jobs, doing lengthy cache pre-calculations, perform data mining or many other things. Crons - or in general - backend applications are therefore an important part of your whole application. Running regularily they do their duty. Of course, such a critical task should be surveilled. Read on to see how you can do effective, but simple surveillance with the XP framework's tools in combination with the open source surveillance system Nagios: (more) Making use of PHP5 featuresat 2007-01-29 in Editorial by friebeToday at work we had a presentation called "PHP5 features", where Alex and me presented what we consider the most appealing new possibilities. Here's a wrap-up: (more) Why to prefer scriptlets over "standard" web scriptsat 2006-10-24 in Editorial by friebeIf you've written web applications with the XP framework, you've probably made use of the scriptlet.xml.workflow API. It provides templating via XSL files and in general a very comfortable way of creating dynamic web pages. Feel tempted to use "standard" web scripting (see below for example) for simpler tasks like CSV export, dynamic image creation or RSS feeds? Here's why you shouldn't... (more) Shipping an application with XP archivesat 2006-10-15 in Editorial by kieselEver since, distributing XP applications to the "end user" could be quite a pain: you would've to tell people to install subversion on their servers, show them how to check out a copy of the XP framework with all it's millions of directories, let them put all required directories into their include_path - mostly there's more than one directory which needs to be included. Then, whenever they want to upgrade the application, they need to update their checkout, exposing them to the danger of conflicts or incompatibilities in the classes API each time. Now, with the arrival of XP class archives (which actually already exist for quite some time), this is a lot easier! Read on to see how shipping XP applications could be like in the future. (more) Using packages in XPat 2006-10-14 in Editorial by adminSince RFC #0074 the XP framework has the built-in power to load classes from an class archive. Now, imagine you want to install an XP application like dialog, and you have downloaded an tar file containg the application from the project's homepage. What do you do with it? (more) Creating packages for XPat 2006-10-14 in Editorial by kieselToday RFC #0074 has been accepted and merged into the public XP repository. RFC #0074 describes some changes that bring the ability to the framework, to load classes from an archive rather than directly from a directory in the classpath. That does not seem to be so special, but it brings you some very cool things in the day-to-day work with XP. So, let's take a look on how to create a new archive (.xar was chosen as extension for the time being, though this could still be changed). (more) |
|