top | item 3195690

The Yet Another Framework (Yaf), PHP extension for developing web applications

59 points| bgaluszka | 14 years ago |php.net | reply

35 comments

order
[+] mweibel|14 years ago|reply
So, apart from being written as an extension (and maybe a little bit faster that way), what's the point of Yaf?
[+] hippich|14 years ago|reply
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
[+] mknx|14 years ago|reply
> Yaf require PHP version greater than 5.2.1, and could not run with early version of PHP.

No thanks. Closure? Namespace?

[+] oinksoft|14 years ago|reply
I'm not sure what you're getting at. Is there reason to believe that this will not work with PHP >= 5.3?
[+] ra|14 years ago|reply
closures and anonymous functions, to my mind, were a jailbreak for PHP.
[+] mgkimsal|14 years ago|reply
[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?

[+] jaxn|14 years ago|reply
It is interesting that there are no models.

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/).

[+] jonstjohn|14 years ago|reply
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.
[+] alastairpat|14 years ago|reply
It kind of reminds me of ASP.NET C# MVC, just glancing at the example page: http://au.php.net/manual/en/yaf.examples.php

Not being particularly proficient in PHP, is the 'Class myClass extends baseClass' syntax normal? I've never seen it before.

[+] troels|14 years ago|reply
Syntax yes, code standard, no. Most standards would prescribe:

    class MyClass extends BaseClass
[+] geeksam|14 years ago|reply
[+] FuzzyDunlop|14 years ago|reply
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?

[+] drivingmenuts|14 years ago|reply
There's more like that elsewhere in the PHP docs (at least, last time I went looking).

PHP used to be minutely documented, with copious examples, which was why it was so easy to learn. Now, not so much, it seems.

[+] tszming|14 years ago|reply
One of the good things is it is not using the PHP namespace, e.g. use Zend\Controller\Action\HelperBroker;
[+] igorw|14 years ago|reply
You've never tried to integrate two PHP projects, eh? As in: Whoops, you guys also have a class named "user"?
[+] solomonjames|14 years ago|reply
Anyone else see that this looks almost identical to Zend Framework?
[+] flyosity|14 years ago|reply
Yup. We use Zend at work and I did a double-take at the example code. "Wait, my code looks exactly like this..."
[+] drivingmenuts|14 years ago|reply
I'll stick to CI, thanks.

This smells like another Zend product, and Zend framework was just a pain, in my experience.