Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improvements #4

Closed
6 of 26 tasks
sagikazarmark opened this issue Dec 11, 2015 · 2 comments
Closed
6 of 26 tasks

Improvements #4

sagikazarmark opened this issue Dec 11, 2015 · 2 comments
Milestone

Comments

@sagikazarmark
Copy link

Apart from the changes I suggested in the previous issue, I have a few ideas to improve package quality:

  • Coding Standard/Style:
    • Add CS checking
    • Docblocks
      • Remove "noise" (like: string $url The URL <- Makes no sense IMO)
      • Add dockblocks when missing
      • Fix dockblocks where something is wrong (like Entitymanager instead of RouteInterface
    • Add editorconfig
  • Code
    • Array typehints (setImages, setVideos)
    • Drop Interface suffix: Symfony, Zend and the FIG still pushes it, but fortunately more and more developers realize, it's evil (reference: http://verraes.net/2013/09/sensible-interfaces/)
    • Separate AbstractProvider into smaller components: extract route generation logic
    • Remove BaseFormatter
  • Package
    • Add a Changelog
    • Add a CONTRIBUTING guide
    • Remove unnecessary defaults from PHPUnit config
    • Add the Contributor Code of Conduct
    • Change to PSR-4 autoloading (and remove unnecessary custom ones)
    • Separate components requiring external dependencies into separate packages (doctrine, propel)
    • Unit test against lowest dependencies
  • New Features
    • Add support for custom types: http://www.sitemaps.org/protocol.html#extending
    • Add support for setting sitemap options directly in route options (RouteCollectionProvider)
    • Add a caching layer for providers with expensive calculations
    • Add a ChangeFrequency class/interface with common change constants
    • Introduce streaming somehow to improve memory efficiency

These are the things I have in my mind so far.

I marked BC breaking changes with italic. In these cases TODOs and deprecation warnings should be triggered.

Ultimately I think this project could also have it's own organization. Like sitemaphp (which I immediately registered, just in case :D, can invite you if interested)

There are many others as well, but I found yours to have the most decent API and workflow (actually I started to develop exactly the same)

@K-Phoen K-Phoen added this to the 2.0 milestone Jan 2, 2016
@K-Phoen K-Phoen mentioned this issue Jan 2, 2016
24 tasks
@K-Phoen
Copy link
Member

K-Phoen commented Jan 3, 2016

I referenced the improvements you listed here in a new issue that will contain the things I want to see in a new version. I also have created separated issues for some of the items listed here.

Feel free to contribute if you're interested :)

@K-Phoen K-Phoen closed this as completed Jan 3, 2016
@sagikazarmark
Copy link
Author

Will do, thanks for reply and consideration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants