What the point of your existence? :) To make world (in this particular case) of PHP different and give users ability to choose. Being an extension is pretty good point of existence IMHO
It will be is not structured using Namespaces, which can be annoying if you are using them on a day to day basis and want to integrate something like Yaf that doesn't use them.
[me]# pecl remote-info yaf
Package details:
================
Latest 2.1.3
Installed - no -
Package yaf
License PHP
Category System
Summary PHP Framework in PHP extension
Description Yaf is a PHP framework similar to zend
framework, which is written in c and built as
PHP extension.
Windows binaries can be found at <a
href="http://code.google.com/p/yafphp/downloads/list">http://code.google.com/p/yafphp/downloads/list</a>
[me]# pecl install yaf
pecl/yaf requires PHP (version >= 5.1.0, version <= 5.3.6), installed version is 5.3.8
No valid packages found
So... 2.1.3 doesn't know how to work with 5.3.8. I'm not upgrading to 5.4.0 to test this right now. Any hacks to get around this?
This seems to be a glorified front controller integrated with a templating engine.
It is really cool that they did this as a PECL extension. I had a PHP framework many years ago that we considered converting to a PECL extension (http://sourceforge.net/projects/cep/).
Generally, models can be left up to the developer to create based on business logic. Take for example, Zend Framework. It provides an active record like pattern in its Zend_Db_Table but expects the individual application to create the models that use (not inherit) Zend_Db_Table.
I actually wrote a PHP framework with the intention of mimicing the ASP.NET MVC file structure layout and "convention over configuration" ideology, though it's not compiled so it's probably slower than YAF. http://www.killstone.net/software/killstone-php-framework
The OOP parts in the PHP manual haven't been given anywhere near enough care and attention than the old bits. Unless it's core functionality, good luck finding decent doc for the extensions listed.
Class:nameOfFunction - *the Name of Function purpose*
Some of the SPL classes are equally amusing, especially when you get as far as `RecursiveIteratorIterator` and, to recursively scan a directory (OOP stylee):
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('/path/to/directory'), RecursiveIteratorIterator::SKIP_DOTS);
Now I make use of that and, syntax aside, it's pretty handy for the stuff you get back from it, but for the best part some of these PHP extensions are a waste of time. There's bugger all documentation and, quite often, they're missing basic methods that you can already do procedurally.
Why would anyone want to spend time figuring out this framework extension, or the OOP PHP stuff like SPL and Imagick, with no documentation, when there are plenty well established ones out there that have mountains of it?
http://uk.php.net/manual/en/class.yaf-registry.php