Php – why is zend framework so popular_ – stack overflow the price of bitcoin

I’m not a troll and my goal isn’t to start a flame war; neither do I mean to disrespect the authors of the zend framework: there is a lot of fine work in it. But… I have a job to get done and I’m having a hard time reconciling the popularity of ZF against the reality of building apps with it. I would really like to know from others why they use zend framework.

I am fairly new to the PHP world but I’ve done a lot of programming in many languages. After reading many tutorials and building a couple of apps in it, some core zend framework facilities feel like alpha code to me. For me the following fundamental weaknesses, among others, would seem too overwhelming to consider deploying apps with it – but over and over again ZF is suggested as one of the, if not the leading framework.

First let me say I find the much of ZF to be workable.The price of bitcoin routing works pretty much as it should, the layout facility is serviceable (though very different from templating systems such as JSP/ASP), as is the cache facility, etc. There seems to be a tendency in the community to stuff a lot of modeling (e.G. Validation) and view logic (e.G. $this->headscript() – why should my controller have to care which js file my view requires?) into controllers but could be a matter of usage and not necessarily the framework’s fault.

Now for a couple of really serious (IMO) weaknesses I’ve experienced in my short time with it. I shudder to imagine the other areas I will discover in the future if I continue to build with it.

1. Form layout

Many people seem to be unhappy with the lack of control over form layout. How can you have a popular framework where constructing a simple form requires so much discussion?The price of bitcoin

Question 1 and question 2.

2. Authentication/authorization

No one really seems to understand how to simply perform routine authentication/authorization. People [including yours truly] struggle with implementing simple access control. Further, the approach seems to lean on serialization for persistence, rather than traditional database storage of users and permissions.

A confusing example, a proposal to enhance the facility, a tutorial – part I,

And part II. This is too much work guys!

Are my perceived weaknesses not real or somehow not a problem? Why or why not? Why did you choose zend framework (or not)? Are there other areas that you’ve found to be so painful that you want to dump ZF for a different approach? Thanks for your opinions.

Color me UNIMPRESSED with zendframework. Using zend framework is like welding a set of training wheels to your code.The price of bitcoin 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

the price of bitcoin

• 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.

Form layout:

It’s really easy. Decorators are a pain in the butt during your first contact with them, they’re just black magic. Then you realise how useful they are and that you can do almost anything with them. When you finally hit a point where decorators are just not enough, you can just render separate form elements in your view or even write your own form HTML. Consider this example:

Form $text = new zend form element text(‘text’);

$text->addvalidator(‘notempty’)->setrequired();

$submit = new zend form element submit(‘submit’);

View

Controller: $form = new form whatever();

If ($this-> request->ispost()) {

the price of bitcoin

If ($form->isvalid($this-> request->getpost()) {

// code

}

}

There you go. You have a form, you wrote its HTML manually, but you still benefit from ZF’s inbuilt validation. Why? Because you still create the form object in the controller and feed it the data sent via POST. You still get your filters, validators, anything you want. With any HTML you want. And you can also plug an external view to the form if you want to go extreme :).

Oh, by the way, did you know that your forms are reuseable? Yeah, you can write one form and use it in multiple places. No hassle. That’s what I personally like about forms in ZF (and dislike in codeigniter – which is a great framework too, by the way).

Authentication:

Zend framework: login password hash, email validator?

Yes, it’s only a small piece of code. You basically copy and paste it in your projects.The price of bitcoin

As for ACL, you just create your rules and then check them whenever you need them. A one liner. Can’t be simpler.

Personally, I think ZF is popular because it simply saves your money. If you put me in front of a project, I can guarantee you that I’ll finish it twice faster if you let me use ZF instead of another framework I know. And probably a fraction of the time I’d need to do everything in baseline PHP. So that’s about it: saving time = saving money. Or earning you extra money – but either of the two rules, right?

I’m not sure if ZF is really the most popular PHP framework. I chose it after comparing it with other frameworks that do more stuff magically because they all seemed to hard to customize.

I think ZF is a good object oriented PHP MVC framework, but I don’t agree with some ZF approaches.The price of bitcoin for example, I only use zend form for filtering and validate data. All the HTML and presentation stuff are done at view scripts. The CSS is the responsible for the layout. If we need some changes most of the time changing only the CSS is enough. If I need to make the same form appear in many pages, I use it as a partial view script.

I don’t like to have to write a mapper for each model and to create a zend db table subclass for each database table. Instead I’m researching how to use other patterns for data access, or maybe doctrine.

What I don’t like about zend acl is that stores the ACL information in the ACL file. I would like to store that information in the database.

The good thing about this framework is that is easy make things your way.

Stack exchange

Network

• technology

• life / arts

• culture / recreation

the price of bitcoin

• science

• other

• stack overflow

• server fault

• super user

• web applications

• ask ubuntu

• webmasters

• game development

• tex – latex

• software engineering

• unix & linux

• ask different (apple)

• wordpress development

• geographic information systems

• electrical engineering

• android enthusiasts

• information security

• database administrators

• drupal answers

• sharepoint

• user experience

• mathematica

• salesforce

• expressionengine® answers

• stack overflow em português

• blender

• network engineering

• cryptography

• code review

• magento

• software recommendations

• signal processing

• emacs

• raspberry pi

• stack overflow на русском

• programming puzzles & code golf

• stack overflow en español

• ethereum

• data science

• arduino

• bitcoin

More (26)

• photography

• science fiction & fantasy

• graphic design

the price of bitcoin

• movies & TV

• music: practice & theory

• worldbuilding

• seasoned advice (cooking)

• home improvement

• personal finance & money

• academia

• law

More (16)

• english language & usage

• skeptics

• mi yodeya (judaism)

• travel

• christianity

• english language learners

• japanese language

• arqade (gaming)

• bicycles

• role-playing games

• anime & manga

• puzzling

• motor vehicle maintenance & repair

More (32)

• mathoverflow

• mathematics

• cross validated (stats)

• theoretical computer science

• physics

• chemistry

• biology

• computer science

• philosophy

More (10)

• meta stack exchange

• stack apps

• API

• data

• area 51