Frequently Asked Questions


What are the Requirements?

DStruct is built to work on PHP 5.3 and up. APC is highly recommended, but not required. If you want to use the SMTP Email functionality, you will need the PEAR Mail and Mail_mime packages.

What license is DStruct using?

DStruct is distributed under the permissive Apache License, version 2.0. From Wikipedia:

"Like any free software license, the Apache License allows the user of the software the freedom to use the software for any purpose, to distribute it, to modify it, and to distribute modified versions of the software, under the terms of the license, without concern for royalties."

DStruct is distributed under this license with the intention of giving you as much freedom from restrictions about what you can do with the software as possible. The license is GPL compatible and designed to protect you and us and promote collaboration and sharing. For more information, read the license itself and the Wikipedia article linked above. There is also an interesting article here which gives very good reasons why the Apache license is good for everyone: Why we chose the Apache License.

Can I modify / re-distribute / fork / sell works containing DStruct?

Yes. You can do all of this and more. See the What license is DStruct using? question for more.

Can I get involved?

Absolutely. We'd love to receive your code contributions. If you think you can help in any way then just get in contact and let us know what you'd like to do for the project. We'd love to see DStruct get more useful features, documentation etc and be generally improved.

Why use DStruct rather than [xxxxx] framework?

There are lots of great frameworks out there, but they are not always suitable for the specific needs of the project. Some framworks force you to work in a certain way, others may be rather 'heavy' for what you want to do, maybe because they are maintaining compatibility with older versions of PHP. Perhaps the learning curve is high and you only want to write a quick application?

I found a bug. What now?

Sorry about that. DStruct is still undergoing a lot of development and like all software, there will be bugs. If you find one, please let us know - it would be very helpful and we try to fix all bugs as soon as possible. We've tried to make the codebase as simple to understand as possible, so if you want to have a go at fixing the bug yourself and sending us the fix then that would be even better!

[insert feature here] isn't documented / documentation is unclear. Can you fix it?

We're still working on the documentation. If you have a query then let us know and we will try to help. If you think that part of the documentation is not clear or misleading, again, let us know and we will do our best to sort it out as quickly as possible.