Nette Framework 2.0 final released!
- David Grudl
- Nette Core | 8229
After years of development, after alpha & beta versions and 3 release candidates, we are very proud to announce the immediate availability of Nette Framework 2.0 final.
Nette Framework 2.0 has many innovations, some of them are unique in the PHP world:
- full Dependency Injection support, extensively used in whole framework
- new database layer with integrated awesome library NotORM
- completely rewritten Latte, very handy templating language
- customizable Debugger, developer's little helper with a lot of predefined panels
- new markup language NEON
- new ways to configure framework and applications
- Nette stays to be one of the most secured framework in the world
…and a lot lot lot of enhancements in every part of framework.
Nette Framework also comes with new and great documentation. How to get started? Try Quick Start tutorial.
Nette Framework 2 is released. It's time to celebrate!
- Roman Pištěk
- Member | 10
It was really awesome to watch you grow, Nette! Now it's time to look for partners all around the world. :-)
- Pavel Kouřil
- Member | 128
I'm really glad to hear that! Gonna upgrade most apps to 2.0 final next week. :)
- redhead
- Member | 1313
I didn't really follow the development of Nette lately, I just wondered if features like the @role, @ajax, @allowed annotations which David showed in this presentation were implemented, because I thought it'll be cool. Or was it just a “fake”?
- Patrik Votoček
- Member | 2221
Nope it's just moved to next release (2.x). Because we really need stable release.
- David Grudl
- Nette Core | 8229
Application
- better directory structure
- default template for error codes 4xx, 403, 404, 405, 410 and 500
- transmission of persistent parameters to the error-presenter
- Route: support for the default values
new Route('<presenter=Homepage><action=default>')
- Route: shortcut
Presenter:action
(forum) - changed
IRouter::constructUrl()
second argument toNette\Web\Uri
. - support for rapid prototyping via via
$router[] = new Route('login', function() {...})
- solve complications with store & restoreRequest & flashMessage
Templates
- remove at-sign @ from templates
- unification of all macros syntax
- syntax enhancement
{=$var ? item}
arrays{=[a, b, c]|join:' '}
comments{var $prom = 123 /*, $name = ahoj*/}
and array expansion{link default $id, (expand) $args, lang => cs}
- new syntax
{var $prom = 123, $name = ahoj}
- new macros
{first}, {last}, {sep}
and{l} {r}
- improved
{cache}
(forum) - new attributes
n:class
an:href
- extension
.latte
- automatic check of the crossing and not closing tags
- refactoring LatteMacros into more classes
- new way how to add Latte macros
- support for XML in Latte
- new form macros
{form} {label} {control}
- new form attribute
<input n:name="email" ...>
Debug
- added Debug Bar
- added template for error 500 (in production)
- URL or command line is logged
- added
Debug::log($message [, $priority])
- added
Nette\Debug::$scream = TRUE
- clickable file names in “bluescreen”
- FirePHP replaced with FireLogger
- detection of developer / production environment with proxy servers
- hiding “bluescreen” via ESC
- added UserPanel
Forms
- InstantClientScript replaced with Unobtrusive JavaScript (forum)
- added support for HTML5
- added validator Form::IMAGE
Caching
- added
ICacheJournal
andFileJournal
- added
Nette\Caching\MemoryStorage
- supports any variables as keys in a cache
Depencency Injection
- implemented configurable DI container with autowiring
- deprecated
Environment
- all classes (except Form) are independent on
Environment
Nette\Web\HttpRequest
is created viaHttpRequestFactory
- new config modes
others
- new namespaces
- added NEON, language for writing configuration
- added
Nette\Finder
(forum) - added
SmtpMailer
(forum - added
Nette\String::length(), compare(), toAscii()
and safe regular expression viasplit(), match(), matchAll()
,replace()
andArrayTools::grep()
- added
Nette\Json
- added
CallbackFilterIterator, RecursiveCallbackFilterIterator, MapIterator
- added support for data attributes in
Nette\Web\Html
(forum) RobotLoader
supportsnetterobots.txt
RobotLoader
detects file movingloader.php
defines constantsNETTE, NETTE_VERSION_ID & NETTE_PACKAGE, NETTE_DIR
loader.php
resetserror_reporting
(na E_ALL + E_STRICT),iconv.internal_encoding, mbstring.internal_encoding
na UTF-8- created new testing framework
Nette Tests
- added tool
Code-Checker
- created tool APIGEN for generation API documentation
- added
Nette\Framework::$iAmUsingBadHost = TRUE
- Honza Kuchař
- Member | 1662
Congratulations! And what about migration tutorial from 0.9 to 2.0? I think it is more than necessary.