Skip to content
This repository has been archived by the owner on Jan 16, 2019. It is now read-only.

Docs Upgrade

Frank Kleine edited this page Apr 7, 2012 · 1 revision

Table of Contents

Upgrade Guide

This upgrade guide contains hints on what to do and consider when upgrading from one version to another. It was introduced with release of the versions 1.4.0/1.3.0 and will be maintained for all future releases. There will be no upgrade guides for upgrading an older version then 1.3.0 to 1.3.0.

For all upgrades independent of the version it is always required to copy the contents of the release's lib folder into the lib folder of your application.

1.6.x to 1.7.x

Websites & web applications

With 1.7.x the web applications succeed the previous websites stuff. While 1.6.x websites should run with 1.7.x without problems it is advised to switch to the new web application configuration. See Webapp documentation.

Because of this some classes changed their package and name. The old full qualified class names can still be used for loading, this will result in loading the new classes. Here is a list of all class name changes. Please be aware that the old class names are deprecated and will be removed with the next minor or major version.

Old name New name
net::stubbles::websites::cache::stubAbstractWebsiteCache net::stubbles::webapp::cache::stubAbstractWebsiteCache
net::stubbles::websites::cache::stubCachingProcessor net::stubbles::webapp::cache::stubCachingProcessor
net::stubbles::websites::cache::stubCompositeWebsiteCache net::stubbles::webapp::cache::stubCompositeWebsiteCache
net::stubbles::websites::cache::stubDefaultWebsiteCache net::stubbles::webapp::cache::stubDefaultWebsiteCache
net::stubbles::websites::cache::stubDummyWebsiteCache net::stubbles::webapp::cache::stubDummyWebsiteCache
net::stubbles::websites::cache::stubGzipWebsiteCache net::stubbles::webapp::cache::stubGzipWebsiteCache
net::stubbles::websites::cache::stubLoggingWebsiteCache net::stubbles::webapp::cache::stubLoggingWebsiteCache
net::stubbles::websites::cache::stubWebsiteCache net::stubbles::webapp::cache::stubWebsiteCache
net::stubbles::websites::cache::stubWebsiteCacheProvider net::stubbles::webapp::cache::stubWebsiteCacheProvider
net::stubbles::websites::processors::auth::stubAuthHandler net::stubbles::webapp::auth::stubAuthHandler
net::stubbles::websites::processors::auth::stubAuthProcessor net::stubbles::webapp::auth::stubAuthProcessor
net::stubbles::websites::processors::routing::stubAbstractProcessable net::stubbles::webapp::xml::route::stubAbstractProcessable
net::stubbles::websites::processors::routing::stubProcessable net::stubbles::webapp::xml::route::stubProcessable
net::stubbles::websites::processors::routing::stubRoute net::stubbles::webapp::xml::route::stubRoute
net::stubbles::websites::processors::stubAbstractProcessor net::stubbles::webapp::processor::stubAbstractProcessor
net::stubbles::websites::processors::stubAbstractProcessorDecorator net::stubbles::webapp::processor::stubAbstractProcessorDecorator
net::stubbles::websites::processors::stubProcessor net::stubbles::webapp::processor::stubProcessor
net::stubbles::websites::processors::stubProcessorException net::stubbles::webapp::processor::stubProcessorException
net::stubbles::websites::xml::generator::stubModeXMLGenerator net::stubbles::webapp::xml::generator::stubModeXmlGenerator
net::stubbles::websites::xml::generator::stubRequestXMLGenerator net::stubbles::webapp::xml::generator::stubRequestXmlGenerator
net::stubbles::websites::xml::generator::stubRouteXMLGenerator net::stubbles::webapp::xml::generator::stubRouteXmlGenerator
net::stubbles::websites::xml::generator::stubSessionXMLGenerator net::stubbles::webapp::xml::generator::stubSessionXmlGenerator
net::stubbles::websites::xml::generator::stubVariantListGenerator net::stubbles::webapp::xml::generator::stubVariantListGenerator
net::stubbles::websites::xml::generator::stubXMLGenerator net::stubbles::webapp::xml::generator::stubXmlGenerator
net::stubbles::websites::xml::generator::stubXMLGeneratorFacade net::stubbles::webapp::xml::generator::stubXmlGeneratorFacade
net::stubbles::websites::xml::routing::stubAbstractXmlFormProcessable net::stubbles::webapp::xml::route::stubAbstractXmlFormProcessable
net::stubbles::websites::xml::routing::stubXmlFormProcessable net::stubbles::webapp::xml::route::stubXmlFormProcessable
net::stubbles::websites::xml::skin::stubCachingSkinGenerator net::stubbles::webapp::xml::skin::stubCachingSkinGenerator
net::stubbles::websites::xml::skin::stubDefaultSkinGenerator net::stubbles::webapp::xml::skin::stubDefaultSkinGenerator
net::stubbles::websites::xml::skin::stubSkinGenerator net::stubbles::webapp::xml::skin::stubSkinGenerator
net::stubbles::websites::xml::skin::stubSkinGeneratorProvider net::stubbles::webapp::xml::skin::stubSkinGeneratorProvider
net::stubbles::websites::xml::stubShowLastXMLInterceptor net::stubbles::webapp::xml::stubShowLastXmlInterceptor
net::stubbles::websites::xml::stubXMLProcessor net::stubbles::webapp::xml::stubXmlProcessor
net::stubbles::websites::xml::stubXmlProcessorTramsformer net::stubbles::webapp::xml::stubXmlProcessorTramsformer
net::stubbles::websites::variantmanager::types::stubAbstractVariant net::stubbles::webapp::variantmanager::types::stubAbstractVariant
net::stubbles::websites::variantmanager::types::stubConfigurableVariant net::stubbles::webapp::variantmanager::types::stubConfigurableVariant
net::stubbles::websites::variantmanager::types::stubDummyVariant net::stubbles::webapp::variantmanager::types::stubDummyVariant
net::stubbles::websites::variantmanager::types::stubLeadVariant net::stubbles::webapp::variantmanager::types::stubLeadVariant
net::stubbles::websites::variantmanager::types::stubRandomVariant net::stubbles::webapp::variantmanager::types::stubRandomVariant
net::stubbles::websites::variantmanager::types::stubRequestParamVariant net::stubbles::webapp::variantmanager::types::stubRequestParamVariant
net::stubbles::websites::variantmanager::types::stubRootVariant net::stubbles::webapp::variantmanager::types::stubRootVariant
net::stubbles::websites::variantmanager::types::stubVariant net::stubbles::webapp::variantmanager::types::stubVariant
net::stubbles::websites::variantmanager::stubAbstractVariantFactory net::stubbles::webapp::variantmanager::stubAbstractVariantFactory
net::stubbles::websites::variantmanager::stubVariantConfigurationException net::stubbles::webapp::variantmanager::stubVariantConfigurationException
net::stubbles::websites::variantmanager::stubVariantFactory net::stubbles::webapp::variantmanager::stubVariantFactory
net::stubbles::websites::variantmanager::stubVariantSettingPreInterceptor net::stubbles::webapp::variantmanager::stubVariantSettingPreInterceptor
net::stubbles::websites::variantmanager::stubVariantSwitchPreInterceptor net::stubbles::webapp::variantmanager::stubVariantSwitchPreInterceptor
net::stubbles::websites::variantmanager::stubVariantCookieCreator net::stubbles::webapp::variantmanager::stubVariantCookieCreator
net::stubbles::websites::variantmanager::stubVariantsMap net::stubbles::webapp::variantmanager::stubVariantsMap
net::stubbles::websites::variantmanager::stubVariantsPreInterceptor net::stubbles::webapp::variantmanager::stubVariantsPreInterceptor
net::stubbles::websites::variantmanager::stubXmlVariantFactory net::stubbles::webapp::variantmanager::stubXmlVariantFactory

