Ideas for further development of Nette
- David Grudl
- Nette Core | 8227
My TODO list for further development.
It will be great if you would like work on any topic. I'm not asking you to create pull requests, a lot of ideas should be discussed at first.
Latte
independence, which involves integration of Nette\Templating and finding templates from UI\Presenter into Lattedoneremove PhpFileStorage – it creates dependency in Latte and DI to Nette\Caching, although the templates and the DI container should be cached only to PHP filedonetemplate Factory, that will be used bydoneControl::createTemplate
- Dot syntax – draft rules for
$dot.syntax
, eliminating the need to use getters from Nette\Object Pseudofunction – mapping global calls likefunc(...)
to own functionsSandbox mode – be able to spy and possibly restrict which methods are called in templateParsing of macros – tokenize macro already in Parser, addParser::CONTEXT_MACRO
Local modifiers which can be used in expressions($var|mod:10, 20)
Source map generatorModifiers vs escaping – eg nl2br modifier should says that it wants already escaped input
Tracy
Moving to Tracy – rewrite Nette to use TracydoneAjax loading for DebugBar
UI\Presenter
Remove $context from ControldoneCSRF links protection- Do not send headers directly into the Response
Nette\Routing – general routing, where “presenter” is just a parameter- store & restoreRequest move into new service (in progress)
- secure modules – you can configure, that a module requires an authorization
remove BasePresenter, replace with compositionpersistent parameters without inheritance
Forms
- netteForms.js object – rewrite static stuff to object
- netteForms.js live validation – you can easily use live validation
netteForms.js events – attach a click and change events (for toggle) and submit to body- add Forms\IValidator – adds support for complex validators, with own JS export
- configurable Form::URL and Form::EMAIL – which type of URL accept? Check domain in email?
do not validate blank elements when they are not required
Other
separated parts – Tracy, Latte, Databasedonelogging withnout session via hash stored in the cookie and reading the identity from DB- local autowiring – example: each Nette\Database\Context (per connection) will autowire its Nette\Database\Connection
Bool parameters – suggest how to get rid of the bool parameter from methods- Authorizer without roles
Neon enhanced syntaxdoneNeon source map generator
Examples & Tools
- Login via Facebook/Twitter – add example
- Linked select boxes – add example
- Dynamic forms, like adding addresses
- Presenter generator from command line
Tester
- add tool for mocking
- mkoubik
- Member | 728
Recently I've been integrating latte into symfony (still work in progress). Maybe some ideas can be helpful for separating latte from nette.
- I've found out that
Nette\Latte\Engine
serves two purposes at the same time so I separated it intoTemplating\LatteFilter
andLatte\CompilerFactory
. - finding templates from UI\Presenter into Latte – I have it in my TODO so maybe I could solve it framework-agnostic way.
- template factory – I use event listeners for this.
- Filip Procházka
- Moderator | 4668
I have Facebook login, should I write an article about it to pla.nette ?
- Jan Tvrdík
- Nette guru | 2595
@David Grudl: Nice list! Hopefully I'll find something that I can help with.
- enumag
- Member | 2118
Latte
- Dot syntax: What about symfony/property-access?
- template Factory: Meaning as service or sth else?
UI\Presenter
- service for store & restoreRequest: Already got one, I'll try to send a PR.
- secure modules: Isn't it better to do this on Presenter-level via annotations?
Other
- Authorizator without roles: We might want to revive my RFC from last year.
Tester
- add tool for mocking: Just use Mockery, please. :-)
Last edited by enumag (2014-02-03 23:00)
- bazo
- Member | 620
As for the separation of different Nette parts i would really love to see the two things as separate package:
Config and DI – i find myself writing a lot of console apps or small REST
app where i use only configuration and DI from Nette
Router – Nette router is simply the best and deserves to be standalone
- Milo
- Nette Core | 1283
Milo wrote:
Long list indeed!
I already quickly tried to separate
Diagnostics
and replace it byTracy
. I'll post a summary during February.
So, there is a result. I didn't do so much I wanted but it brings pretty nice overview.