Views - field template vs php field What should be considered the optimal way of creating a custom field in views?

For example:

if($content_type == 'article'){
  print 'something';
}
else{
  print 'something else';
}


I either create a Custom Text field and write my php code in its template, or, lately, I've started using views_php field.

The disadvantage with the templates is that if your site is kinda big, you end up with tons of template files that are sometimes hard to manage, and also (obviously) cannot be managed from someone without server access. Furthermore it cannot support sorting/filtering of some kind.
Apart from that, it's "fail safe", it's robust, it doesn't add to complexity via an extra module.

The (possible) disadvantage of the php field is that it's an extra layer of complexity to the site and thus an extra bug possibility.
Apart from that, it's easily manageable and it can even be used for filtering/sorting!

So, what would you guys suggest? What do you usually do in such cases?
Here are some advantages of using templates instead of a custom PHP field.


Templates can be naturally version-controlled just like the rest of your code.  (You could version-control the custom php field with Features, but that is an additional layer of complexity.)
Since the code for templates is in files, you can use UNIX commands like grep, etc. to search them.  You can also batch edit them easily if necessary.
If you accidentally misconfigure your site permissions and give a role access to Views administration that shouldn't have it, they still won't be able to insert PHP into your site if you're using templates (eliminates a security risk).  Consider that one of the security enhancements in Drupal 7 over Drupal 6 was hiding the PHP filter and making it harder to enable.
The Views PHP module is still in dev and thus not subject to audit by the Drupal security team.  There may be (are) bugs in the module and since it is not in widespread use they may not be found for some time (avoids another security risk).


Yes, templates might be a little inconvenient, but from a security and maintainability standpoint I think they are clearly superior.