Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is Zend Framework so popular?

People also ask

Is Zend Framework Good?

Conclusion. The Zend framework is the perfect choice for developers needing an ideal platform for enterprise application developments. It lets them make the best of PHP5 and PHP7. Developers can enjoy a simplified development process as it facilitates faster development and better results.

What is Zend framework used for?

Zend Framework is a collection of professional PHP packages with more than 570 million installations. It can be used to develop web applications and services using PHP 5.6+, and provides 100% object-oriented code using a broad spectrum of language features.

Is Zend better than laravel?

Laravel has a steep learning curve to master the framework, whereas Zend has a hard learning curve and takes time to implement. Laravel has poor performance and speed compared to Zend, whereas Zend improves application performance and provides a good response for the server request.


Because they are good at Marketing


Zend's founders Andi Gutmans and Zeev Suraski are key contributors to PHP

And they have one of the most complete framework for php.

When you think about it; it's like saying:

"Our language isn't as performant as it could be, so we made a framework with caching that makes it faster"

  • Most of what Zend offer, can be done without Zend.
  • But Zend's package is a very good "All in one" distribution.
  • They offer certifications and trainings.

One of the main benefits of ZF is that you can take any one of it's components and easily tie them in with your own (or a third party) framework with minimal modification.


Forms: The decorator approach is complicated, but bulletproof and priceless for applications with many forms. You don't care if you have 10 or 25 items in your form, the style is always the same. Saves you a great deal of work when you know how to use it. For users with simplier minds and goals there is always the viewScript decorator ;)

Auth/Acl: Never had any problems with these.

Zend_Auth::getInstance()->hasIdentity() //logged in

and

Zend_Auth::getInstance()->getIdentity()->role; //returns admin

For Acl:

$acl->isAllowed($who,  $where, $what);
$acl->isAllowed('roleAdmin', 'resourcePosts', 'create'); //returns true

Can be easily modified to match MVC:

$acl->isAllowed('roleAdmin', $module.ucfirst($controller), $action); //returns true
$acl->isAllowed('roleAdmin', 'adminPosts', 'create'); //returns true

Color me UNIMPRESSED with ZendFramework. Using Zend Framework is like welding a set of training wheels to your code. Anything you can do in Zend Framework is something you can do in raw PHP. (Remember ZF itself was written in raw PHP.) And you can usually do it with the same number of lines of code - written in a consistent style with the rest of your application. And, by using native PHP code, you're not locked into a niche tool that only a minority of PHP developers use. And you don't have to worry about compatibility with changes in ZF versions.

In my applications, I do all the same things that the ZF tools do, mostly by using simple PHP functions that have been around for years:

  • validate form data
  • cleanse form input
  • handle files uploaded through forms
  • manipulate and compare dates
  • handle authentication
  • send emails
  • write to log files
  • read from configuration files
  • read external HTTP pages
  • exchange in JSON and SOAP formats
  • work with third-party APIs

I can't find much of anything in Zend Framework that is worth my time. And don't get me started on overbearing "scaffolding" frameworks like CodeCoffin, AppShackler, or Ruby in Chains.


ZF is a good starting point. I used zend_tool to generate a MVC skeleton of my middle-size application and used many other components (Zend_Cache, e-mail, translate, forms, session).

And I agree that form layout is complicated if you are trying to do it as Zend says - with decorators. There are ways to use just Zend_Form elements with validation and in your custom layout - without decorators.

I had a bad experience with Zend Cookies - I just could not set a cookie for my entire domain. Old good setcookie did the trick right.

About Acl - again, examples in Zend documentation and Zend_Acl do not work well sometimes. I used Controller plugin approach and my own "role based resource management" to control permissions.

I did not even try Zend Data Gateway - used Doctrine instead (I guess that is because I like nHibernate :) ) And connecting Doctrine was really easy.

I think ZF is good because you can use it as you like. I think it would be harder with some other frameworks.


Simplicity to build medium size applications. Until ZF you had to build your own "framework" to do medium size applications. Now is much more simpler.

I don't think decoupling and simple elements that can be used independently is the key to success. Is a nice feature, but is not the regular use.

Support and community size are relevant in the balance with other frameworks.

In terms of speed they are NOT better then other frameworks.


Wel, we are developers because we are supposed to be able to write "some" of our own code, arn't we? Frameworks not supposed to be wizards, just an added assistance.