Skip navigation

Sign up | Lost password? | Help

Hello World

Practical programming... and stuff...

Posts tagged with "PHP"

Quick introduction to using Zend_Layout

,

Lately, the Zend_Layout component has been a very popular topic on #zftalk. It is indeed a very useful component, but a lot of people are having trouble understanding how it works.

Adding to the confusion is the outdated documentation regarding the component proposal and the equally outdated articles about Zend/Xend_Layout.

Let’s demonstrate the usage of the current Zend_Layout implementation, which can be found from the Zend Framework SVN or Snapshots in the Incubator directory.


Read the rest of the post at codeutopia.net

Localize your site in 3 easy steps

, ,

Internationalization and localization means making your site usable in more than one languages. Well, to be honest, you could call a site that's only in english localized to english visitors too, but in any case...

These two are also known as I18N and L10N. Can you guess where these acronyms come from? The first and last letter from each word and then the number of letters between... Someone's been feeling really creative :wink:

While PHP has an extension for GNU Gettext, which can be used for localization, it isn't the easiest thing to use. Additionally, PHP can also do number and money formatting based on the locale, but this depends on the server: You must have the locale installed on it. On Shared Hosting accounts, some locales may be unavailable and you may not be able to install them. Not to mention that gettext can be a bit of a hassle to get working.

So, rather than using PHP's native support, why not use Zend Framework's Zend_Locale and Zend_Translate?


Read the rest of the post at codeutopia.net

Routing and complex URLs in Zend Framework

,

We were talking about routing on the #zftalk IRC channel. One of the users mentioned that rather than using routes, he was using the __call method in the IndexController.

I then asked him why is he doing that, as I knew routes would be more than a good choice for most kinds of URLs.

I found out that he was working with SEO and he was using a very interesting URL scheme: domain.com/productname-numbers-categoryname.html

This is actually quite interesting thing to think about. Not the SEO part, but how to make ZF understand these kind of URLs. The default routing in Zend Framework works very well for typical Zend'ish URLs like domain.com/hello/world/stuff/goes/here, but if you want to do some more specialized URLs, like the example here, you may need to do some thinking.

Because ZF is so flexible, I can think of four different ways to route complex URLs:

  • Using __call

  • Using a controller plugin

  • Using Zend_Controller_Router_Route_Regex

  • Customizing the Route class



These methods can be used for other things as SEO URLs as well, so let's check out how to utilize these four and their pros and cons.

Read the rest of the post at codeutopia.net

How to automatically escape template variables in Zend_View

,

Escaping any data which comes from the server is important to escape, as it prevents XSS amongst other things.

The Zend Framework view component Zend_View let’s you escape template variables with $this->escape($this->variableName), but it doesn’t escape them by default. Wouldn’t it be much nicer if it did that by default, or at least provided you with a variable to turn it on/off?

Let’s find out how to do that!

Read the rest of the post at codeutopia.net

Summing up Smarty and Zend View

,

I've posted a couple of posts related to integrating Smarty with the Zend Framework:

  • Making a Smarty view class based on Zend_View
  • Integrating Zend View Helpers into Smarty


I've also posted some Zend_View related posts:

  • Using layouts with the Zend ViewRenderer helper
  • Creating a factory-object for building views


Let's wrap up these in a summary of using them and what else could be done regarding these and the view solution in general.

Read the rest of the post at codeutopia.net

Different PHP template engines

While working on the Smarty View Helper solution I mentioned in the previous post, I went through a lot of Smarty's code and I also did some searching on their forums.

Smarty's code isn't very modification friendly and they had discussed associative array support for Smarty in their forums in 2003 - That's 4 years ago, and they still haven't got it in Smarty!

So, this got me thinking what alternative template engines are available. If Smarty hasn't got any real new features in a long time, others should have them. Right?

Here's a list of template engines I'll review and compare to Smarty, some more in depth than others: Blitz, patTemplate, vlibTemplate, SmartTemplate, Expose, Savant and PHPTAL.

Read more...

The best Smarty + Zend View Helpers solution!

, ,

Coming on again with the Smarty and Zend View related articles, let's this time take a look at how to get Zend's View Helpers running with Smarty.

Other examples for this that I have seen use a syntax like this: {helper helper=Url p='array(something)' p2=stuff}, which is kind of ugly and the array parsing is done with eval, and we know that Eval is Evil.

Wouldn't a more elegant solution let you use helpers just like you use Smarty plugins? In the style of just typing the name of the helper and simple parameters? Let's see how to make that happen!

Read more...

LAN party place reservation

, ,

Let's take a look at one of my biggest PHP projects so far: Reservinator 1.0, or in other words, a very advanced place reservation system for LAN parties. The page is in finnish, but the post is not, so read on!

If you've even been to a LAN party, you might've used something similar to this system. Amongst other features, Reservinator let's you view an overview map of the event location, choose your place by clicking the place you wish to reserve, and sign up for competitions.

It also has various admin tools, such as sending email to users, marking their reservations as paid based on the bill reference number, and biggest of all, building the overview map with a very easy to use drag and drop interface for placing rooms, tables and other things.

Read more...

How to easily redirect PHP output to a file

,

Ever wanted to change where your PHP sends the output to a file instead of the browser?
I have, and it involved changing every echo and other printing statemenet to fwrite. But

there is a better solution to that...

Read more...

PHP on .NET?

,

Microsoft's ASP.NET has a lot of useful features, things you might want to have in PHP too.
But you can't run PHP as a .NET language because Microsoft already has ASP.NET... or can you?

It appears that some Czech programmers came up with this idea few years ago and they made a PHP compiler for .NET, Phalanger, which compiles PHP code into MSIL which is understood by the .NET Framework.

Read more...