分享

OSCOM v3.0 Framework Optimized For PHP v5.3

 sumi2005 2014-10-19

OSCOM v3.0 Framework Optimized For PHP v5.3

PHP v5.3 and Namespaces

We’re excited to announce the framework for osCommerce Online Merchant v3.0 is being optimized to use the newer features PHP v5.3 provides, primarily focusing on implementing namespaces into the core. In addition to namespaces, the namespace coding standards defined by the PHP Standards Working Group will be supported to bring in a great level of flexibility with integrating other framework libraries such as Zend Framework v2.0 and Symfony v2.0.

Sites and Applications

Implementing namespaces into the core brings a lot of structural changes to the framework of where and how class files are located and defined, especially to the scope they now play an active role in. Each part that consists of osCommerce Online Merchant (the Shop front-end, the Administration Tool back-end, and the Installation routine) are now separated into “Sites” loaded through a core OSCOM controller (short for OSCommerce Online Merchant).

Each Site defines its own classes to use and can import classes from the core (eg, Database, Session, Cache, ..) and from other Sites to use and extend existing functionality and features. This allows new parts of a website to be easily created and added to the installation to provide even more features to the sites users.

Each sections of a Site (eg, Shop Account and Checkout pages) are now separated into “Applications”, again with each Application defining its own classes to use and can import classes from other Applications and Sites to use and extend existing functionality and features.

Imagine creating and integrating CMS, Blog, Forum, Gallery, .. Sites into your installation utilizing the framework of OSCOM :-)

High level of flexibility alert: Please note that we will always be dedicated to “e-commerce” and focusing on providing a core solution for developers to extend on and for store owners to use.

The Developers Worst Nightmare is the Store Owners Peaceful Dream

The road to OSCOM v3.0 has been long, stemming back from v2.2 Milestone 3 and maturing throughout the v3.0 Alpha releases. This long journey has never been about adding new features into the core to stop at and to possibly include a kitchen sink, but a long journey of improving a procedural based codebase and striving for a perfect, high quality level, framework to use as our foundation for future releases that can also be easily extended on. We’re never going to reach “perfect”, but we’re close and the result between v3.0 and v2.2 are clearly worlds apart.

We want to pass this result to developers and want to share and see the same high level of quality being placed into the Add-Ons they make available.

This won’t be achieved with a simple text file document titled “coding_standards.txt”, but actually utilizing OOP (Object-Oriented Programming) design methods in the framework. This stems across the visibility of class methods and properties (public, protected, and private), to abstraction (subclasses, abstracts, and interfaces), to design patterns.

Not only does the framework utilize PHP v5 OOP features, but is also set to log each and every programming error encountered, from fatal errors that stop further loading of the application, to simple notice messages when undefined variables are accessed.

Our goal is to deliver OSCOM v3.0 without any errors logged at the highest possible level (E_ALL | E_STRICT), and force this requirement onto developers to provide the same results with their Add-Ons.

The PHP v5.3 Minimum Requirement

We’re aware that the PHP v5.3 minimum requirement is a high requirement to place on OSCOM v3.0. The changes involved in optimizing for PHP v5.3 are huge, and the timing is actually perfect to get those in now with v3.0 to make upgrading to future v3.0.1, v3.0.2, v3.1, v3.2, .. releases as easy as possible.

With this, we also want to help push the adoption rate of PHP v5.3 on web hosting service providers.

Please note that real PHP v5.3 optimizations are being referred to, and not simple PHP v5.3 compatibility changes.

Progress to v3.0

There is still a lot of work ahead of us in optimizing the framework for PHP v5.3, and there are still a lot of structural changes to make to the framework. Changes are being regularly pushed to my repository on Github which will be merged to the main repository as soon as the changes have stabilized.

A page has been set up on our Documentation site to show the current progress of the changes made and changes still to make. This page is available here:

http://www./confluence/display/OSCOM30/

A proper versioning system is also being placed onto our releases - we are no longer going to publish Milestone, Release Candidate, Alpha, and Beta releases, but proper X.X.X releases, starting with v2.2 and v3.0. Yes, our next releases will be v2.2 and v3.0, followed by v3.0.1, v3.0.2, v3.1, ..

Upgrading to v3.0

Existing osCommerce Online Merchant v2.2 and v3.0 Alpha 5 store owners will be able to upgrade to v3.0. The upgrade path is actually a migration path that will copy the core database data to a new database v3.0 is installed on. The advantage of using a separate database is to not alter any of the data from the v2.2 installation, to test and to customize the v3.0 installation before making it live for public use.

The migration tool will be implemented within the new Setup Site and will be made available with the release of v3.0 or shortly afterwards depending on our schedule.

Please note that the migration tool can only import data from the standard v2.2 database schema. Any Add-Ons installed that utilize the database will need to provide their own migration tools when they release for v3.0.

Community Feedback

Feedback to this blog entry can be posted on the following topic in the community support forums:

http://forums./topic/358932-oscom-v30-framework-optimized-for-php-v53/

We look forward to receiving your feedb

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多