Riskle Brainstorming

History Key

  • New content
  • Removed content

Recent Versions

Choose two versions to compare, or click the link to view it.

  1. 7. over 4 years by geoffrey
  2. 6. over 4 years by geoffrey
  3. 5. over 4 years by geoffrey
  4. 4. over 4 years by geoffrey
  5. 3. over 4 years by geoffrey
  6. 2. over 4 years by geoffrey
  7. 1. over 4 years by geoffrey
 

This page holds all ideas I have to extend ZF, I aim at the following goals:

  • make code less verbose
  • conventions over configuration
  • speed up app developement with ZF
  • follow the DRY principle

Configuration file format + default configuration file

YAML is a format which is less verbose than INI and more (human) readable than XML. There should be a default standard configuration written in YAML (possibly compiled in php somewhere, depending on performances) with all needed directives explained.

CLI tools

CLI Tools can be useful in a bunch of situations:

  • Generate classes skeleton (controllers+views, models)
  • Generate a bootstrap

Filesystem layout convention

Some components could assume a default underlying filesystem convention, such as:

  • Controller_Front (module directories)
  • Config (where to find config files)
  • Layout (where to find layouts)

Automatic view variables assignements

One should have to $view→assign() each variable he’s willing to use in its view. There could be some kind of mechanism which would grab the controller’s public variable to inject them into the view (ala rails)

Models usage

It’s a pain in the ass having to instanciate each and every model you’re gonna use. While I do agree on the design, there must be some solutions to ease the process.

Easy table relationships declaration

Relationships between database tables should be easy to express. One single statement telling the children table name should suffice, with convention on the name of the keys to use for the join.

Have an adapted behavior depending on the environment

Applications should have a set of pre-defined behavior depending on the staging:

  • Development
    • Automatic query logging
  • Testing
  • Production
    • Fine-tuned for performance

Glue all these nice improvements together

These are of no use if you have to invoke all these nifty things yourself :-)