rdbms::persistence package

Instantiation of net::stubbles::rdbms::persistence::creator::stubDatabaseCreator, net::stubbles::rdbms::persistence::eraser::stubDatabaseEraser, net::stubbles::rdbms::persistence::finder::stubDatabaseFinder and net::stubbles::rdbms::persistence::serializer::stubDatabaseSerializer has been changed. Up to 1.6.x those classes could not be created using the IoC mechanism, you had to create those classes as follows:

$creator = new stubDatabaseCreator(new stubDatabaseQueryBuilderFactory());

With 1.7.0 this changed, all four classes can now be created via the IoC mechanism which means you can get them injected into your own classes. No special bindings need to be configured for this. The way mentioned above does not work any more, the net::stubbles::rdbms::querybuilder::stubDatabaseQueryBuilderFactory class was removed.

1.5.x to 1.6.x

Annotations

If you load specific annotation classes in your tests (or in your production code) you should remove those imports. Specific annotation classes are deprecated and will be removed with next minor version. For most annotations your code should work like before after removing loading of the annotation. However, there are some exceptions:

@ProvidedBy

Code which uses the provided by annotation like this

$class->getAnnotation('ProvidedBy')->getProviderClassName()
should be changed to
$class->getAnnotation('ProvidedBy')->getProviderClass()->getFullQualifiedClassName()

Case sensitivity

Annotation property names are now case sensitive. This means, if you have written e.g. @XMLTag(tagname='foo') this will not work any more. This needs to be corrected to @XMLTag(tagName='foo').

Filter annotations

Due to the change filter annotations can not create the filter itself any more. If you have created your own filter annotations you need to create filter annotation readers instead, see Define your own filter annotation.

XJConf

Stubbles 1.6.x is the last Stubbles series which bundles XJConf for PHP. Inside Stubbles there are no dependencies to XJConf any more, so the bundling will be discontinued, being 1.7.0 the first release without XJConf. This also means the the net::stubbles::util::xjconf package will no longer be part of the framework release. We will provide a separate star release with the package only starting from 1.7.0. You can decide to either use this separate package in the future or to switch you XJConf based configurations to not use XJConf any more.

1.4.x to 1.5.x

Change how scoped bindings are configured: instead of

$binder->bind('MyInterface')->to('MyImplementation')->in(stubBindingScopes::$SINGLETON);
$binder->bind('OtherInterface')->to('OtherImplementation')->in(stubBindingScopes::$SESSION);
use
$binder->bind('MyInterface')->to('MyImplementation')->asSingleton();
$binder->bind('OtherInterface')->to('OtherImplementation')->inSession();

1.3.x to 1.4.x

Upgrade all calls to the request API to the new methods described in Working with request data.

Clone this wiki locally