ZF-7260: Zend_Tool Features for 1.9
-PHP Config processing- ** -Should we use specific keys to do ini_set at zf.php startup time- *** -include_path- *** -error_settings, etc (downside is that we can only change runtime values)-
Zend_Tool Configuration ** Local storage will be inside $ZF_HOME *** -$ZF_HOME known as $HOME/.zf/ (unless env var says otherwise)- **** -should we support both $HOME/zf.ini and $ZF_HOME/zf.ini ?- *** -$client->getConfig()->getRealPath('profiles/default.xml') would return the full path to $ZF_HOME/profiles/default.xml if it exists or false-
-zf.php- ** -Will process the ini first as parse_ini()- *** -this will allow us to extract php settings- *** -Will be processed a second time when Zend_Tool_Client_Configuration (or _Options) has a chance to get the file and run. This will use Zend_Config and will be Zend_Config writable-
Provider changes ** any delete() actions will check to see if a force option is set in ini, if so then it will not ask if its ok to delete something ** -Provider will check the directory for profiles/default.xml- ** -Provider will support --profile-name $name, where $name is profiles/$name.xml- ** Module Provider will check directory for profiles/modules.xml before attempting to clone the application node.
Context changes ** search for known key for content on specific context actions *** create(), for example, should look for context.htaccess.create.content OR context.htaccess.create.codeGenerator **** key would be a path to a file that has either a codeGenerator script (user would have to know to use the provied $codeGenerator object, and know its type) *** other actions should always look for a codeGenerator
Setup Script ** Should only live in svn ** Its purpose: *** setup (interactively) $ZF_HOME *** copy the default.xml & module.xml profiles *** create the stock zf.ini file *** interactively get values and confirm values **** include_path **** loaders **** Zend Framework path
Zend_Tool new Loader ** There will be a new loader introduced, it will take paths and recurse them. ** Functionality will be pulled from includPathLoader, and IncludePathLoader will extend this loader. (Or a base loader will be used) ** Loader will check for config values: *** client.loader.paths